C#中用管理员身份运行程序代码实例
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace MyWebBrowser { static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { //获得当前登录的Windows用户标示 System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity); //判断当前登录用户是否为管理员 if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)) { //如果是管理员,则直接运行 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { //创建启动对象 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); //设置运行文件 startInfo.FileName = System.Windows.Forms.Application.ExecutablePath; //设置启动动作,确保以管理员身份运行 startInfo.Verb = "runas"; //如果不是管理员,则启动UAC System.Diagnostics.Process.Start(startInfo); //退出 System.Windows.Forms.Application.Exit(); } } } }
相关推荐
-
C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
从 <<Windows Forms 2.0 Programming, 2nd Edition>> - Single-Instance Applications 这一章中, 学到了调用 VB.Net 中的 IsSingleInstance, 为 C# WinForm 添加只运行应用程序的单个实例 ( Single Instance Application). 是个好方法! 该方法显然从易用性上便捷与 Mutex 和 Process 这两种只运行单个应用程序实例的方法. Sing
-
C#确保只有一个实例在运行的方法
本文实例讲述了C#确保只有一个实例在运行的方法.分享给大家供大家参考.具体实现方法如下: public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName (current.ProcessName); //查找相同名称的进程 foreach (Process process in proc
-
C#开发Windows服务实例之实现禁止QQ运行
本实例主要实现下面三个基本功能 1.C#开发windows服务 2.禁止QQ等程序运行 3.为windows服务创建自动安装程序 下面针对这三个基本功能进行实现 一.C#开发windows服务 Windows服务在VS以前的版本中叫NT服务,在VS.NET启用了新的名称.用C#创建windows服务不是一件困难的事,下页针对服务创建.启动.停止做详细介绍 1.首先在vs中添加一winform程序KillService 2.在解决方案添加新项中添加Windows服务 3.打开服务页面,切换至代码页
-
解决C#程序只允许运行一个实例的几种方法详解
本文和大家讲一下如何使用C#来创建系统中只能有该程序的一个实例运行.要实现程序的互斥,通常有下面几种方式,下面用 C# 语言来实现:方法一:使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.把program.cs文件里的Main()函数改为如下代码: 复制代码 代码如下: using System;using System.Windows.Forms;using System.Runtime.InteropServices;namespace NetTools{ static cl
-
C#运行CGI程序实例
本文实例讲述了C#运行CGI程序的方法.分享给大家供大家参考.具体实现方法如下: 一.控制面板->程序和功能->打开或关闭Windows功能 把相关的功能勾上,点"确定" 二.新建一个网站,配置ISAPI和CGI限制.处理程序映射 三.CGI控制台应用程序代码: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Threading; names
-
C#测量程序运行时间及cpu使用时间实例方法
这里要指出的是, 运行一段程序,使用的cpu时间,跟实际运行的时间是不一样的.附例如下: 复制代码 代码如下: private void ShowRunTime() { TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessorTime; Stopwatch stw = new Stopwatch(); stw.Start(); int Circles = 1000; for (int i = 0; i < Circles
-
C#中用管理员身份运行程序代码实例
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace MyWebBrowser { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { //获得当前登录的Windows用户标示 Sy
-
C#默认以管理员身份运行程序实现代码
上篇博客写了一下如何通过网络时间更新系统时间,当时写的时候怎么测试都不成功,后来想想是不是我操作系统(当时是在win8上开发的)的问题.当时我猜应该是权限不够,导致无法修改系统时间,于是我以管理员身份运行了一次,结果测试成功!原来真的是权限的问题,于是就在程序里面加入了默认以管理员身份运行的代码.下面让我们看看是怎么实现的吧! 程序默认以管理员身份运行 复制代码 代码如下: static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序
-
admin.vbs 以管理员身份运行程序的vbs命令
复制代码 代码如下: '以管理员身份运行程序的命令admin.vbs Set objWMIServices = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set objWbemObjectSet = objWMIServices.ExecQuery(_ "SELECT * FROM Win32_Process WHERE " &_ "Executabl
-
如何判断 .NET Core 应用程序以管理员身份运行的
目录 1.euid 2.setuid 3.Demo 有时候,我们需要知道当前程序是否以管理员身份运行,以便执行一些需要特殊权限的操作. 在github上找到了一个解决方案: //需要引用nuget包Mono.Posix.NETStandard public static bool IsAdministrator => RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? new WindowsPrincipal(Win
-
自动以管理员身份运行批处理bat文件(vbs与bat两种方法)
但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右键点击,用管理员身份运行!).bat",但总有些用户会忽略这条提示,直接运行,此时由于权限不足,导致脚本运行失败. 我们可以使用一种变通的方法,让bat启动时,首先调用vbs脚本,通过vbs脚本,以管理员身份调用该bat的 runas 部分 我们的脚本可以写在runas 下,这样就点击该bat脚本,就可以已管理员身份运行了 示例代码如下 @ECHO OFF setlocal EnableDelay
-
windows搜索空文件夹的批处理程序代码实例
有时候需要搜索查找空文件夹,一个方法是将浏览器旁的目录树打开,挨个查看,如果有成百上千个目录呢,以人力去找就太费时费力了,本文介绍一个批处理程序,可以代替人力完成这个任务. 代码 ::Search for empty dirs. ::by lvfeng, Mar 11,2009 @echo off setlocal enabledelayedexpansion color 1E echo 本程序搜索空目录 echo. echo by www.lfhacks.com echo. echo 按任意键
-
python英语单词测试小程序代码实例
这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧- import requests #扇贝网爬虫,获取英语单词 category_res=requests.get('https://www.shanbay.com/api/v1/vocabtest/category/?_=1566889802182') ca
-
c#通过app.manifest使程序以管理员身份运行
微软在Windows Vista开始引入了UAC(用户帐户控制)新技术(点击这儿了解什么是UAC).当程序执行时需要权限的话,UAC会弹出警告消息:让用户确认是否同意允许这个程序改变你的计算机配置,windows需要得到你的许可才可以让程序继续执行下去. 通常我们使用c#编写的程序不会弹出这个提示,也就无法以管理员身分运行.微软的操作系统使用微软的产品方法当然是有的,通过app.manifest配置可以使程序打开的时候,弹出UAC提示需要得到允许才可以继续,这样就获得了管理员的权限来执行程序.
-
易语言程序默认以管理员身份运行方法
由于Win7及以上版本系统的UAC账户控制权限,导致易语言写的很多程序在没有以管理员权限运行的的情况下,无法正常进行一些需要管理员权限的操作,如修改注册表等,那么我们如何在用户启动程序的时候就向系统申请管理员权限,以保证程序能正常使用呢? 1.打开Restorator 2009,通过文件菜单打开要修改的程序test.exe.此时的test.exe没有管理员权限,如图,程序图标上并没有那个标志了管理员权限运行的 小盾牌 图标. 2.在桌面建立名为1.txt的文本文件,并将下面的内容写入后保存.此文
-
Java实现在不同线程中运行的代码实例
本文实例讲述了Java实现在不同线程中运行的代码.分享给大家供大家参考,具体如下: start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用. 代码1 package Threads; /** * Created by Frank */ public class ThreadsDemo1 extends Thread { private String msg; private int count; public ThreadsDemo1(final String msg, i
随机推荐
- Nginx+lua 实现调用.so文件
- JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
- go语言里包的用法实例
- 算法系列15天速成 第十一天 树操作(上)
- 在linux系统下安装redis的方法
- 好东西,老外用正则表达式写的HTML分离函数
- 使用Swift代码实现iOS手势解锁、指纹解锁实例详解
- iOS应用开发中StoryBoard搭建UI界面的基本使用讲解
- JavaScript判断页面加载完之后再执行预定函数的技巧
- php 在文件指定行插入数据的代码
- Laravel 5框架学习之Blade 简介
- python3.4用循环往mysql5.7中写数据并输出的实现方法
- Dom遍历XML的一个例子,结果为树状结构
- JavaScript对象反射用法实例
- 用户体验第一 font-size放弃px选择em
- 一段ASP单页显示文件夹下所有图片的代码
- mysql修改开启允许远程连接的方法
- 摄像头故障诊断+解决方案
- LNMP服务器环境配置 (linux+nginx+mysql+php)
- Android笔记之:CM9源码下载与编译的应用