一个好用的Windows 函数
ShellExecuteEx是一个挺好用的Windows API函数,不但延续了ShellExecute 函数所具备的自动关联文件扩展名和应用程序的能力,还能够通过LPSHELLEXECUTEINFO 结构返回被执行程序的进程句柄,所以也可以在程序内终止该进程。
BOOL ShellExecuteEx(
LPSHELLEXECUTEINFO lpExecInfo
);
例如,在Wego中,我们用一个微小程序(C++)作为代理,启动Python所写的Wego主程序:
SHELLEXECUTEINFO Info;
memset(&Info,0,sizeof(Info));
Info.cbSize=sizeof(Info);
Info.lpVerb=L”open”;
Info.lpFile=L”e:\\\\lab\\wego\\Wego.py”;
Info.lpParameters=NULL;
Info.lpDirectory=L”e:\\\\lab\\wego”;
Info.fMask=SEE_MASK_NOCLOSEPROCESS;
Info.nShow=SW_HIDE;
ShellExecuteEx(&Info);
hp = Info.hProcess;