citysvip 发表于 2018-11-6 11:23:17

模拟程序正常退出

我通常关闭程序用关闭进程的函数processclose,但是这样造成了程序的非法退出,有没有更好的办法,模拟下右键点击状态栏图标的退出。谢谢。

nmgwddj 发表于 2018-11-6 17:50:52

citysvip 发表于 2018-11-6 16:19
楼上能否给个小例子???谢谢。

WinClose ( "title" [, "text"] )本函数将发送关闭消息到目标窗口, 效果因窗口不同而不同(可能会询问是否保存数据, 等等).
若要强制关闭目标窗口, 请使用 WinKill() 函数. 若同时有多个窗口符合匹配条件, 则关闭最近激活的窗口.

nmgwddj 发表于 2018-11-6 12:59:53

可以给程序发送 WM_CLOSE 消息,正常程序都会做适当处理的。

citysvip 发表于 2018-11-6 16:19:59

楼上能否给个小例子???谢谢。

zghwelcome 发表于 2018-11-6 21:56:32


#include <WindowsConstants.au3>
#include <SendMessage.au3>
Run('notepad.exe')
Local $hWnd = WinWait('','')
Sleep(2000)
_SendMessage($hWnd,$WM_CLOSE)

bfgxp 发表于 2018-11-8 09:22:06

可能楼主说的是程序默认设置是“关闭最小化到系统托盘”的程序吧,这个我也想知道答案。

bfgxp 发表于 2018-11-8 09:32:44

zghwelcome 发表于 2018-11-6 21:56

#include
#include


经测试你这个和使用WinClose 没有区别,对于默认关闭最小化到托盘的程序一样是最小化到托盘。
页: [1]
查看完整版本: 模拟程序正常退出