【发布时间】:2009-11-25 09:38:13
【问题描述】:
我想知道是否有办法在双击桌面时切换桌面图标以显示/隐藏。类似于在 Stardock Fences 中的操作方式。我希望使用 Visual c# 来完成。
【问题讨论】:
标签: c# desktop icons double-click
我想知道是否有办法在双击桌面时切换桌面图标以显示/隐藏。类似于在 Stardock Fences 中的操作方式。我希望使用 Visual c# 来完成。
【问题讨论】:
标签: c# desktop icons double-click
为了隐藏桌面图标,有一个注册表项(看看here)。
我猜你必须在那之后重新启动你的资源管理器才能通过使用来应用更改
Process[] proc = Process.GetProcessesByName("Explorer");
foreach(Process p in proc)
p.Kill();
Process.Start("explorer.exe");
【讨论】:
我不知道您将如何使用 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”进程,而无需注销当前用户......希望对您有所帮助!
【讨论】: