Core Function GUIMsgFilter

From Sputnik Wiki
Revision as of 20:54, 1 December 2011 by UberFoX (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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);
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox