c#建立快捷方式代码并且设置为管理员权限

建立快捷方式比较简单,

  WshShell shell = new WshShell();

            //通过该对象的 CreateShortcut 方法来创建 IWshShortcut 接口的实例对象 
            IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
                Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//ShortCut.lnk");

            //设置快捷方式的目标所在的位置(源程序完整路径) 
            shortcut.TargetPath = @"C:\Program Files\xxx.exe";

            //应用程序的工作目录 
            //当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。 
            shortcut.WorkingDirectory = System.Environment.CurrentDirectory;

            //目标应用程序窗口类型(1.Normal window普通窗口,3.Maximized最大化窗口,7.Minimized最小化) 
            shortcut.WindowStyle = 1;

            //快捷方式的描述 
            shortcut.Description = "ChinaDforce YanMang";

            //可以自定义快捷方式图标.(如果不设置,则将默认源文件图标.) 
            //shortcut.IconLocation = System.Environment.SystemDirectory + "\\" + "shell32.dll, 165"; 

            //设置应用程序的启动参数(如果应用程序支持的话) 
            //shortcut.Arguments = "/myword /d4s"; 

            //设置快捷键(如果有必要的话.) 
            //shortcut.Hotkey = "CTRL+ALT+D"; 

            //保存快捷方式 
            shortcut.Save();

设置为管理员运行权限需要点黑科技


 

   using (FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//ShortCut.lnk", FileMode.Open, FileAccess.ReadWrite))
            {

                fs.Seek(21, SeekOrigin.Begin);

                fs.WriteByte(0x22);

            }
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# 中,你可以通过以下代码设置软件的管理员权限: ```csharp using System.Diagnostics; using System.Security.Principal; // 检查当前用户是否为管理员 bool isAdmin = new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator); if (!isAdmin) { // 创建一个启动信息对象 ProcessStartInfo startInfo = new ProcessStartInfo(); // 指定要启动的程序的路径和文件名 startInfo.FileName = Application.ExecutablePath; // 指定启动时要使用的用户名和密码 startInfo.UserName = "Administrator"; startInfo.Password = new SecureString(); string password = "123456"; // 这里需要替换为实际的管理员密码 foreach (char c in password) { startInfo.Password.AppendChar(c); } // 指定启动时使用的域名,默认为本地机器名 startInfo.Domain = Environment.MachineName; // 指定启动时的参数 startInfo.Arguments = "/restart"; // 指定启动时的工作目录 startInfo.WorkingDirectory = Application.StartupPath; // 指定启动时的窗口模式 startInfo.WindowStyle = ProcessWindowStyle.Normal; // 指定启动时的标准输入输出流 startInfo.UseShellExecute = false; startInfo.RedirectStandardInput = true; startInfo.RedirectStandardOutput = true; // 启动程序,并等待程序退出 Process process = new Process(); process.StartInfo = startInfo; process.Start(); process.WaitForExit(); } ``` 这段代码首先检查当前用户是否为管理员,如果不是,则使用 `ProcessStartInfo` 对象来启动程序,并使用管理员权限运行程序。在 `ProcessStartInfo` 对象中,我们可以指定启动时使用的用户名、密码、域名、参数、工作目录、窗口模式以及标准输入输出流等信息。最后,我们使用 `Process` 对象启动程序,并等待程序退出。 需要注意的是,使用管理员权限运行程序需要输入管理员账户的密码,这里我们将密码以明文的方式写在代码中,这并不是一个安全的做法。为了保证安全性,我们应该将密码以加密的方式保存在配置文件中,或者使用其他安全的方式来获取管理员密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值