请问,一个脚本A如何关掉另一个脚本B?

问答中心请问,一个脚本A如何关掉另一个脚本B?
凤舞凤舞 用户 提问于 9月 以前
打赏作者
1 个回答
河许人河许人 用户 回答于 9月 以前


YuKuan
B脚本中设置好退出条件,A来满足该条件。
YuKua 2018/1/11 12:08:46

或者用系统API 向B来发送消息
12:27:55
河许人autoahk.com 2018/1/11 12:27:55

@ZeroSingLess https://www.autoahk.com/archives/8851 

  站内还有一些脚本可以参考  自己搜一下
12:34:44
ZeroSingLes 2018/1/11 12:34:44

@河许人autoahk.com 坛子里看过了
12:38:58
河许人autoahk.com 2018/1/11 12:38:58

有没有收获@ZeroSingLess 
12:52:17
YuKua 2018/1/11 12:52:17

A脚本内容如下:

;
DetectHiddenWindows, on
SetTitleMatchMode, 2

scriptname:="b脚本.ahk"

F1::
Run %scriptname%
return

F2::
PostMessage, 0x111,65307,,,%scriptname% - AutoHotkey
return
12:59:18
YuKua 2018/1/11 12:59:18

意外不意外 惊喜不惊喜
ZeroSingLes 2018/1/11 13:00:31

不是特别明白postmessage那一行,正在看帮助文档~
枫丹白露·1+ 2018/1/11 13:01:05

触发了B的退出命令
13:01:43
ZeroSingLes 2018/1/11 13:01:43

就是把b脚本65307地址的内容改成0*111,b脚本就被关掉了吗?
枫丹白露·1+ 2018/1/11 13:02:17

不是b脚本,65307是ahk固定的
枫丹白露·1+ 2018/1/11 13:02:40

其实关闭的是ahk主程序
ZeroSingLes 2018/1/11 13:02:56

嗷~
ZeroSingLes 2018/1/11 13:03:32

记下来记下来,放在实例文档堆里~
ZeroSingLes 2018/1/11 13:03:34

哈哈哈
13:04:30
ZeroSingLes 2018/1/11 13:04:30

我刚才稍早的时候百度+帮助文档找了个办法。
ZeroSingLes 2018/1/11 13:04:51

run,main.ahk,,,OutputVarPID
YuKua 2018/1/11 13:05:02

条条大路通罗马
ZeroSingLes 2018/1/11 13:05:08

guiclose:
process,close,%OutputVarPID%
YuKua 2018/1/11 13:05:11

获取pid 终止进程
13:05:21
ZeroSingLes 2018/1/11 13:05:21

run的时候读了个pid
ZeroSingLes 2018/1/11 13:05:39

一开始不知道run的时候可以读pid
ZeroSingLes 2018/1/11 13:05:51

然后把文档里pid搜了一遍
YuKua 2018/1/11 13:07:16

a_scriptPID := DllCall("GetCurrentProcessId") ; get script's PID
MsgBox %a_scriptPID%
13:07:44
YuKua 2018/1/11 13:07:44

B脚本可以告诉你它的pid
ZeroSingLes 2018/1/11 13:08:15

这个我翻帮助的时候也注意到了
ZeroSingLes 2018/1/11 13:08:26

但是要去b脚本里读
ZeroSingLes 2018/1/11 13:09:02

我想只操作a脚本的gui页面,b脚本直接隐藏,所以没有使用
ZeroSingLes 2018/1/11 13:09:17

帮助文档是个好东西
ZeroSingLes 2018/1/11 13:09:20

哈哈哈
ZeroSingLes 2018/1/11 13:09:30

谢谢指导
13:12:46
河许人autoahk.com 2018/1/11 13:12:46

@ZeroSingLess 帮助文档其实到编程后期有点捉襟见肘  对了  你昨天的问题解决了没?
13:16:08
ZeroSingLes 2018/1/11 13:16:08

请问大神,使用如“hotkey,%hootkey1%,laber1”这样的方式设置快捷键时候怎么写能像"$a::"这样避免自引用?
ZeroSingLes 2018/1/11 13:16:10

这个吗?
ZeroSingLes 2018/1/11 13:16:20

hotkey,$%hootkey1%,laber1
ZeroSingLes 2018/1/11 13:16:32

直接加在这里,居然成功了

河许人autoahk.com 2018/1/11 13:16:45

河许人autoahk.com 2018/1/11 13:16:58

成功了就好
ZeroSingLes 2018/1/11 13:17:22

瞎试
13:20:22
ZeroSingLes 2018/1/11 13:20:22

但是又发现在单一个脚本里这样引用的快捷键响应有点慢,于是用fileappend生成一个新的脚本B,于是又遇到了今天的问题,脚本A关掉的时候顺便关掉脚本B。
13:20:57
ZeroSingLes 2018/1/11 13:20:57

后来干脆把脚本B的托盘都隐藏了,免得进程结束了残留一个托盘图标。
13:33:05
河许人autoahk.com 2018/1/11 13:33:05

哦  加油

打赏作者