chenxu Posted August 1, 2008 Share Posted August 1, 2008 I wanna insert some menu items to an application to do something the application can't do, how? this is the unfinished code. I can successfully insert "test item" to the applicatoin, but when I click it, nothing happens, there should be a message box popup. Would please help me, thanks a lot $hWnd = WinGetHandle("Title of my application", "some text") $hMenu = _GUICtrlMenu_GetMenu($hWnd) $mi_test = 1000 _GUICtrlMenu_InsertMenuItem($hMenu, 0, "test item", $mi_test) GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") Sleep(2000000) Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) ConsoleWrite(_WinAPI_LoWord ($iwParam) & @CRLF) Switch _WinAPI_LoWord ($iwParam) Case $mi_test MsgBox(0, "", "") EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND Link to comment Share on other sites More sharing options...
Blue_Drache Posted August 1, 2008 Share Posted August 1, 2008 Basically, your code flows like this: Declare variables Insert item Register a message with an internal AUTOIT created GUI by calling a custom function Sleep for ... ever. Exit. Where's the test for when the user clicks on that menu? Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
baghenamoth Posted August 1, 2008 Share Posted August 1, 2008 that's an interresting feature, not perfect but it's a start : #include <GuiMenu.au3> $hWnd = WinGetHandle("C:\AutoIT\forum\new_menu.au3 - SciTE") $hMenu = _GUICtrlMenu_GetMenu($hWnd) _GUICtrlMenu_InsertMenuItem($hMenu, 0, "Menu Name") While 1 $state = _GUICtrlMenu_GetItemState($hMenu, 0) If $state<>0 Then myFunc($State) Sleep(500) WEnd Func myFunc($myState) MsgBox(0,"Menu State",$myState) EndFunc Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now