我想在應用程序中打開/關閉系統網絡圖標,就像我們可以通過控制面板執行操作一樣。我知道「HideSCANetwork」註冊表項,但要使用此解決方案,需要在更改設置後重新啓動資源管理器。有沒有其他解決方案可以像系統一樣無縫完成這項任務?如何以編程方式打開/關閉Windows系統網絡圖標
回答
有做thois沒有官方的API。原因是微軟希望讓用戶能夠保持通知區域不會變得太滿。問題是太多的應用程序啓動用戶不關心的通知圖標。
由於許多用戶不知道如何擺脫這些圖標,Microsoft決定默認隱藏它們來提供幫助。如果應用程序有權訪問這些隱藏/顯示設置,那麼應用程序會默認顯示通知,我們會回到我們開始的位置。因此沒有提供以編程方式修改這些設置的機制。
你想做一些不同的事情,聽起來同樣有惡意,即隱藏一個重要的系統圖標。如果您決定這樣做,那麼您可以反向設計如何存儲設置(可能在註冊表中)並以此方式更改設置。但是,如果你這樣做,你會反對系統設計。
謝謝大衛。我的應用程序(提供網絡相關功能)顯示與通知區域中的系統網絡圖標類似的圖標。我想在應用程序中創建一個設置項,以便不想看到兩個相似圖標的用戶在應用程序運行期間隱藏系統。 – Shawnone 2014-09-25 02:05:24
現在我找到一個不完美的解決方案。其基本思想來自這裏: http://www.codeproject.com/Articles/10807/Shell-Tray-Info-Arrange-your-system-tray-icons
一些提示:
- 該解決方案支持Win 7,你可以刪除XP校驗碼。
在WOW64上,你需要改變結構TRAYDATA和使用TBUTTON64:
struct TRAYDATA { DWORD64 hwnd; UINT uID; UINT uCallbackMessage; DWORD Reserved[2]; DWORD64 hIcon; }; typedef struct _TBBUTTON64 { int iBitmap; int idCommand; BYTE fsState; BYTE fsStyle; BYTE bReserved[6]; DWORD64 dwData; DWORD64 iString; } TBBUTTON64, NEAR* PTBBUTTON64, *LPTBBUTTON64; typedef const TBBUTTON64 *LPCTBBUTTON64;
- 當你找到你想隱藏的圖標(通過使用提示文本加上所有者的過程),發送TB_HIDEBUTTON消息到通知區域窗口。
不完美的部分是托盤圖標將被隱藏,但通知區域不會調整大小。所以通知區域有一個空白區域。
- 1. 如何以編程方式打開Windows操作系統中的「網絡發現」?
- 2. 以編程方式關閉/打開網絡
- 3. 如何以編程方式關閉或打開「Windows功能」
- 4. 如何以編程方式關閉打開的jquery.reveal.js模式框?
- 5. 如何以編程方式關閉/取消/關閉系統對話框(Android)
- 6. 如何以編程方式打開「網絡連接」窗口
- 7. 如何在WP7上以編程方式打開/關閉WiFi
- 8. 如何以編程方式打開/關閉定時器
- 9. Android:如何以編程方式打開和關閉屏幕?
- 10. 如何以編程方式打開和關閉layout_behavior行爲?
- 11. 如何以編程方式在Android中打開/關閉通知?
- 12. 如何以編程方式打開/關閉按鈕?
- 13. 如何以編程方式在Windows Phone 7中打開和關閉GPS
- 14. 以編程方式打開Windows 7「地圖網絡驅動器」對話框
- 15. 以編程方式關閉任何打開的燈箱?
- 16. 以編程方式更改系統網絡(代理)設置
- 17. 以編程方式開啓/關閉GPS
- 18. 如何通過編程方式關閉系統操作動畫
- 19. Matlab PARFOR循環可以以編程方式打開/關閉嗎?
- 20. 以編程方式關閉標籤TabHost
- 21. 如何以編程方式關閉Windows 8應用程序?
- 22. 如何關閉McAfee以編程方式
- 23. 如何以編程方式關閉UISearchBar?
- 24. 如何以編程方式關閉SearchView?
- 25. 如何以編程方式關閉UISearchDisplayController?
- 26. 如何以編程方式關閉BalloonTip?
- 27. 如何在Android的編程方式打開MIUI系統活動
- 28. 以編程方式打開系統信息
- 29. 以編程方式打開網頁
- 30. 以編程方式打開和關閉控制檯
應用程序無權這樣做,它是用戶的專有特權。 – 2014-09-24 03:41:56
在企業環境中,您可以通過GPO禁用,在任何其他環境中保持獨立!如果這只是您自己使用,請在更新註冊表項後嘗試廣播WM_SETTINGCHANGE。 – 2014-09-24 10:39:48