在线等待:shellexecute运行起来的程序,如何获取它的进程号? 谢谢~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Eastunfail(浴血雏龙)==(恶鱼杀手) 说的不对吧 ShellExecute返回的是进程句柄.好像API函数有直接获取进程ID的,自己查查.如果没有,就只能枚举当前进程了. 使用ShellExecuteEx()就可以了,以下是C++的代码,转成delphi就行了。SHELLEXECUTEINFO se;ZeroMemory ( &se, sizeof ( SHELLEXECUTEINFO));se.cbSize = sizeof(SHELLEXECUTEINFO);se.fMask = SEE_MASK_NOCLOSEPROCESS;se.hwnd = NULL;se.lpFile = lpszCmd;se.nShow = SW_MAXIMIZE;se.lpVerb = TEXT("open");se.lpParameters = NULL;se.lpDirectory = NULL;se.nShow = SW_MAXIMIZE;se.hProcess = 0;se.hInstApp = NULL;if (ShellExecuteEx(&se) > 0) s_hInstallProcess = se.hProcess; ShellExecute和ShellExecuteEx只能取出进程句柄来。要取进程号(ID)用CreateProcess 求助:数据保存后窗口消失 关于流用法的一个问题及字符串。 有关打印的问题? 散分!! 请问各位开发数据库应用程序的时候一般用什么数据库 Delphi应该不能实现这个功能吧! windows 2003 Server平台Delphi程序不支持直接调用webservice 关于ODBC,sql server 的问题!!! 如何在代码中选种TListView中的一个条目(得到答案立即放分) treeview有没有隐形的标志? 怎样得到Sqlsever2000的服务器名称? 一个操作Access表的SQL语句问题
说的不对吧
好像API函数有直接获取进程ID的,自己查查.
如果没有,就只能枚举当前进程了.
SHELLEXECUTEINFO se;
ZeroMemory ( &se, sizeof ( SHELLEXECUTEINFO));
se.cbSize = sizeof(SHELLEXECUTEINFO);
se.fMask = SEE_MASK_NOCLOSEPROCESS;
se.hwnd = NULL;
se.lpFile = lpszCmd;
se.nShow = SW_MAXIMIZE;
se.lpVerb = TEXT("open");
se.lpParameters = NULL;
se.lpDirectory = NULL;
se.nShow = SW_MAXIMIZE;
se.hProcess = 0;
se.hInstApp = NULL;if (ShellExecuteEx(&se) > 0)
s_hInstallProcess = se.hProcess;