关闭外部程序的新问题

codeh 2004-10-19 05:24:06
使用ShellExcute(或CreateProcess)调用了运行了一个DOS程序
每次运行该dos程序时的窗体标题都是不同的(这是问题的关键),所以不能用FindWindows函数找到这个窗体再把它close掉,也不能用GetWindow来获取窗体标题
各位,还有什么办法?
...全文
111 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
codeh 2004-10-20
  • 打赏
  • 举报
回复
delphi99(delphi99)
所运行程序本身就是一个BAT文件啊

wosuifeng(笑风)
进程ID怎么记录?用什么方法可以取得到他的ID?ShellExecute的返回值是不行的,好像CreateProcess中的进程信息单元也不行。
各位,有不有什么好办法没?

hottey(孤独的探索者)(起步中)的方法可以。。。
循环运行的话,会把所有的DOS窗口都关掉,还有没有别的方法?

没有就结贴了
wosuifeng 2004-10-20
  • 打赏
  • 举报
回复
记录下这个程序的进程id,
codeh 2004-10-20
  • 打赏
  • 举报
回复
版主,能不能换个分啊?给
hottey (40)、 delphi99 (5)、 wosuifeng (5)

手一快,没看清楚就给分了。。对不起hottey了,其他两人有苦劳:)
codeh 2004-10-20
  • 打赏
  • 举报
回复
晕倒,给错分了。。。
delphi99 2004-10-19
  • 打赏
  • 举报
回复
你可以生成一个bat文件,在bat中运行那个DOS程序,然后再删除这个bat就可以了
hottey 2004-10-19
  • 打赏
  • 举报
回复
SendMessage(FindWindow('ConsoleWindowClass', nil), WM_CLOSE, 0, 0);
我想不到好的办法!
codeh 2004-10-19
  • 打赏
  • 举报
回复
自已顶啊
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-10-19 05:24
社区公告
暂无公告