2013-03-26 44 views
0

我想通過執行一個文件來模擬繁忙的窗口,甚至更簡單,一個忙碌的光標,該文件將改變光標一段時間。我希望能夠控制光標處於「忙碌」的時間量。有任何想法嗎?有沒有辦法讓Windows中的exe,bat或其他文件能夠在執行後將光標變爲'busy'?

+0

看看['SetCursor'](http://msdn.microsoft.com/en-us/library/windows/desktop/ms648393(v = vs.85).aspx),但意識到光標是一個共享資源,你真的應該只在它的控制下才能改變它(即在你的窗口中)並閱讀[The New New Thing](http://blogs.msdn.com/b/oldnewthing/archive/2005/05/25/421707.aspx)以獲取更多警告。 – 2013-03-26 17:42:29

回答

0

您可以創建一個AutoHotkey腳本。

使用此SetSystemCursor功能,在自動執行部分添加以下頂部:

#NoTrayIcon 
#Persistent 

DefaultBusyTime := 1000 
SetSystemCursor("IDC_WAIT") 
If %0% > 1 
    SetTimer,RestoreSystemCursor,-%1% 
Else 
    SetTimer,RestoreSystemCursor,-%DefaultBusyTime% 
Return 

RestoreSystemCursor: 
    SetSystemCursor("Restore") 
    ExitApp 
Return 

完整的腳本:busycursor.ahk

編譯成獨立的可執行文件:

Ahk2Exe.exe /in busycursor.ahk /out busycursor.exe 

以毫秒爲單位傳遞繁忙的等待時間作爲參數:

busycursor 2500 
+0

非常感謝你。有沒有辦法讓忙遊標的動畫也可以工作?再次,我真的很感激它。 – user2167823 2013-03-27 02:53:52

+0

@ user2167823使用任何動畫光標文件的路徑調用'SetSystemCursor'。例如。 'SetSystemCursor( 「C:\ WINDOWS \光標\ aero_busy.ani」)'。另外,用'LoadImage'替換'LoadImageA'。 – Richard 2013-03-27 11:18:34

0

會創建一個批處理文件並將「TIMEOUT 60」的語句爲您工作嗎? 60是簡單的秒數,所以你可以根據自己的需要進行調整。

如果這不提供您正在尋找的「繁忙」狀態,您也可以在批處理文件中創建一個計數到某個固定數字的for循環,然後退出。

相關問題