看板 EzHotKey 關於我們 聯絡資訊
請教各位 我目前電腦有六個螢幕輸出 想要連續開啟數個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的控制上又有點怪怪 測試用的程式大約是 -------------------------------- run, iexplore.exe 網址1,,, PID1 sleep, 1000 run, iexplore.exe 網址2,,, PID2 sleep, 1000 run, iexplore.exe 網址3,,, PID3 sleep, 1000 run, iexplore.exe 網址4,,, PID4 sleep 3000 WinMove, ahk_pid %PID1%,,1,1,300,300 WinMove, ahk_pid %PID2%,,1921,1,300,300 WinMove, ahk_pid %PID3%,,3841,1,300,300 WinMove, ahk_pid %PID4%,,5761,1,300,300 --------------------------------- 沒加紅字應該可以正常動作 但是有延時就會怪怪的 想請問要怎樣的做法比較合適改善呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.78.236 ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1474022597.A.A04.html
LPH66: 你應該要用視窗標題或視窗 handle 分辨, PID 不準 09/16 19:51
LPH66: 因為一個 process 可以開多個視窗 09/16 19:51
LPH66: 多次啟動時有的程式會偵測同時有同樣程式啟動中 09/16 19:53
LPH66: 就把後啟動的給關掉, 資源交給先啟動的來管理 09/16 19:53
LPH66: 這也是 PID 會不準的另一個原因 09/16 19:54
LPH66: 從標題抓 handle 可以使用 WinExist 函數 09/16 19:54
LPH66: 如果你確定新開之後會是作用中視窗也可以用 WinActive 抓 09/16 19:57
b2rex: 可是如果標題四個都一樣呢.... 09/16 20:36
AppleWine: 那有辦法抓到Foreground的PID嗎 09/17 14:04
AppleWine: 可以的話 視窗先就定位 然後用滑鼠點一輪掃完全部的PID 09/17 14:06
AppleWine: 忽略上面的 換個方法 http://ideone.com/cdQeKm 09/17 15:18
AppleWine: 想法是開完全部的IE之後再去抓它們的PID 09/17 15:20
AppleWine: CMD_LINE 的內容可能要改掉 09/17 16:01
AppleWine: "C:\Program Files\Internet Explorer\iexplore.exe" 09/17 16:01