Hallo liebe Community,
Ich versuche mich an Interprozesskommunikation und schicke dem TopWindow meines Scriptes eine WindowMessage.
Sobald ich im Skript eine GUI erstelle hängt es sich aber ohne Meldung auf. Warum?
#Include <Constants.au3>
#Include <WinAPI.au3>
#Include <WindowsConstants.au3>
$hDateGuiWrapper = GUICreate( "" )
;~ GUISetState() ; SOBALD DAS AUSKOMMENTIERT WIRD HÄNGT SICH DAS SKRIPT AUF OHNE FEHLERMELDUNG !!!!!
$hHook = DllCallbackRegister( '_WinProc' , 'ptr' , 'hwnd;uint;long;str' ) ; 1 - Callback vorbereiten:
$pHook = DllCallbackGetPtr( $hHook )
$autoItWin = WinGetHandle( AutoItWinGetTitle() )
$hProc = _WinAPI_SetWindowLong( $autoItWin , $GWL_WNDPROC, $pHook ) ; 2 - Window Proc austauschen
$WM_TEST = _WinAPI_RegisterWindowMessage( "testMessage" ) ; 3 - eigene Window-Message-Art erstellen:
[/autoit][autoit][/autoit][autoit]_SendMessage( $autoItWin , $WM_TEST , 55 , "Test" , 0 , "wparam" , "str" ) ; 4 - Testnachricht schicken
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Func _WinProc( $hWnd , $iMsg , $wParam , $lParam )
[/autoit][autoit][/autoit][autoit]Local $Res = _WinAPI_CallWindowProc( $hProc, $hWnd, $iMsg, $wParam, $lParam )
[/autoit][autoit][/autoit][autoit]if $wParam == 55 Then
Beep( 500, 200 )
EndIf
Return $Res
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit][autoit][/autoit][autoit]While 1
WEnd
Gruß
Blues