请问关于c的具体应用场景有哪些?

2026-04-29 05:423阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计436个文字,预计阅读时间需要2分钟。

请问关于c的具体应用场景有哪些?

我尝试了使用截图获取输出,以显示我机器上当前打开的文档,但似乎它总是返回NULL。代码片段如下:

csharpStringCollection values=new StringCollection();var proc=new Process { StartInfo=new ProcessStartInfo { FileName=openfiles.exe, Arguments=A }};

我试图获取输出以显示我的机器上当前打开的文档,但无论如何它都会返回NULL.

StringCollection values = new StringCollection(); var proc = new Process { StartInfo = new ProcessStartInfo { FileName = "openfiles.exe", Arguments = "/query /FO CSV /v", UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true } }; proc.Start(); while (!proc.StandardOutput.EndOfStream) { string line = proc.StandardOutput.ReadLine(); values.Add(line); } foreach (string sline in values) MessageBox.Show(sline);

编辑:

在进一步审查期间,我发现我遇到了一个异常问题.在我的诊断运行期间,我得到以下内容:
Proc.BasePriority是System.InvalidOperationException类型的异常

编辑:

尝试将代码拉为:

string val = proc.StandardOutput.ReadToEnd(); MessageBox.Show(val);

返回时也是NULL值,并且proc甚至在proc.start();之后仍然有错误.

您必须同时读取标准输出和标准错误流.这是因为你无法从同一个线程中读取它们.

要实现这一点,您必须使用将在单独的线程上调用的eventhandlers.

将代码编译为anycpu,因为openfiles有32位和64位变体.如果架构不匹配,它可能找不到可执行文件.

从错误流中读取的行前缀为! >所以他们在输出中脱颖而出.

StringCollection values = new StringCollection(); var proc = new Process { StartInfo = new ProcessStartInfo { FileName = "openfiles.exe", Arguments = "/query /FO CSV /v", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = false } }; proc.Start(); proc.OutputDataReceived += (s,e) => { lock (values) { values.Add(e.Data); } }; proc.ErrorDataReceived += (s,e) => { lock (values) { values.Add("! > " + e.Data); } }; proc.BeginErrorReadLine(); proc.BeginOutputReadLine(); proc.WaitForExit(); foreach (string sline in values) MessageBox.Show(sline);

请问关于c的具体应用场景有哪些?

本文共计436个文字,预计阅读时间需要2分钟。

请问关于c的具体应用场景有哪些?

我尝试了使用截图获取输出,以显示我机器上当前打开的文档,但似乎它总是返回NULL。代码片段如下:

csharpStringCollection values=new StringCollection();var proc=new Process { StartInfo=new ProcessStartInfo { FileName=openfiles.exe, Arguments=A }};

我试图获取输出以显示我的机器上当前打开的文档,但无论如何它都会返回NULL.

StringCollection values = new StringCollection(); var proc = new Process { StartInfo = new ProcessStartInfo { FileName = "openfiles.exe", Arguments = "/query /FO CSV /v", UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true } }; proc.Start(); while (!proc.StandardOutput.EndOfStream) { string line = proc.StandardOutput.ReadLine(); values.Add(line); } foreach (string sline in values) MessageBox.Show(sline);

编辑:

在进一步审查期间,我发现我遇到了一个异常问题.在我的诊断运行期间,我得到以下内容:
Proc.BasePriority是System.InvalidOperationException类型的异常

编辑:

尝试将代码拉为:

string val = proc.StandardOutput.ReadToEnd(); MessageBox.Show(val);

返回时也是NULL值,并且proc甚至在proc.start();之后仍然有错误.

您必须同时读取标准输出和标准错误流.这是因为你无法从同一个线程中读取它们.

要实现这一点,您必须使用将在单独的线程上调用的eventhandlers.

将代码编译为anycpu,因为openfiles有32位和64位变体.如果架构不匹配,它可能找不到可执行文件.

从错误流中读取的行前缀为! >所以他们在输出中脱颖而出.

StringCollection values = new StringCollection(); var proc = new Process { StartInfo = new ProcessStartInfo { FileName = "openfiles.exe", Arguments = "/query /FO CSV /v", UseShellExecute = false, RedirectStandardOutput = true, RedirectStandardError = true, CreateNoWindow = false } }; proc.Start(); proc.OutputDataReceived += (s,e) => { lock (values) { values.Add(e.Data); } }; proc.ErrorDataReceived += (s,e) => { lock (values) { values.Add("! > " + e.Data); } }; proc.BeginErrorReadLine(); proc.BeginOutputReadLine(); proc.WaitForExit(); foreach (string sline in values) MessageBox.Show(sline);

请问关于c的具体应用场景有哪些?