Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序

时间:2021-11-24 00:40:20

Windows服务一般运行在System权限下,这样权限比较高,方便执行一些高权限的操作。 但是,Environment.GetFolderPath等函数获取的也是System用户下的,而不是当前用户的。

解决方法

模拟当前用户,调用Environment.GetFolderPath等函数获取当前用户的路径,退出模拟

Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序

查看输出,可以看到模拟成功了:

Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序

第一行是当前用户的,第二行输出的是System用户的路径

获取完整的实例代码

支持WinXP及以上操作系统