gpt4 book ai didi

c# - Process.Start() 不会在同一用户下生成新进程

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:48 27 4
gpt4 key购买 nike

我一直认为,当您以 (domain\user) mydomain\myuser 运行进程时,当使用 Process.Start() 时,它会使用相同的凭证启动这个新进程 - mydomain\myuser

我遇到的问题是我的 Process.Start() 调用似乎是在 SYSTEM 帐户下创建一个进程,这导致我在启动的进程(必须在一个管理员帐户,因为它所做的工作)。如果它改变了一些东西——我正在从 windows 安装程序 中生成这个进程(一个自定义构建的 exe)。

有什么建议吗?我读过 Windows 组策略(可能)对此有影响,但老实说,我不知道。

编辑:一小段:

其中exenamecommandLine是这个方法体的参数:

ProcessStartInfo procInfo = new ProcessStartInfo(exeName, commandLine);
procInfo.WorkingDirectory = workingDirectory;
procInfo.UseShellExecute = false;
procInfo.CreateNoWindow = true;
Process process = Process.Start(procInfo);
Process.WaitForExit();
return process.ExitCode;

最佳答案

要么将 procInfo.UseShellExecute 设置为 true,要么将 cmd 作为进程执行,并将您的 exe 作为 cmd 命令的参数。当 UseShellExecute 设置为 false 时,这里有很多有趣的副作用:UseShellExecute

关于c# - Process.Start() 不会在同一用户下生成新进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com