草庐IT

process_usershare_file

全部标签

c# - 如何在没有 "process has exited"异常的情况下终止进程?

我使用Process.Kill()来终止进程。像这样:if(!process.WaitForExit(5000)){process.Kill();}有时进程会在两行之间退出,所以控制会进入if然后Kill会产生异常:System.InvalidOperationExceptionCannotprocessrequestbecausetheprocess(ProcessIdHere)hasexited.atSystem.Diagnostics.Process.GetProcessHandle(Int32access,BooleanthrowIfExited)atSystem.Diagno

c# - File.AppendAllText 如果不存在则创建子目录?

如果我有一个路径C:\Test\Test1\a.txt而Test1不存在,我如何确保在附加到a.txt之前创建它? 最佳答案 怎么样:Directory.CreateDirectory(Path.GetDirectoryName(filename)); 关于c#-File.AppendAllText如果不存在则创建子目录?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/54048

c# - Process.Start() 从命令提示符窗口获取错误

我正在尝试使用参数启动命令提示进程。现在我想获取有关错误的信息(如果存在)。someProcess=System.Diagnostics.Process.Start(cmd,someArgs);最好的问候,洛维吉 最佳答案 其他答案都是正确的。这是您可以使用的一些代码:ProcessStartInfostartInfo=newProcessStartInfo(cmd,args);startInfo.UseShellExecute=false;startInfo.RedirectStandardError=true;Processso

c# - 如何检查 System.IO.File.Delete 是否成功删除文件

使用system.io.file类删除文件后:System.IO.File.Delete(openedPdfs.path);如果文件被成功删除,我需要运行一些代码。只要该方法不返回任何值,我就会在delete方法之后检查文件是否存在。如果它仍然存在,我认为操作失败。问题是,删除方法工作正常,但要删除文件需要几秒钟。Exist函数返回true,因为当时它正在检查文件是否存在。我如何确定System.IO.File.Delete(openedPdfs.path);是否成功完成?代码:FileInfofile=newFileInfo(openedPdfs.path);System.IO.Fi

c# - 新的 .csproj 格式 - 如何将整个目录指定为子目录的 "linked file"?

有了新的.csproj格式(以及旧格式),可以将文件添加为项目文件夹外部的链接:也可以使用glob模式来包含多个文件:但是如何将两者结合起来呢?我尝试了什么前两个只创建一个链接文件(名称分别为*.cs和*)。第三个简单地出错了。有没有办法将globbing与链接文件结合到目标项目中的特定位置?如果不是,我如何在不知道有多少文件或它们的名称是什么的情况下链接目录中的所有文件? 最佳答案 虽然以前在使用glob扩展时使用%(RecursiveDir)元数据是可能的(Link="Resources\%(RecursiveDir)%(Fil

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

c# - Process.Start() 和 PATH 环境变量

我有以下简单的C#应用程序,它只是尝试启动“jconsole.exe”,它在我的机器上位于C:\Programs\jdk16\bin中。usingSystem;usingSystem.Diagnostics;namespacednet{publicclassdnet{staticvoidMain(string[]args){try{Process.Start("jconsole.exe");Console.WriteLine("Success!");}catch(Exceptione){Console.WriteLine("{0}Exceptioncaught.",e);}}}}如果我

c# - 如何从 ServiceController 确定 Windows.Diagnostics.Process

这是我的第一篇文章,所以让我先打个招呼吧!我正在编写一个Windows服务来监视同一台服务器上许多其他Windows服务的运行状态。我想扩展应用程序以打印服务的一些内存统计信息,但我无法弄清楚如何从特定的ServiceController对象映射到其关联的Diagnostics.Process对象,我认为我需要确定内存状态。我发现了如何从ServiceController映射到原始图像名称,但我正在监视的许多服务都是从同一图像启动的,因此这不足以确定进程。有谁知道如何从给定的ServiceController获取Process对象?也许通过确定服务的PID?或者是否有人对此问题有其他解

c# - Process.Start ("IEXPLORE.EXE") 在启动后立即触发 Exited 事件。为什么?

我在xp中安装IE8时遇到一个奇怪的问题。我试图在c#中使用System.Diagnostics.Process.Start方法启动IE。我需要捕获IE的退出事件并进行一些操作。但我最终遇到了一个相当奇怪的问题,即IE在启动后立即触发exited事件。这是示例代码ProcessobjProcess=Process.Start("IEXPLORE.EXE","http://google.com");if(objProcess!=null){objProcess.EnableRaisingEvents=true;objProcess.Exited+=newEventHandler(myPr

c# - "StandardOut has not been redirected or the process hasn' t started yet”在 C# 中读取控制台命令输出时

感谢@user2526830提供的代码。基于该代码,我在程序中添加了几行,因为我想读取SSH命令的输出。下面是我的代码,它在while行出错StandardOuthasnotbeenredirectedortheprocesshasn'tstartedyet.我想要实现的是,我想将ls的输出读入一个字符串。ProcessStartInfostartinfo=newProcessStartInfo();startinfo.FileName=@"f:\plink.exe";startinfo.Arguments="-sshabc@x.x.x.x-pwabc123";Processproce