Core Function GUIMsgFilter
From Sputnik Wiki
GUIMsgFilter( <gui>, <command> )
Contents |
Description
Use a function to recieve all messages windows sends to the GUI window (HWND, MSG, WPARAM, LPARAM).
Parameters
gui
The GUI to link the MsgFilter to.
command
Either a command to execute or a function to call etc.
Return Value
Success: Returns 1. Failure: Returns 0.
Examples
// Create a new GUI Glob $GUI = GUICreate("GUI", 200, 200); GUISetState($GUI, @Show); // Create the GUI objects $b1 = GUICreateButton($GUI, "My Button", "Send", 8, 8); // Add a few links GUILink($b1, @lClick, 'Send();'); // Create the GUI msgFilter GUIMsgFilter($GUI, "myMsgFilter();"); // Loop while GUI is active Until ( GUIState( $GUI ) == @sClosed ) { DoEvents(); // DoEvents to keep the GUI working fine } // When you create a msgfilter 4 variables are automatically created for you // $HWND // $MSG // $WPARAM // $LPARAM // All them names should be familiar to you Function myMsgFilter() { println("HWND: " . $HWND . " | MSG: " . $MSG . " | WParam: " . $WParam . " | LParam: " . $LParam); return 0; // If you return HIGHER than 0 the msgfilter will be removed } // The button click goes here this will simply just be something to test out the msgFilter Function Send() { $Handle = GUIGetProp($GUI, "Handle"); // Get the HWND of our window // Send a message to the window containing 2 unique numbers 777 and 1337 // Just to see if they appear in the filter DLLCall("user32.dll", "PostMessage", "Int32", "iIII", $Handle, 160, 777, 1337); }