2009-11-25 59 views

回答

2

問題的第二部分(當桌面被雙擊時)相對簡單。您需要將應用程序定義的掛鉤過程安裝到掛鉤鏈中。聽起來相當困難,但在代碼示例here中詳細解釋。您可能需要下載源碼here(需要在那裏有一個免費帳戶)。

對於第一部分,隱藏/取消隱藏桌面圖標,我發現了幾個類似的代碼示例,如this,但是,似乎沒有在我的電腦上工作,因此您可能想要尋找另一個解決方案來解決該問題。

+0

你是對的,最後一個鏈接似乎不工作,但無論如何感謝前2鏈接。 – murasaki5 2009-12-01 11:56:09

0

隱藏桌面圖標有一個註冊表項(看看here)。

我想你將不得不重新啓動資源管理器後,要使用

 Process[] proc = Process.GetProcessesByName("Explorer"); 
     foreach(Process p in proc) 
      p.Kill(); 

     Process.Start("explorer.exe"); 
+0

使用該註冊表黑客將永久隱藏桌面圖標。我希望它被切換顯示/隱藏。 – murasaki5 2009-12-04 15:10:11

-1

我不應用更改知道你將如何顯示/隱藏用C#桌面上的圖標,但是我讀了幾篇文章關於如何使用密鑰來做到這一點。使用註冊表項方法的問題是必須重新啓動「Explorer.exe」進程才能使更改生效。幸運的是,我發現了一個代碼示例網上說做到了這一點:

On Error Resume Next 

' Kill Explorer.exe 

strComputer = "." 

Set objWMIService = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colProcessList = objWMIService.ExecQuery _ 
("Select * from Win32_Process Where Name = 'explorer.exe'") 

For Each objProcess in colProcessList 
objProcess.Terminate(1) 
Next 

' Launch Explorer.exe 

Set objShell = CreateObject("Wscript.Shell") 

objShell.Run "explorer.exe" 

Set objShell = Nothing 

Wscript.exit 

該腳本將迅速重啓「的Explorer.exe」進程,而不關閉日誌記錄當前用戶....希望它幫助!