问题标签 [startprocessinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
28976 浏览

vb.net - 在 vb.net 中以不同用户身份运行新进程

我目前正在使用本土方法在 Vista 中以不同用户的身份运行进程,我无法摆脱这种感觉,那就是它是 hack-ish 并且不太理想(除了它会破坏 UAC,让我的带有安全异常的应用程序,并迫使我完全禁用 UAC)。我的流程由两个项目(所以两个 EXE 文件)组成——一个“接口”和一个“启动存根”——这是流程:

  1. 用户有一个启动“Interface.exe notepad.exe”的快捷方式
  2. Interface.exe 有一个表单,询问他们想要使用的凭据
  3. Interace.exe 使用 ProcessStartInfo 作为新用户创建 LaunchStub.exe (LS) 的实例
  4. LS 使用 ProcessStartInfo(ShellExecute 设置为 true)来启动请求的文件,并且由于它已经作为请求的用户运行,因此新进程也是如此。

我有一个两步过程的原因是我希望用户能够右键单击操作系统对(.EXE、.SQL、.MSC 等)具有默认操作的任何文件并启动它,并且仅 ProcessStartInfo支持启用“UseShellExecute”,但该开关阻止我使用新凭据,所以我一次只能做一个。

这会导致一些问题 - 首先,用户必须已经存在于计算机上,这意味着他们之前必须在本地登录。如果该用户没有本地配置文件,则有时会启动所请求的应用程序,但我会收到注册表和配置文件异常,因为该应用程序希望存在尚不存在的事物(例如注册表中的 HKCU 配置单元,而用户不存在)因为他们从未登录过)。

我知道我应该能够将我的应用程序的权限“提升”给他们请求的用户,启动我的新进程,然后撤消提升,但我无法找到一个好的代码示例,并且我不确定它是否允许以完全不同的用户身份运行。这一切有意义吗?我只是不禁觉得有更好的方法来做到这一点。


更新:我刚刚尝试了一些我在网上找到的模拟代码,但无济于事。当与 ProcessStartInfo 结合使用时,它似乎仍然使用我当前的登录名来启动进程,而不是我提供的登录名,即使我已经使用提供的凭据激活了模拟。

0 投票
6 回答
48693 浏览

c# - ProcessInfo 和 RedirectStandardOutput

我有一个应用程序在命令窗口中调用另一个进程,并且该进程更新了输出到控制台窗口的统计信息。我认为这是一个相当简单的操作,但我似乎无法让它工作。我错过了什么吗?

理想情况下,我想要的是当我遇到的那个过程中的输出发生变化或数据进入阅读器时,我从中得到了事件。

任何帮助都会很棒,我觉得这是一个新手问题,但似乎遗漏了一些东西。

0 投票
1 回答
698 浏览

c# - 使用模拟问题启动外部流程

我从我的本地电脑(Windows 7)和我的本地家庭服务器(Windows 2008)将我的网站部署到我的新服务器(Windows 2003)上并且遇到了问题。

我有一个以以下代码启动的过程。它传递了一个被转换的视频文件。

我遇到的问题是在我的新 Windows 2003 服务器上它无法工作。没有错误或任何东西。查看服务器及其 taskmgr.exe 我看到进程启动但没有任何反应。

调查一下,每个人似乎都说我需要在我拥有的 webconfig 中有 impersonate="true",我目前将它设置为我用来登录远程桌面的管理员帐户(我认为这很好?? ?)

这仍然不起作用..在taskmgr.exe中查看该进程以用户名=“NETWORK SERVICE”启动...

有任何想法吗???

0 投票
1 回答
1356 浏览

c# - 在 C# 中启动“DOS”命令行时如何避免 Windows (XP) 安全警告?

这个问题与不久前提出的这个初始问题有关。

现在,我已经选择了提取工具,我正在遍历命令行参数目录和子目录中的给定目录以提取压缩的 .zip 文件。

但是每次我启动一个 7za 进程时,都会提示 Windows 安全警告。我想避免这种烦人的行为,所以这是我的问题:

在 C# 中启动“DOS”命令行时如何避免 Windows (XP) 安全警告?

0 投票
1 回答
9407 浏览

c# - 如何在 C# 中启动 32 位进程而不在 64 位机器上使用 shell 执行?

我在需要运行旧版 32 位报告应用程序的 64 位计算机上有一个 ASP .NET Web 应用程序。

当我使用 运行程序时UseShellExecute = false,程序以退出代码退出:

-1073741502

我不能使用 Shell Execute,因为我必须以不同的用户身份运行该进程。然而,当 Shell Execute 为真时,该进程将运行良好(尽管我必须更改执行 ASP .NET 的用户)。

如何在不使用 shell 执行的情况下使用 C# 启动这个 32 位程序?

这是我现在拥有的代码:

0 投票
3 回答
1058 浏览

c# - 为什么以编程方式转储 MySQL 数据库与通过命令行转储不同?

要从命令行转储数据库,我需要做的就是:

所以我会以编程方式尝试的就是这个,我想这是对它的直接解释:

这根本不起作用。相反,我必须去寻找这个可以在网上找到的东西,这也很有效。

  1. 为什么我需要使用流编写器在 sql 文件中获取数据库,否则我可以直接从命令提示符中的命令执行?

  2. -R 在第二个块中的作用是什么?

0 投票
2 回答
610 浏览

c# - 在 C# 中安装 EXE 并指定目录

如何在 C# 中指定安装特定程序的位置?我尝试使用 .WorkingDirectory 但它没有用。我想在桌面的 NotepadFolder 中安装 Notepad++ 安装程序,我该怎么做?

我在dotnetperls.com看到了下面的代码。他们没有指定两个字符串及其参数的使用,所以我现在很困惑:

0 投票
1 回答
358 浏览

process - 使用 C# 进程启动 .exe 与直接运行 .exe 产生不同的结果

我有一个在 TFS 2010 Build 中运行的自定义工作流活动,它使用ProcessProcessInfo类来启动一个自定义.exe,该自定义为我们的单元测试托管 WCF 服务。

当自定义 .exe 从我使用ProcessProcessInfo类启动它的工作流活动运行时,它没有任何作用,并且我的单元测试没有通过。但是,如果我直接使用.bat构建服务器上的文件启动该过程,则所有测试都可以正常通过。

Process从.Net 中的类运行进程与直接使用 .bat 文件运行它有区别吗?

0 投票
1 回答
374 浏览

c#-4.0 - System.Diagnostics.Process.Start with WindowStyle.Hidden 不会重新调整句柄

我正在尝试在隐藏模式下使用 process.start 打开简单的 .net exe/notepad.exe。并且我稍后需要进程句柄以使 application.exe 在一段时间后使其可见。

  1. 只能在 WindowStyle.Minimized、WindowStyle.Maximized、WindowStyle.Normal 中获取句柄。在隐藏式中,它总是给我 0。

  2. 如何在不使用 Thread.Sleep 的情况下进行处理。它需要我们等待几秒钟才能处理。某些 exe 需要更多等待时间,具体取决于其性能(大量数据)。

    /li>
0 投票
0 回答
294 浏览

azure - 从 Azure Function 运行 .NET Core (1.1) 控制台应用程序

每当服务总线队列中有新项目时,我就有运行用 .NET Core 1.1 编写的控制台应用程序的 azure 函数应用程序。当我在本地主机中手动调用时,设置工作正常,但在托管环境中它似乎没有按预期工作。该过程正在快速退出。

从 Azure Function App 记录