重新启动程序未提升

2023-11-23

由于某种原因,我的 C# 程序需要以提升的权限重新启动。我使用以下代码来实现它:

private static void RestartForPermissionsFix()
{
    ProcessStartInfo processInfo = new ProcessStartInfo();
    processInfo.Verb = "runas";
    processInfo.FileName = Assembly.GetExecutingAssembly().Location;

    Process.Start(processInfo);
}

这很好用。

“修复我的权限”后,我想重新启动程序未升高的。我在没有“runas”的情况下尝试了与上面相同的方法,但它不起作用。我假设从提升的进程启动的进程会自动提升。任何想法?


为了从高完整性进程启动中等完整性进程,我相信您必须使用以下命令获取当前进程令牌OpenProcessToken,复制它,使用从令牌中删除高完整性SIDSetTokenInformation,然后使用该令牌创建新进程CreateProcessAsUser。这类似于这个例子,除非您必须删除高完整性 SID,而不是添加低完整性 SID。注意:我还没有测试过这个,所以我不能 100% 确定它会起作用。

我建议您让原始的未提升进程保持运行,并让它等待其提升的对应进程完成(例如使用Process.WaitForExit)。一旦完成,它可以像以前一样继续不升高。这会容易得多并且更加万无一失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新启动程序未提升 的相关文章

  • 将 C++ 代码(本机客户端)移植到浏览器(Web 应用程序)

    我有一个使用 Qt creator SDK 编写的 C 模块 我想将此代码移植到任何网页上运行 而不会对最终用户损害源代码 用户应该能够在任何浏览器 Chrome Firefox Safari Explorer 上看到此模块的输出 而无需安
  • 如何使用带有进度条的 HttpClient 下载文件?

    我创建了一个名为SiteDownload并添加了一些下载图像的链接 using System Collections Generic using System Linq using System Net using System Threa
  • 有没有办法将所有内容都包含在 dbcontext 中?

    当查询一个DbContext急切加载时 需要Include Navigation 为了填充导航属性 然而 在某些情况下 我想简单地Include all实体的导航属性 有没有办法做到这一点 或者有办法做到这一点 我假设你可以反思 但我宁愿避
  • 井字游戏代码有助于改进

    这是我必须检查玩家在井字棋游戏中获胜的代码 这是一个很长的 if 语句 可以改进 该板由 9 个图片框组成 我是一名 C 初学者 pBox Image Player players Player playerTurn getImage ch
  • strtok() 和空字段

    我正在将一些 C 结构序列化为字符串 然后将其反序列化strtok 但不幸的是 strtok 不检测空字段 例如 1 2 4 有没有替代功能 在linux上有strsep http www mkssoftware com docs man3
  • 委托和接口如何互换使用?

    我可以使用接口方法代替委托吗 如何 我发现搜索接口方法比使用委托更快 我希望有一个简单的代码片段 理论上 可以通过包含单个方法的接口 例如 Java 没有委托 来完成委托完成的所有工作 然而 它使代码变得更加冗长并且没有带来什么好处 话又说
  • 子进程中的变量修改

    我正在研究科比和奥哈拉伦的作品Computer Systems A Programmer s Perspective 练习 8 16 要求程序的输出如下 我更改了它 因为他们使用了一个你可以在他们的网站上下载的头文件 include
  • 模板“内联”函数的静态局部变量[重复]

    这个问题在这里已经有答案了 static的局部变量inline如果我的理解是正确的 C 中的函数保证像单个全局变量一样存在 如果inline函数是一个模板 编译器可以在哪里生成该函数的多个版本 下面这篇文章应该很好地回答你的问题 http
  • 加载配置文件时发生错误:访问路径 c:\Program Files (x86)\... 被拒绝

    我有一个在 Windows 7 上使用 Visual Studio 2010 中的安装程序部署的应用程序 该程序在 Windows 7 和 XP 上部署并运行良好 但当我在 Windows 8 系统上部署它时 出现有关访问配置文件的错误 该
  • C++ fill() 与 uninitialized_fill()

    您好 我是初学者 我想知道容器的 fill 和 uninitialized fill 之间的区别 我在谷歌上进行了快速搜索 但没有得到很好的答案 有人可以帮助我吗 fill 将值 使用赋值运算符 分配给已构造的对象 uninitialize
  • 如何在 .NET 中自定义 JSON 枚举的反序列化?

    我有以下示例 C 代码 它是使用 svcutil exe 应用程序从 xsd 自动生成的 DataContract public enum Foo EnumMember Value bar Bar 1 EnumMember Value ba
  • 通过 MVC 将数据写入数据库的最佳方法是什么?

    我正在使用 MVC 和 EF Core 开发一个家庭作业项目 我正在寻找将数据写入数据库的最佳方法 我是初学者 有两张桌子 Predbilje ba 报名 和Seminari 研讨会 public class Predbilje ba Ke
  • 为什么 C++ 元组如此奇怪?

    我通常创建自定义structs将不同类型的值分组在一起时 这通常很好 而且我个人发现命名成员访问更容易阅读 但我想创建一个更通用的 API 在其他语言中广泛使用元组后 我想返回类型的值std tuple但发现它们在 C 中使用比在其他语言中
  • 将纬度/经度转换为 X/Y,以便在美国地图图像上进行阿尔伯斯投影

    我正在尝试使用 C 或 Javascript 将纬度 经度转换为 X Y 坐标 以将带有 CSS 的 div 左 上 定位到美国地图的背景图像上 美国的标准地图投影是阿尔伯斯投影 如下所示 但 StackOverflow 仅提供参考基本墨卡
  • 使用 System.Json 迭代 JSON

    我正在探索 NET 4 5 的功能System Json库 但没有太多文档 而且由于流行的 JSON NET 库 搜索起来相当棘手 我基本上想知道 我如何循环一些 JSON 例如 People Simon Age 25 Steve Age
  • 定义一个断言,即使定义了 NDEBUG,该断言也有效

    我想定义一个assert与标准相同的宏assert 3 http man7 org linux man pages man3 assert 3 html调用 但它不会被预处理器删除NDEBUG被定义为 这样的呼唤 让我们称之为assert2
  • 在运行时将项目添加到 ToolStrip

    您好 我有一个带有 收藏夹 菜单的 ToolStripMenu 我想在运行时在 WinForms 应用程序中添加子项目 我有一个 datagridview 右键单击它会显示一个包含 添加到收藏夹 选项的上下文菜单 当该事件被触发时 我想使用
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • 当前线程中的单例

    我的单身人士如下 public class CurrentSingleton private static CurrentSingleton uniqueInstance null private static object syncRoo
  • InvalidOperationException:没有为方案“CookieSettings”注册身份验证处理程序

    我正在使用 ASP Net MVC core 2 1 开发一个应用程序 其中不断出现以下异常 InvalidOperationException 没有为方案 CookieSettings 注册身份验证处理程序 注册的方案有 Identity

