如何关闭WinExec打开的程序?

gjgj3368 2003-01-19 12:13:29
我在程序中用WinExec("NOTEPAD.EXE",SW_HIDE)运行了记事本程序,
请问在程序中用什么样的语句可以把NOTEPAD.EXE关闭?
...全文
400 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
warton 2003-01-19
  • 打赏
  • 举报
回复
HWND dc = FindWindow(0,"无标题 - 记事本");
CloseWindow(dc);

如果不行的话,按ctr+del+alt看记事本的标题是什么??改了它
jishiping 2003-01-19
  • 打赏
  • 举报
回复
使用CreateProcess代替ShellExecute就可以了。

static DWORD dwProcessId=0; //你启动的另一个程序的进程ID
void __fastcall TForm1::Button1Click(TObject *Sender)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;

memset(&si, 0, sizeof(si));
si.cb = sizeof(STARTUPINFO);
if (CreateProcess(NULL,"notepad.exe",NULL,
NULL,FALSE,0,NULL,NULL,&si,&pi)) {
dwProcessId = pi.dwProcessId;
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
HANDLE hProcess;

hProcess = OpenProcess(PROCESS_ALL_ACCESS,
FALSE, dwProcessId);
if (hProcess != NULL) {
TerminateProcess(hProcess, 0);
CloseHandle(hProcess);
}
}
ThinkX 2003-01-19
  • 打赏
  • 举报
回复
你用 CreateProcess创建进程
gjgj3368 2003-01-19
  • 打赏
  • 举报
回复
TO:warton(新年快乐)
还有其他的方法吗?
如果我运行的不是记事本程序,是其他的程序怎么办呢?
halibut 2003-01-19
  • 打赏
  • 举报
回复
学习!

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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