我已经实现了一种方法来查找进程(“iexplore.exe”)是否正在运行,现在我需要从Inno Setup中找到关闭它的方法(终止进程)。Inno设置杀死正在运行的进程
strProg := 'iexplore.exe';
winHwnd := FindWindowByWindowName(strProg);
MsgBox('winHwnd: ' + inttostr(winHwnd), mbInformation, MB_OK);
if winHwnd <> 0 then
retVal:=postmessage(winHwnd,WM_CLOSE,0,0);
上述示例中的消息框始终返回0,因此无法获得句柄。 (在示例中的WM_CLOSE
常量被正确初始化) 我需要另一种方法来做到这一点,并希望不要写一个C++ DLL来做到这一点(我不熟练使用C++,我可能会写一个在C#中的DLL,但是我不知道Inno Setup是否会与之互操作)。
这个C#DLL会得到进程列表,遍历进程名称,找到匹配项(==“iexplorer”),然后用这个名字杀死进程...但是我仍然希望找到一个更容易解决方案,以便我不必与Pascal脚本进行交互。
在此先感谢!
刚刚发现这一点:HTTP://support.microsoft.com/default.aspx SCID = KB; EN-US; q178893 – 2011-06-01 18:55:58