续【C# 以管理员方式启动Winform,进而使用管理员控制Windows Service】

前提:在我们的域环境下,给分配了管理员级别两个账号(user0,user1)。

需求:只允许一个账户运行进程"WindowsFormsApplication1":

       1,)当已经运行“WindowsFormsApplication1”且运行账户不是自己的账户,就需要提示该进程是被谁占用;

       2,)当已经运行“WindowsFormsApplication1”且运行账户是自己的账户,就需要提示该进程是被自己占用;

问题:

     当我以user0运行了改账户时,使用[代码Code-00]时,如果不启用该程序不是右键以管理员启动,在代码:

ManagementBaseObject outParameters = disk.InvokeMethod("GetOwner",inParameters,null);

    改行抛出异常,说权限不足。

解决办法:

     我们还是需要在工程中添加“Application Manifest File”文件,并配置应用程序以管理员角色账户启动。

[代码Code-00]:

续【C# 以管理员方式启动Winform,进而使用管理员控制Windows Service】_第1张图片

续【C# 以管理员方式启动Winform,进而使用管理员控制Windows Service】_第2张图片

 

你可能感兴趣的:(windows)