随机推荐

  • 如何告诉 CMake 在编译我的源代码之前下载外部项目

    我有自己的代码 它依赖于第三方库 例如 yaml cpp 我想在编译我自己的源代码之前下载这些第三方库 但是 我无法使用 CMake 做到这一点 我成功下载了 yaml cpp 如下所示 ExternalProject Add yaml c
  • 接口(接口/抽象类)不是抽象?

    最近 我一直在阅读一些帖子 其中讨论了接口是抽象这一假定的错误观念 其中一篇文章是http blog ploeh dk 2010 12 02 InterfacesAreNotAbstractions aspx 我有一点困惑 如果我没有接口
  • Pandas read_excel 百分比作为字符串

    我的 Excel 工作表有一列用百分比符号存储的百分比 例如 50 我该如何胁迫pandas read excel读取字符串 50 而不是将其转换为浮点数 目前read excel实现将百分比解析为浮点数 0 5 另外如果我添加一个conv
  • 何时使用存根和模拟?

    我一直有这样的困惑 如果我编写一个使用假代码来断言某些操作的代码 那么当它真正使用真实对象而不是假对象启动时 我如何信任我的真实实现 例如 我有这样的代码 Test public void CanCreateContactsWithData
  • Linq - 如何从仅包含另一个列表的项目的列表中选择项目?

    我有这两门课 public class Item public int Id get set public List
  • Tomcat 会话超时 web.xml

    这是我的 web xml 文件 它位于WEB INF lib 它指定会话超时时间为 1 分钟 但用户活动 1 分钟后不会超时 Web xml
  • Laravel 嵌套关系

    我无法让非常嵌套的关系在 laravel 中正常工作 想要的行为如下 我通过 ID 选择一个事件 并且想查看哪些人订阅了该事件 现在的问题是事件和人之间有一些表 这是有效的查询 SELECT persons id persons first
  • 在单个标签中使用多种字体颜色

    有没有办法在 iOS 的单个标签中使用两种甚至三种字体颜色 如果使用文本 你好 你好吗 作为示例 那么 你好 将是蓝色的 而 你好吗 将是绿色的 这可能吗 看起来比创建多个标签更容易 参考这里 首先初始化你NSString and NSMu
  • 使用 Npgsql postgres 和 C# 更新命令

    我创建了一个搜索表单来根据称为许可证 ID 的搜索值来查找记录 我能够提取该值的所有字段 我的问题是我正在尝试更新该记录的任何字段 例如 如果我想更新所有这些字段值都在文本框中的地址字段或邮政编码字段 我在 Lname 处或附近遇到语法错误
  • 如何在 Meteor 1.0 中使用 jQuery

    我正在尝试在meteor js 应用程序中使用像这样的jquery JS if Meteor isClient Meteor startup function button click function p toggle 或者没有meteo
  • 相当于 Python 文件的移动百分比

    对于带有以下语言的语言 为了表示块 vim 拥有全能的 钥匙 python代码的等效运动是什么 或者至少以相同的缩进移动到下一行 上一行 The vim wiki建议绑定 例如 nnoremap
  • 如何将 javafx 8 滚动窗格的内容居中

    我有一个 ScrollPane 其中包含一个 GridPane 其中包含一个 ImageView 其中包含一个 Image 我想要的是图像在 GridPane 中居中 如果没有 ScrollPane 我可以使用 setAlignment P
  • 按多个条件子集

    也许这是基本的东西 但我找不到答案 我有 Id Year V1 1 2009 33 1 2010 67 1 2011 38 2 2009 45 3 2009 65 3 2010 74 4 2009 47 4 2010 51 4 2011 1
  • STAThread 和多线程

    来自 MSDN 关于 STAThread 的文章 指示应用程序的 COM 线程模型是单线程单元 STA 作为参考 那就是整篇文章 单线程公寓 好吧 这超出了我的理解范围 另外 我在某处读到 除非您的应用程序使用 COM 互操作 否则该属性实
  • 如何向 WCF 客户端公开枚举属性

    我想向 WCF 客户端应用程序公开枚举属性 但我只能看到枚举值 这是枚举 public enum TemplateType EnumDescription Property Particulars EnumValue PropertyPar
  • 如何使 SET XACT_ABORT ON 回滚事务?

    基于书籍 在线文档SET XACT ABORT ON 我的印象是 如果 T SQL 语句引发运行时错误 则整个事务将终止并回滚 Remarks 当 SET XACT ABORT 为 ON 时 如果 Transact SQL 语句引发运行时错
  • LINQ 在查询中插入 'ESCAPE N'~'

    当我检查 Linq 发出的 SQL 查询时 我注意到它在执行 LIKE 命令时放置了一个 ESCAPE N 我该如何摆脱这个 看起来查询花费的时间是 SQL 中转义符的两倍 这是 LINQ var SearchPhrase xyz var
  • 如何使用 perl cd 进入目录?

    我正在尝试以下 系统 cd目录文件夹 但它失败了 我也尝试系统 退出 离开终端 但它失败了 Code chdir path to dir or die Perldoc chdir EXPR chdir FILEHANDLE chdir DI
  • 用于解析 SQL 参数的正则表达式

    如果我有一个查询 例如SELECT from authors where name name param 是否有正则表达式来解析参数名称 特别是 name param Thanks 这很棘手 因为参数也可能出现在带引号的字符串内 SELEC
  • 重新启动程序未提升

    由于某种原因 我的 C 程序需要以提升的权限重新启动 我使用以下代码来实现它 private static void RestartForPermissionsFix ProcessStartInfo processInfo new Pro