当前位置: 首页 > 编程语言 > C#

Process.Start权限问题分享

时间:2023-04-10 15:57:35 C#

Process.Start权限问题我正在尝试使用Process.Start从C#运行外部问题,但我遇到了权限问题。当我正常打开命令提示符(不是以管理员身份)并运行我的命令时,它们工作正常,但是当我通过Process.Start打开命令提示符时,目录出现写入错误。(“我无法写入文件test.log”)如果我通过Process.Start以管理员身份运行,它工作正常,但我得到了权限弹出窗口。有没有人有任何想法可以帮助我解决这个问题?谢谢!这是我正在使用的代码:Processproc=newProcess();proc.StartInfo.FileName=@"cmd.exe";proc.StartInfo.Arguments=@"/klatexC:UsersShaneDocumentstest.tex";proc.开始();proc.WaitForExit();我想知道它是否正在尝试将诊断日志写入当前工作目录,您可能没有权限。(不知道会不会继承工作目录,还是包含cmd.exe的目录。)建议你使用ProcessStartInfo.WorkingDirectory来指定新进程的工作目录。(除了ProcessStartInfo,我个人发现最好创建一个新的ProcessStartInfo-C#对象初始值设定项使它特别好),然后调用Process.Start(ProcessStartInfo)来启动它。否则看起来好像有一个流程还没有真正的流程。只是MHO,可能与您正在调查的问题无关。)而不是使用cmd.exe作为Process对象的FileName属性,将命令保存在批处理文件中并使用该文件执行它。您还可以通过Process类的StartInfo属性提及管理员的权限,如用户名、密码、域等。如果您使用这些属性,我认为不会出现权限问题。在这里您可以找到有关StartInfo属性的更多信息。希望能帮到你。以上就是C#学习教程的全部内容:Process.Start权限问题。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: