[AHK-] 程式重复开启但PID一样

楼主: b2rex (逼兔雷喀丝)   2016-09-16 18:43:13
请教各位
我目前电脑有六个萤幕输出
想要连续开启数个IE跟WORD
将其放置在指定的萤幕上
1 2 3 4 5 6
[I/W][W][I][I/W][I/W][I/W]
但是在用 run 指令去执行(可回传PID)
发现一个问题是
我连续RUN了四个IE出来, 但是PID却是同一个
这样不太容易分辨对应的网址到特定的萤幕里
本来是想逐个用 winget 透过PID去抓其他的资讯
但是发现若是第2个或第3个 用传回也是同样的PID
会变成跟第1个一样...
如果是接连着开是可以,但是只要时间有点延时
后面的WimMove就会移不到东西
WORD问题更严重,如果是连开的时候
第一个开的因为会有OFFICE的LOGO会顿
会导致后面有时会有错误
有加延时的话 PID 重复更易出现
因为同样的PID,在WIMMOVE的控制上又有点怪怪
测试用的程式大约是
作者: LPH66 (-6.2598534e+18f)   2016-09-16 19:51:00
你应该要用视窗标题或视窗 handle 分辨, PID 不准因为一个 process 可以开多个视窗多次启动时有的程式会侦测同时有同样程式启动中就把后启动的给关掉, 资源交给先启动的来管理这也是 PID 会不准的另一个原因从标题抓 handle 可以使用 WinExist 函数如果你确定新开之后会是作用中视窗也可以用 WinActive 抓
楼主: b2rex (逼兔雷喀丝)   2016-09-16 20:36:00
可是如果标题四个都一样呢....
作者: AppleWine (®)   2016-09-17 14:04:00
那有办法抓到Foreground的PID吗可以的话 视窗先就定位 然后用鼠标点一轮扫完全部的PID忽略上面的 换个方法 http://ideone.com/cdQeKm想法是开完全部的IE之后再去抓它们的PIDCMD_LINE 的内容可能要改掉"C:\Program Files\Internet Explorer\iexplore.exe"

Links booklink

Contact Us: admin [ a t ] ucptt.com