我想知道在双击桌面时是否有办法切换桌面图标以显示/隐藏。类似于Stardock Fences的做法。我希望它可以使用visual c#。
完成答案 0 :(得分:2)
问题的第二部分(双击桌面时)相对简单。您需要将应用程序定义的挂钩过程安装到挂钩链中。听起来相当困难,但在找到的代码示例here中有详细解释。您可能需要下载源here(需要一个免费帐户)。
对于第一部分,隐藏/取消隐藏桌面图标,我发现了几个类似的代码示例,如this,但是,似乎没有一个在我的电脑上工作,所以你可能想寻找另一个解决方案来解决这个问题
答案 1 :(得分:0)
为了隐藏桌面图标,有一个注册表项(看看here)。
我想您必须在此之后重新启动资源管理器才能使用
应用更改 Process[] proc = Process.GetProcessesByName("Explorer");
foreach(Process p in proc)
p.Kill();
Process.Start("explorer.exe");
答案 2 :(得分:-1)
我不知道如何使用C#显示/隐藏桌面图标,但是我已经阅读了一些关于如何使用resistry键执行此操作的文章。使用注册表项方法的问题是必须重新启动“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”进程,而无需关闭当前用户....希望它有帮助!