我知道如何爲我的應用程序構建JumpList。但是現在我想爲JumpList顯示特定的「.exe」文件。我有一個'.exe'文件的路徑,我需要爲這個應用程序顯示JumpList。當用戶在任務欄上的應用程序圖標上單擊鼠標右鍵時會顯示JumpList窗口,但我需要以編程方式顯示此窗口。如何以編程方式打開特定「.exe」文件的JumpList窗口?
回答
從小事研究,我做到了,它可以可以通過打開並讀取%AppData%\ Microsoft \ Windows \ Recent \ Automatic目的文件的內容來完成。
那裏的文件包含跳轉列表文件的擴展名,通過閱讀這些文件,您可以找到文件通過檢查重複出現的文件擴展名包含您想要的應用程序的跳轉列表。通過知道您想要檢索的應用程序的文件擴展名,您可以找到它的跳轉列表文件。當然,您可以使用註冊表查找應用程序的文件擴展名。
編輯:第二次閱讀您的文章:原諒我,教你寫一個應用程序來取代windows任務欄。那麼,你的問題似乎很艱難。這些步驟可能工作:
- 就拿桌面的截圖,發現你正在尋找應用程序(這是檢索 編程)
- 減的圖標 相匹配的部分或圖像匹配從屏幕截圖中獲取屏幕上的位置
- 調用鼠標右鍵單擊屏幕上的該位置。
ps:用於Windows 7的api code pack也可能證明是有用的。
跳轉列表是可以添加的選項列表中的安全用戶界面的一部分,但顯示本身必須被用戶啓動列表很像上下文菜單做的,鼠標點擊
你也許可以用Window Messages來做到這一點。您可以使用像Spy++這樣的工具來了解任務欄如何構建其子窗口等。一旦瞭解它的工作原理,您很可能需要登錄SetFocus併發送如WM_MOUSECLICK
這樣的消息。
如果每個按鈕是不是一個真正的按鈕(只是畫「虛擬」按鈕),你將需要使用一些數學計算出的座標爲WM_MOUSECLICK
(您可能需要使用WM_MOUSEDOWN
和WM_MOUSEUP
實驗)。請記住,任務欄可以錨定到桌面的不同邊緣,並且可以調整爲16px按鈕。
如果聽起來像是黑客攻擊,我記得微軟明確表示他們不會爲開發人員提供新的任務欄控制級別。
您可能會發現PInvoke Wiki對獲得DllImport
定義有用。
我在XP(自定義開始菜單)前的任務欄砍死,所以這應該是可能的Windows 7
'WM_MOUSECLICK'不存在,因此我們必須使用'WM_LBUTTONDOWN'和'WM_LBUTTONUP'。 –
下,說實話,我沒有花很多時間與跳轉列表。
您是否在代碼項目中看到過此示例?它有很多很好的信息。
http://www.codeproject.com/KB/WPF/MefFX.aspx
這篇文章是幾年的歷史,但信息還是不錯的。
您可以使用庫「Teststack.White」(簡單的NuGet),然後使用這個
var desktop = Desktop.Instance;
var taskList = desktop.Get<ToolStrip>(SearchCriteria.ByClassName("MSTaskListWClass"));
var button = taskList.Get<Button>(SearchCriteria.ByText(Text));
button.RightClick();
- 1. 如何以編程方式打開新的瀏覽器窗口
- 2. 如何以編程方式打開新的Live Meeting窗口
- 3. 如何以編程方式最小化打開的窗口文件夾
- 4. 如何在android中以編程方式打開SMS窗口?
- 5. 如何以編程方式打開「網絡連接」窗口
- 6. 以編程方式打開一個exe文件
- 7. 無法以編程方式調用特定的exe文件
- 8. 以編程方式在eclipse幫助窗口中打開特定幫助主題?
- 9. 以編程方式打開pdf文件
- 10. 以編程方式打開窗體
- 11. 如何以編程方式在c#中打開7z自解壓.exe文件?
- 12. 如何以編程方式打開待定更改 - 衝突窗口?
- 13. 如何在android中以編程方式打開自定義彈出窗口?
- 14. 以編程方式打開IBM Sametime聊天窗口
- 15. 以可編程方式打開和關閉窗口
- 16. 如何在現有vim窗口的特定行打開文件?
- 17. 打開一個EXE窗口
- 18. 如何以編程方式打開GPS
- 19. 如何關閉未以編程方式打開的選項卡/窗口?
- 20. 如何以編程方式打開Visual Studio擴展的工具窗口?
- 21. 如何以編程方式打開d3元素的ngbootstrap彈出窗口?
- 22. 如何在Tkinter窗口中打開exe文件
- 23. 如何在android中以編程方式打開文件夾?
- 24. 如何以編程方式打開Outlook數據文件?
- 25. 如何以編程方式使用Intents打開文件?
- 26. 作爲mdi窗體中的窗口打開一個.exe文件?
- 27. 以編程方式在由父窗口打開的窗口中打開Javascript小書籤
- 28. 如何以編程方式打開串口?
- 29. 如何以編程方式訪問特定的資源文件?
- 30. 如何以編程方式切換到compiz中的特定窗口?
我不相信你可以。但是,您可以獲取MRU文件(也可能是任務或自定義目標),並以您自己的UI顯示給用戶。 –