piccaso Posted March 4, 2006 Share Posted March 4, 2006 but it doesent work right... only the 'int' part of the struct is forwarded Server:Global Const $WM_USER = 0x400 Global Const $UM_AU3MESSAGE = $WM_USER + 0x125 Global Const $STRUCTDEF_AU3MESSAGE = "char[256];int" $hWnd_Main = GUICreate("Au3MessageServer") GUIRegisterMsg($UM_AU3MESSAGE,"_Au3Message") Func _Au3Message($hWnd, $MsgID, $WParam, $LParam) ; $WParam = Pointer $Au3Message2 = DllStructCreate($STRUCTDEF_AU3MESSAGE,$LParam) MsgBox(0,"Server","Struct Size = " & DllStructGetSize($Au3Message2)) MsgBox(0,"Server","Struct 1 = " & DllStructGetData($Au3Message2,1)) MsgBox(0,"Server","Struct 2 = " & DllStructGetData($Au3Message2,2)) Return @AutoItPID EndFunc While 1 Sleep(250) WEndClient:Global Const $WM_USER = 0x400 Global Const $UM_AU3MESSAGE = $WM_USER + 0x125 Global Const $STRUCTDEF_AU3MESSAGE = "char[256];int" $hWnd_Server = WinGetHandle("Au3MessageServer") $Au3Message1 = DllStructCreate($STRUCTDEF_AU3MESSAGE) DllStructSetData($Au3Message1,1,"Test Blah Blah ...") DllStructSetData($Au3Message1,2,7568) MsgBox(0,"Client","Struct Size = " & DllStructGetSize($Au3Message1)) $r = DllCall("user32.dll","int","SendMessage", _ "hWnd",$hWnd_Server, _ "int",$UM_AU3MESSAGE, _ "int",0, _ "int",DllStructGetPtr($Au3Message1)) $Au3Message1 = 0 MsgBox(0,"Client","Server Return (Pid) = " &$r[0]) ; Kill Server ProcessClose($r[0]) any idea why DllStructGetData($Au3Message1,1) doesent return "Test Blah Blah ..." ? CoProc Multi Process Helper libraryTrashBin.nfshost.com store your AutoIt related files here!AutoIt User Map 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