[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