如何结束一个16位的应用程序?

goodperson 2007-06-29 10:21:09
在程序中调用一个16位应用程序,用CreateProcess可以调用.但是想结束它却遇到麻烦,在进程管理器中可以看到这个被调用的程序,但是它的ProcessId为空(不能用OpenProcess得到句柄了),那么如何得到它的句柄并结束它呢,望有实际用过的高人指点!
...全文
175 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodperson 2007-07-02
  • 打赏
  • 举报
回复
试了楼上的程序,对有PID值的应用程序如calc.exe,可以结束,但是对于我的16位程序可以打开(通过任务管理器察看没有Pid和内存使用[两项为空]),但是仍就结束不了.望大侠继续指点一下!
LuoGD 2007-06-29
  • 打赏
  • 举报
回复
//控制命令行窗口信息
STARTUPINFO si;
//返回进程信息
PROCESS_INFORMATION pi;
try
{
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.wShowWindow = SW_HIDE; //隐藏命令行窗口
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;

//创建获取命令行进程
bret = CreateProcess (NULL, appStr.c_str(), NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi );
if (bret)
{
TerminateProcess(pi.hProcess,0);
}
jacknes009 2007-06-29
  • 打赏
  • 举报
回复
结束进程
BOOL TerminateProcess(
HANDLE hProcess,
UINT uExitCode
);

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