Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C“我如何要求管理员,而不要求”;强迫;他_C# - Fatal编程技术网

C# C“我如何要求管理员,而不要求”;强迫;他

C# C“我如何要求管理员,而不要求”;强迫;他,c#,C#,因此,我基本上希望我的应用程序重新启动,如果第一次被拒绝,则不请求管理员权限 编辑: 感谢您的支持,事实证明,在Windows中不可能按我希望的方式工作,要么进程在启动时提升,要么不提升。没有中间立场。用户拒绝提升提示意味着进程将无法启动 因此,唯一的方法是将应用程序作为多个单独的程序分发,其中所有管理任务都集中在可以在单独进程中运行的附加exe文件中。然后,当您需要以管理员身份执行某项活动时,您可以使用适当的信息启动该程序。命令行参数、磁盘上的文件或通过网络或IPC都可以为补充程序提供所需的任

因此,我基本上希望我的应用程序重新启动,如果第一次被拒绝,则不请求管理员权限

编辑:


感谢您的支持,事实证明,在Windows中不可能按我希望的方式工作,要么进程在启动时提升,要么不提升。没有中间立场。用户拒绝提升提示意味着进程将无法启动

因此,唯一的方法是将应用程序作为多个单独的程序分发,其中所有管理任务都集中在可以在单独进程中运行的附加exe文件中。然后,当您需要以管理员身份执行某项活动时,您可以使用适当的信息启动该程序。命令行参数、磁盘上的文件或通过网络或IPC都可以为补充程序提供所需的任何附加信息。用户将看到新流程的提示并批准或拒绝它,您可以通过让应用程序在首次成功启动时采取一些可见的操作来检测拒绝状态


当然,您仍然希望像普通用户一样尝试尽可能多的工作。例如,遍历文件系统仍然可以像普通用户一样工作;你只是看不到某些文件夹。这并不意味着重复代码。您可以将代码放入类库(dll),并从主(非特权)进程启动到与从特权子进程启动相同的类库中。

除了通过显式强制用户以管理员身份运行外,还可以在运行时使用检查


根据用户访问级别,您可以启用/禁用某些功能。此外,您还可以提醒用户,他可以在admin(右键单击>以管理员身份运行)中重新启动应用程序,以便在启动时或显示禁用的功能时启用某些功能。

不明白,这与编程有关吗?就像在“管理”或“工作相关”中运行程序一样…?这与编码或C#有什么关系?从措辞上看,这听起来好像你想问你的管理员你是否有运行程序的管理权限。在这种情况下,这与本网站无关。如果只是允许管理员使用提升运行,而非管理员不使用提升运行,这可能会有所帮助: