进程间的相互调用与参数传递【Delphi版】
<div id="cnblogs_post_body">一、主要场景a)主程序启动另外一个程序,并传递参数
b)主进程向一个已经运行中的程序传递参数
二、代码
1)调用程序:
<div class="cnblogs_code">varHWND: DWORD;ApplicationHWND:DWORD;beginHWND:=FindWindow('TFrmMain', '参数接收窗口');ApplicationHWND:=GetWindow(HWND,GW_OWNER);if HWND <> 0 thenbegin memo1.Lines.Add('参数接收程序已运行,向参数接收窗口投递消息。。。'); SendMessage(HWND,WM_TEST,0,0); SetForegroundWindow(HWND); SetActiveWindow(HWND); ShowWindow(ApplicationHWND, SW_RESTORE); // ShowWindow(HWND, SW_SHOWNORMAL); --此种方式会造成被调用的窗口无法最小化。。。endelsebegin memo1.Lines.Add('参数接收程序未运行,启动程序的同时传递参数。。。'); ShellExecute(Handle, 'Open', '..\ParamReceiver\ParamReceiver.exe', '参数1 参数2', nil, SW_SHOWNORMAL);end;end;
页:
[1]