Könnte sich mal bitte jemand diesen Code ansehen?
Spoiler anzeigen
#include <GuiMenu.au3>
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Global Enum $m_skript, $hilfe, $test1
[/autoit] [autoit][/autoit] [autoit]$obl = RegRead("HKLM\Software\Bethesda Softworks\Oblivion", "Installed Path")
[/autoit] [autoit][/autoit] [autoit]If FileExists($obl & "obse_loader.exe") Then
ShellExecute($obl & "obse_loader.exe", "-editor", $obl)
Else
Run($obl & "TESConstructionSet.exe", $obl)
EndIf
WinWaitActive("TES Construction Set")
$hWnd = WinGetHandle("TES Construction Set")
$tes4 = _GUICtrlMenu_GetMenu($hWnd)
$tes4bot_skript = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($tes4bot_skript, 0, "Test &1", $test1)
$tes4bot = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($tes4bot, 0, "Skript &1", $m_skript, $tes4bot_skript)
_GUICtrlMenu_InsertMenuItem($tes4bot, 1, "", 0)
_GUICtrlMenu_InsertMenuItem($tes4bot, 2, "Hilfe &9", $hilfe)
_GUICtrlMenu_InsertMenuItem($tes4, 6, "&tes4bot", 0, $tes4bot)
_GUICtrlMenu_DrawMenuBar($hWnd)
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]Do
Until Not WinExists("TES Construction Set")
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Switch _WinAPI_LoWord ($iwParam)
Case $test1
MsgBox(0, "", "1")
Case $hilfe
MsgBox(0, "", "2")
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Er fügt zu einem Game-Editor ein (noch) minimalistisches Menü hinzu. Doch dummerweise reagiert das Menü nicht auf Eingaben. Scite spuckt keine Fehler aus und das Programm läuft in der Endlosschleife, wo es eigentlich die Eingaben abfangen sollte.
PS: Der Code ist von einen Notepad-Beispiel aus der Hilfe kopiert und leicht angepasst. Ich habe ihn bereits verglichen, kann den Fehler aber nicht entdecken.