godhawk 发表于 2011-8-19 22:18:47

[已解决]有没有办法控制系统托盘的暂停功能?比如用函数?

本帖最后由 godhawk 于 2011-8-26 23:51 编辑

嗯,我估计有人会以为用TrayCreateItem去伪造一个暂停功能,就能实现……

事实上,我说的不是让系统托盘做出一个“暂停”功能,而是直接控制AU3本身自带的那个系统托盘的“暂停”

它和我们一般自己做的“暂停”是有本质的区别的……比如当脚本真的“暂停”的时候,一切hotkeyset的快捷键都作废了,但是如果只是我们自己做的一个“暂停”,那么无论是快捷键,还是其他的触发事件的onevent条件,比如鼠标事件,都照样触发……

所以请教一下,有没有办法控制这个真正的“暂停”?

xwt620 发表于 2011-8-20 02:17:07

真正的 暂停? 偶理解为 暂停脚本
自己做的 暂停? 偶理解为 暂停某个功能
不知道我理解的对不对?
如果要暂停某个功能,就必须等待程序完成响应才能暂停,除了时间或循环修改某个控件上的字,否则就涉及到多线程了,而au3不支持多线程。
要么就做个多进程,用暂停来结束某个进程。

happytc 发表于 2011-8-20 08:48:00

在C++里可以用WaitForSingleObject函数也阻断某个线程。
但au3只有一个主线程,好象不让阻断主线程的。任何时候那些阻断型函数都可以用,象Msgbox之类的

不知开发者是不是接供了函数来阻断主线程

godhawk 发表于 2011-8-26 23:18:08

看来在目前版本的AU3下,想实现真正的暂停是不可能的了……

感谢楼上的朋友,结贴吧

3mile 发表于 2011-8-27 00:08:06

不知道用_WinAPI_SuspendProcess将进程挂起有没有用?
坐等P大显灵

huangke 发表于 2013-1-25 20:33:53

#NoTrayIcon
;break(0)
;Opt("TrayMenuMode",1) ; 默认菜单项目 (脚本暂停中/退出)(Script Paused/Exit) 将不会显示.随便三个都可以。。。。
页: [1]
查看完整版本: [已解决]有没有办法控制系统托盘的暂停功能?比如用函数?