@lexikos: That developer only said that I should avoid using it, and I didn't ask for details... Wow, ObjRegisterActive rocks! With such a powerful and flexible IPC method it really doesn't make sense to use StringIPC.Thank you for making & presenting ObjRegisterActive! First post updated.

[b]@lexikos[/b]: That developer only said that I should avoid using it, and I didn't ask for details... :(Wow, [url=http://ahkscript.org/boards/viewtopic.php?f=6&t=6148]ObjRegisterActive[/url] rocks! 8-) With such a powerful and flexible IPC method it really doesn't make sense to use StringIPC.Thank you for making & presenting [url=http://ahkscript.org/boards/viewtopic.php?f=6&t=6148]ObjRegisterActive[/url]! :)First post updated.

@lexikos: I absolutely agree that using WM_COPYDATA would be simpler. I know for majkinetor's IPC, and for OnMessage() example in AHK help, which use WM_COPYDATA.

However, one developer told me that I should avoid using WM_COPYDATA to exchange strings between processes. I also read about possible problems when using WM_COPYDATA (it was long itme ago, can't remember where). So that's the only reason I wrote this… Do you think that using WM_COPYDATA is reliable? Do you recommend it for sending strings between processes?

@joedf, Soft: Thx

[b]@lexikos[/b]: I absolutely agree that using WM_COPYDATA would be simpler. I know for majkinetor's IPC, and for OnMessage() example in AHK help, which use WM_COPYDATA.

However, one developer told me that I should avoid using WM_COPYDATA to exchange strings between processes. I also read about possible problems when using WM_COPYDATA (it was long itme ago, can't remember where). So that's the only reason I wrote this… Do you think that using WM_COPYDATA is reliable? Do you recommend it for sending strings between processes?

Your script seems surprisingly complicated. It doesn't use WM_COPYDATA, but it does use SendMessage/OnMessage plus a Gui and a bunch of Edit controls. It seems to me that using WM_COPYDATA would be simpler; IPC.ahk, for instance.

Your script seems surprisingly complicated. It doesn't use WM_COPYDATA, but it does use SendMessage/OnMessage plus a Gui and a bunch of Edit controls. It seems to me that using WM_COPYDATA would be simpler; [url=https://gist.github.com/Lexikos/a53855d5f782c10f5dfc]IPC.ahk[/url], for instance.

StringIPC :=new StringIPCClass("Alpha"); Creates "StringIPC" object and defines a name (address) of this process; "Alpha"StringIPC.SendMessage("Beta","Please do some stuff for me..."); Sends a message to "Beta" process with the following text; "Please do some stuff for me..."

>> This short video shows how StringIPC works - what's actually happening in background while processes are exchanging messages.

:!: [color=#FF0000][size=150]EDIT:[/size] instead of StringIPC class, it's recommended to use [url=http://ahkscript.org/boards/viewtopic.php?f=6&t=6148]ObjRegisterActive[/url], which is more powerful and flexible[/color]

>> Usage preview:[code=autohotkey file=Script.ahk]StringIPC := new StringIPCClass("Alpha") ; Creates "StringIPC" object and defines a name (address) of this process; "Alpha"StringIPC.SendMessage("Beta", "Please do some stuff for me...") ; Sends a message to "Beta" process with the following text; "Please do some stuff for me..."[/code]>> Download [url=https://dl.dropboxusercontent.com/u/171417982/AHK/StringIPC/StringIPC.zip][b]StringIPC.zip[/b][/url] which includes; StringIPC class, examples, documentation, license. Run both example scripts (Alpha & Beta) and press [c]F1[/c], [c]F2[/c], [c]1[/c], [c]2[/c] hotkeys to start exchanging messages. Press [c]Esc[/c] to exit.

>> This short [url=https://dl.dropboxusercontent.com/u/171417982/AHK/StringIPC/How%20StringIPC%20works.avi][b]video[/b][/url] shows how StringIPC works - what's actually happening in background while processes are exchanging messages.[url=https://dl.dropboxusercontent.com/u/171417982/AHK/StringIPC/How%20StringIPC%20works.avi][img]https://dl.dropboxusercontent.com/u/171417982/AHK/StringIPC/How%20StringIPC%20works.jpg[/img][/url]