作为我的圣诞周副业,我想我应该编写一个快速的控制台应用程序,我可以运行从窗口启动文件夹。
该应用程序将删除一些不必要的全球公司桌面图标(我喜欢运行一个干净的桌面-这是常见的吗?)并将Windows 7主题重置为我可爱的Visual 2010图形。
我已经阅读了为什么不应该对用户进行专业编程的原因,但我觉得这种情况是不同的,因为每天早晨,我都会手动删除图标并重置主题(策略并不会停止这一点--只是每天早上重新应用),所以我认为,从长远来看,这个小的附带项目可以节省我的时间。
我正在删除图标OK,但我正在努力设置我的主题ala:
暗键( RegistryKey =RegistryKey True) "C:\Users\myprofile\AppData\Local\Microsoft\Windows\Themes\VS2010.theme") key.SetValue("CurrentTheme“) key.Close()
这是正确地设置注册表项,但不应用它。如能就如何开展这项工作或其他办法提出任何建议,将不胜感激。最终,我可能会尝试一个简单的墙纸集,但我想使用主题,如果可能的话!
谢谢
发布于 2010-12-21 14:16:35
您必须调用P/Invoke才能进行更改。您需要使用SetSystemVisualStyle
方法。
<DllImport("UxTheme.DLL", BestFitMapping:=False, CallingConvention:=CallingConvention.Winapi, CharSet:=CharSet.Unicode, EntryPoint:="#65")> _
Shared Function SetSystemVisualStyle(ByVal pszFilename As String, ByVal pszColor As String, ByVal pszSize As String, ByVal dwReserved As Integer) As Integer
End Function
SetSystemVisualStyle("C:\WINDOWS\resources\Themes\Luna\Luna.msstyles", "Metallic", "NormalSize", 0)
PInvoke.net现在给我带来了问题,所以您可能需要使用缓存页。
https://stackoverflow.com/questions/4498185
复制相似问题