将其中的 asInvoker 替换为 requireAdministrator,
[csharp] view plain copy print?
1. requestedexecutionlevel> 保存编译项目。注意在保存编译项目前,注意要取消勾选项目安全性中的“启用 ClickOnce 安全设置”,否则编译会出错(取消勾选并不会删除已经生成的 app.manifest 文件)。这样程序就会自动以管理员权限运行了。 解决了权限的问题后,将删除 USB 存储设备使用痕迹的服务程序 USBCleaner.exe 复制到 USBViewer.exe 所在文件夹下,运行 USBViewer.exe,结果如下: 执行删除操作,可以看到系统服务列表里出现了显示名称为 USB Cleaner 的服务: 查看其属性,确实是执行注册表删除操作的服务。 点击“退出”按钮,稍等程序对服务进行卸载,然后再次查看一下系统服务列表,发现 USB Cleaner 服务被卸载了。检查 USBViewer.exe 文件所在文件夹,会发现多了两个文件,一个是 USBCleanerLog.txt,它是执行删除操作的日志文件: 而另外一个文件 USBCleaner.InstallLog 则是在执行安装和卸载服务时产生的日志文件,可打开查看其中的内容。 第五节 小结 通过此次 C# WindowsForm编程练习,进一步熟练了C#的使用,对注册表的操作和 Windows服务的安装及卸载有了进一步的了解,同时对相关的知识做了一番梳理,有利于自己编程水平的提高(本文所涉及的解决方案文件已压缩为 RAR格式的压缩文件以供下载,下载链接: