从 C# 应用程序中启动 SFC

2023-12-10

我一直在寻找,但似乎无法完成这项工作。我正在尝试从 C# 应用程序中的按钮启动 SFC。我知道这需要权利提升,并且在我试图做的范围内是我想要的行为。

我努力了:以管理员身份运行 cmd 和命令? 使用来自 C# 的参数以管理员身份运行 CMD and C# 如何通过管理员提升的 cmd 运行进程(带参数)

我上次尝试的代码是:

private void button6_Click(object sender, EventArgs e)
    {
        ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + "processNeedToRun")
        {
            RedirectStandardError = true,
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true,
            Verb = "runas"
        };

    }

我要么在所有 cmd 窗口闪烁时都没有进程启动,提示凭据不正确,要么命令不正确。

我究竟做错了什么?

根据添加的评论,我将其更改为:

private void button6_Click(object sender, EventArgs e)
    {
        ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + "sfc.exe /scannow")
        {
            RedirectStandardError = false,
            RedirectStandardOutput = false,
            UseShellExecute = true,
            CreateNoWindow = false,
            Verb = "runas"
        };

    }

没有变化

EDIT:

所以我设法找到了解决方案:

我创建了一个新的控制台应用程序,编辑了清单以需要管理员并执行此操作

Process.Start("CMD.exe", " /c SFC /Scannow");

这确实有我想要的行为。谢谢您的帮助!


您的控制台没有提升,问题是您可以使用Verb = "runas"并将其提升或者您可以使用UseShellExecute = false并重定向输出,你不能两者兼得.

您的三个选择是:

  1. Use UseShellExecute = true并禁用重定向
  2. 添加清单文件到您的程序,以便它在启动时将自己提升为管理员,然后它可以依次启动管理进程并监视它们。
  3. 通过编写第二个 exe 来将两者结合起来,该 exe 具有始终以管理员身份运行的清单文件。然后让你的第一个程序启动第二个程序Verb = "runas",然后你的第二个程序就开始了SFC with UseShellExecute = false。然后,您的第二个程序通过某种形式的 IPC 转发输出(命名管道上的 WCF可能是最简单的)到第一个向用户显示的未提升的程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C# 应用程序中启动 SFC 的相关文章

  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 如何在不使用流媒体服务器的情况下实施 Adob​​e HTTP Streaming 规范

    从 Flash 10 1 开始 他们添加了通过appendBytes 方法将字节添加到 NetStream 对象中的功能 此处描述 http www bytearray org p 1689 增加这一功能的主要原因是 Adob e 终于支持
  • 检查当前用户是否是文档的作者

    我有一个 formA 其中有一个字段 author 其类型为作者 计算 用于显示值 Subset Updatedby 1 我在 viewA 上显示 formA 的信息 我想要实现的是 您创建的文档在 viewA 上只有您自己可见 我在 vi
  • 尝试加入频道时出现“错误提案响应 500”错误

    我有以下结构 一个排序者 一个 ca 和一个对等点 定义了通道 1 并且对等方已成功加入该通道 第一个链码已成功部署在对等点上 链码已使用 Composer 编写 导出为 bna 使用连接配置文件 json 在所描述的结构上安装并启动 我试
  • 将新表单添加到 DOM 时,client_side_validations (3.1.0) 不起作用

    我正在使用 Rails 3 1 0rc4 和 client side validations 3 1 0 只要表单在主请求中呈现 一切都会完美运行 但是 如果表单本身通过 JavaScript 添加到页面 则提交表单会导致服务器端验证 我怀
  • Excel 中的模式匹配计数(正则表达式和 VBA)

    我有一个 Office 2007 XLSX文件包含超过 5000 条记录 如下所示 具有多行文本的单个单元格 问题 在相邻的单元格上 输入该单元格中的事件计数 查看 A1 的单元格数据 您可以看到 3 个事件 Cell A1 1 15 20
  • 使用 Styler 对数据框着色后格式化数字

    我在 pandas 中创建了一个 DataFrame 我想使用颜色索引 低值红色 高值绿色 为单元格着色 我成功地做到了这一点 但是颜色阻止我格式化单元格 import pandas as pd df pd DataFrame a 0 5
  • 无法删除 matplotlib.animation.FuncAnimation 对象

    编辑 TL 博士 看起来好像有一个matplotlib backends backend qt4 TimerQT包含对我的 FuncAnimation 对象的引用的对象 如何删除它以释放 FuncAnimation 对象 1 一些背景知识
  • Beautiful Soup Find - 只获取文字

    我有这段代码仅以字符串形式输出价格 125 01 但我必须更改一些内容 因为现在它会打印带有 html 标签和所有内容的整行 我怎样才能让它只打印出文本 而不使用正则表达式 import requests from bs4 import B
  • WP7 GestureListener 上图像宽度/高度的约束

    我添加了GestureListener对于一个图像 我试图像这样的 Stack Overflow 答案进行缩放 如何在WP7中放大和缩小图像 问题是图像永远不会停止缩放 并覆盖页面上的其他控件 这涵盖了页面上的一些重要按钮 此外 它允许图像
  • 找不到 Graphviz 的可执行文件(Python 3.4)

    我在 Windows 7 上运行 Python3 4 我尝试使用 graphviz 的 Python 接口 这是我打算运行的脚本 from graphviz import Digraph import pydotplus dot Digra
  • 通过命令行替换 csv 中的特定文本

    我有 csv 格式的数据 可以从以下位置获取输出SQL Server 数据有一些NULL and N A 写出的值构成列字符类型 否则它只会由整数组成 是否可以通过批处理文件语句查找这些值并将其替换为数字 例如 1NULL和 2 为N A
  • PYSPARK:如何可视化 GraphFrame?

    假设我创建了下图 我的问题是如何可视化它 Create a Vertex DataFrame with unique ID column id v sqlContext createDataFrame a Alice 34 b Bob 36
  • 如何使用 openssl lib pem_read 从字符串读取公钥/私钥

    我在C 中使用openssl 将PrivateKey和PublicKey文件内容复制到两个const char 但我看到api的演示只是从pem文件中获取pem公钥 私钥 那么如何从字符串中获取公钥 私钥呢 尝试这个 char mKey B
  • 缩放 UIPageControl 的当前点并保持其居中

    我对 UIPageControl 进行了子类化 以便使其当前的点更大 class CustomPageControl UIPageControl override var currentPage Int didSet updateDots
  • 在 Python 中将数据文件列拆分为单独的数组

    我是 python 新手 一整天都在试图解决这个问题 我有一个数据文件 如下所示 time I R stkb Step Information Temp 0 Run 1 11 0 000000000000000e 000 0 000000e
  • 在 PHPMailer 上使用 OAuth 2.0 的 Microsoft Office 授权问题

    我在通过 PHPMail 发送 SMTP 邮件期间遇到 OAuth 2 0 授权问题 基本上 我已经尝试了下面列出的所有范围 email openid profile https graph microsoft com Mail Send
  • 用 div 替换文本框,jquery 不起作用

    它只工作了几秒钟 然后 div 再次消失 document ready function done click function txtname replaceWith function return div this val div 你也
  • 如何使用太阳黑子实现通配符搜索

    随时欢迎任何帮助 我将 sunspot 与 solr 一起使用 但无法找到任何好的解决方案来说明如何使用 sunspot 执行通配符搜索 如果我搜索 8088 它应该返回以 8088 但不是 228088560 开头的所有数字 在 solr
  • 从 libgdx 中的集合中检测触摸对象(移动)的最佳方法

    这是我第一次尝试游戏开发 我刚刚开始尝试 libgdx 并了解游戏编程的不同方面 我看了示例项目 我可以了解libgdx游戏的整体架构 但为了掌握游戏动力学的基础知识 我开始玩低级的东西 比如如何绘制简单的形状 如何移动它们 如何处理此类碰
  • 从 C# 应用程序中启动 SFC

    我一直在寻找 但似乎无法完成这项工作 我正在尝试从 C 应用程序中的按钮启动 SFC 我知道这需要权利提升 并且在我试图做的范围内是我想要的行为 我努力了 以管理员身份运行 cmd 和命令 使用来自 C 的参数以管理员身份运行 CMD an