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

限制特定进程运行
本文介绍如何在Windows域环境中,仅允许指定的管理员账户运行WindowsFormsApplication1进程,并通过代码检测当前进程是否被正确账户运行。当进程由非授权账户运行时,将提示占用信息。

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

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

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

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

问题:

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

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

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

解决办法:

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

[代码Code-00]:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值