求助:用ShellExecute打开一个控制台程序后,怎样将这个控制台程序关闭??

trueman3000 2005-06-01 05:37:55
用ShellExecute打开一个控制台程序后,怎样将这个控制台程序关闭??

请高人指教!!
...全文
346 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
trueman3000 2005-06-04
  • 打赏
  • 举报
回复
多谢各位帮助!
Kshape 2005-06-03
  • 打赏
  • 举报
回复
哈哈
找到进程
然后杀就可以了啊

以前有类似的做法
FlyingBlueBoy 2005-06-03
  • 打赏
  • 举报
回复
找到CMD.EXE 的进程.杀死进程既可,代码如下;
procedure closecmd;
var
lppe: TProcessEntry32;
snapshothandle:THandle;
f:boolean;
pid:DWord;
begin
ProcessName:='Cmd.exe' \\区分大小写
snapshothandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); \\创建进程快照
lppe.dwSize:=Sizeof(lppe);
f:=Process32First(snapshothandle,lppe);
While f do
begin
if ProcessName=StrPas(lppe.szExeFile) then
pid:= lppe.th32ProcessID;
f:= Process32Next(snapshothandle,lppe);
end;
CloseHandle(snapshothandle);
TerminateProcess(OpenProcess(Process_Terminate,false,pid),0);
end;
cjianwen 2005-06-03
  • 打赏
  • 举报
回复
用 sendmassage(……);
delphiray 2005-06-01
  • 打赏
  • 举报
回复
不懂,顶
trueman3000 2005-06-01
  • 打赏
  • 举报
回复
我想让它从内存中释放掉,因为要反复运行它N次!点一次按钮就运行一次。
不显示的话还是要占用资源的!
这个控制台程序正常运行完毕会自动关闭。
现在想在不能正常运行时由DELPHI来关闭它!
亮剑_ 2005-06-01
  • 打赏
  • 举报
回复
你的控制台程序要和用户交互吗?
如果不要交互不显示就行了
ShellExecute(Handle, 'open', 'xxx.bat', nil, nil, SW_HIDE);
trueman3000 2005-06-01
  • 打赏
  • 举报
回复
调用哪个函数可以在DELPHI中关闭控制台程序??

1,183

社区成员

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

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