2010-03-03 54 views
8

我想將我的應用程序設置爲桌面級別,如Windows小工具。這有可能實現嗎?「永遠在上面」的對面

事情是,我有無邊界的應用程序,我想運行在桌面上。

我試圖找到該選項,但我發現只有「總是在頂部」,這是我想要達到的相反。

+4

是否有一個原因,你不能把它寫成一個Windows小工具 – Richard 2010-03-03 14:24:39

+2

始終不是在頂部;當你爲你的應用程序設計一個新的UI模式) – Younes 2010-03-03 14:24:48

+2

,你」最有可能最終會被用戶討厭。 「爲什麼這個傢伙使這個應用程序無國界?我無法調整它,它在我的怪物屏幕上非常小,真是個白癡!」最好的辦法是找到一個通用的用戶界面模式(例如小工具,基於托盤圖標的應用程序,Windows服務,計劃任務,最小化托盤和顯示通知彈出窗口等的應用程序)用它。 – Will 2010-03-03 14:33:33

回答

0

我認爲沒有辦法像往常一樣在上面做同樣的事情。你想在圖標下運行你的應用程序嗎?做一個真正的後臺應用程序的唯一方法是替換explorer.exe,但是你不會看到圖標和任務欄。

+0

是的,如果您像任何窗口一樣選擇,小工具可以在上面。 – 2010-03-03 14:34:02

+0

我希望我的應用程序與桌面圖標處於同一級別,而不是在它們下面。 – Danijel 2010-03-03 15:33:29

3

編寫應用程序以便它在後臺作爲服務運行,然後將實際的Windows小工具實現爲前端?

0

您可以通過創建XBAP來實現使用WPF的實際Windows小工具。只需添加一個gadget.xml文件和一個僅包含加載XBAP的IFRAME的.html文件即可。這樣你的WPF應用程序實際上就是一個小工具,並且會自動遵循所有的規則。

另一種選擇是使用Windows Sidebar Styler。這需要與您一起安裝附加軟件,但也允許您在沒有代碼簽名證書,用戶授權等的情況下執行XBAP沙箱內無法執行的操作。

第三個選項是創建一個小工具,可以在HTML中識別(例如特定的背景顏色),然後當您的.exe啓動時,掃描具有您正在查找的屬性的資源管理器下的hWnd,將自己注入Explorer.exe進程,並將窗口設置爲它的一個孩子。

第三個選項的變體是不注入Explorer.exe,而是維護您的Z索引和位置(使用SetWindowPos)來跟蹤Z索引和您找到的hWnd的位置。

那麼多的選擇...