2009-12-13 38 views
1

我有這個AutoHotkey腳本有一個奇怪的問題。它在3個工作站中使用,但是在一箇中,ControlSend似乎不起作用,因爲熱鍵在程序A中不起作用。所有三臺機器都具有Windows XP,並且是具有大多數相同軟件的Pentium 4級機器,該腳本位於exe形式。我嘗試了很多不同的方式將熱鍵發送到程序A,但似乎沒有任何效果。在一臺機器上的AutoHotkey ControlSend問題

腳本的想法很簡單,只需抓住一個熱鍵,然後單擊另一個窗口中的正常功能。正常的功能不起作用。

任何想法可能是問題的根源,我應該在哪裏尋找它?

#IfWinActive, Program A 
^H:: 
IfWinActive, Program A 
    { 
    ControlFocus, MDIClient1, Program A, , , 
    ControlSend, , ^H, Program A, , , 
    ControlClick, X46 Y135, Program B, , LEFT , 1 
    return 
    } 

回答

1

一種可能性 - 你指定的X和Y座標,以及那些可以非常相對的。大與小字體,屏幕分辨率等都可能導致問題。

該指令適用於程序B,所以我不確定那是你的問題。您可以嘗試拆分腳本的一部分並將它們分配給不同的熱鍵,然後一次嘗試一個。

編輯:我也嘗試在非EXE形式(只是一個基本的.AHK腳本),看看是否有所作爲。

1

其他的事情嘗試:

  • 使用^h代替^H(大寫)
  • 嘗試不同的熱鍵來觸發動作
  • 玩具與~^H,它通過將原始熱鍵(這可能這很難,因爲你之後會做一些點擊 - 不知道腳本是什麼)
相關問題