【c# – 检查特定进程运行的快速方法】教程文章相关的互联网学习教程文章

c# – 如何取消深层嵌套的进程【代码】

我有一个类是“经理”类.其中一个功能是发出应该关闭该类的长时间运行过程的信号.它通过在类中设置一个名为“IsStopping”的布尔值来实现.public class Foo {bool isStopingvoid DoWork() {while (!isStopping){// do work...}} }现在,DoWork()是一个巨大的功能,我决定重构它,并且作为该过程的一部分,将其中的一部分打破到其他类中.问题是,这些类中的一些还具有长时间运行的函数,需要检查isStopping是否为真.public class Foo {boo...

C#递归删除进程及其子进程【代码】

/// <summary>/// 结束进程和相关的子进程/// </summary>/// <param name="pid">需要结束的进程ID</param>public static void KillProcessAndChildren(int pid){ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid);ManagementObjectCollection moc = searcher.Get(); try{Process proc = Process.GetProcessById(pid);Console.WriteLine(pid);proc.K...

c# – 如何枚举CLR管理的运行进程?

如何枚举正在运行的进程? app域名怎么样? 会不会有任何与安全相关的陷阱? 我对仅使用.NET 4.0,仅适用于Windows 7 / Windows Server 2008 R2的解决方案感到满意. P.S.:这就是我想要做的……ProcessExplorer.NET question解决方法:System.Diagnostics.Process.GetProcesses()将所有正在运行的进程列为Process对象.

C#多线程进程中线程的局部堆【代码】

我在C#中有一个多线程进程,每个线程经常尝试从堆中分配内存.这需要多个堆锁,因此降低了线程的优势. 是否存在类似线程的本地堆,因此同时尝试从不同线程分配内存不会锁定其中一个?解决方法:根据this article,当多个线程同时分配内存时,多处理器系统中没有争用:Synchronization-free Allocations On a multiprocessor system,generation 0 of the managed heap is split into multiple memory arenasusing one arena per thread. Th...

c# – 当调用进程退出或被杀死时,如何正常结束线程?

所以我想的是一个类的实例,我想要一个线程在类的生命周期中运行,但是当调用类的进程不再运行时终止.这不是父线程终止子进程的情况,而是单个旋转(在等待循环中)线程正常退出而不保留资源等. 我认为在C中,你可以告诉线程使用析构函数中的volatile bool终止,但是在C#中,?不是析构函数,它是终结器.我无法使用终结器成功终止线程.也许我错过了一些东西.我知道更好的做法是让所有线程死于自然死亡而不发出信号终止,但每次我需要做某事时产...

C#/ .Net启动进程,退出代码为-2146234327

我有一个C#4应用程序,它启动另一个应用程序来执行一些Python代码. Python代码可以毫无问题地执行(在PythonWin上检查).在我的应用程序中,我看到退出代码是-2146234327.我一直在谷歌搜索,无法弄清楚它是什么意思.有任何想法吗?谢谢解决方法:-2146234327是HRESULT代码,通常以十六进制查找.见Interpreting HRESULTS returned from .NET/CLR: 0x8013XXXX:HOST_E_EXITPROCESS_TIMEOUT 0x80131029 Process exited due toTimeout escalat...

c# – 如何使用Win32API在其他进程中滚动窗口【代码】

我试图创建一个程序,我可以将一个进程的进程ID(可能是firefox,即记事本等)发送到滚动进程窗口的方法. 我一直在尝试使用GetScrollBarInfo和SetScrollPos,我在pinvoke找到了没有任何成功.我不确定这是不是正确的方法.我开始玩GetScrollBarInfo,但它似乎不起作用. 我尝试了在http://www.pinvoke.net/default.aspx/user32.getscrollbarinfo找到的代码[StructLayout(LayoutKind.Sequential)] public struct SCROLLBARINFO {public int c...

c# – 如何获取正在运行的进程的ExitCode【代码】

我正在编写一个应用程序来检查另一个应用程序的退出代码.我正在监视的应用程序可能已在运行,因此我正在使用Process.GetProcessesByName检查它.如果它存在,我在调用WaitForExit后检查退出代码,但是当我这样做时,我得到一个异常: “此过程未启动过程,因此无法确定所请求的信息.” 如果我启动进程(如果它还没有运行)那么它不会给我异常. (Windows 8.1) 那么当我没有开始这个过程时,如何找出ExitCode是什么?我能想到的唯一选择是在退...

c# – 删除另一个进程正在使用的图像【代码】

我正在用C#编写一个winform应用程序来打开一个图像并在其上面叠加另一个图像. 底部图像是.jpg,顶部图像是.svg转换的.bmp. .jpg和.svg是我想要保留在文件夹中的唯一内容. .bmp作为临时工作. 我使用以下代码覆盖图像.但我很难删除临时.bmp,因为它被另一个进程使用.我认为这个组合代码仍然可以访问最后一个.bmp文件. 有人可以帮我吗?谢谢.private void buttonSearch_Click(object sender, EventArgs e){FailInfo.Text = "";deletebmp...

c# – .NET进程间“事件”【代码】

我有相同应用程序的多个实例正在运行.用户询问可以在每个实例上单击“退出”以将其关闭. 我想将选择添加到“退出所有实例”,这将引发一些“事件”的孩子,该事件通知应用程序应该关闭的所有实例.我不需要随此事件传输任何数据. 使用C#/ .NET在Windows中执行此操作的最佳(最好是最简单)方法是什么?解决方法:将good’ol WM_CLOSE发送给所有实例……Process[] processes = Process.GetProcesses(); string thisProcess = Process.GetC...

c# – 有没有一种很好的方法将结果从外部进程流式传输到Visual Studio输出窗格?【代码】

我在VsPackage中设置了一个自定义输出窗格,类似于以下内容:///--------------------------------------------------------------------------------/// <summary>This property gets the custom output pane.</summary>///--------------------------------------------------------------------------------private Guid _customPaneGuid = Guid.Empty;private IVsOutputWindowPane _customPane = null;private IVsOutputWindowP...

C#使用LINQ Query将记录与进程数组的结果进行比较【代码】

我编写了以下代码来比较一列的DataSet记录(即)记录.我得到以下例外:ex:” Index was outside the bounds of the array.”public void GetRunningTask(){// Process[] lstprocess = Process.GetProcesses();conn=new SqlConnection("Data Source=.; Initial Catalog='TTES'; Integrated Security=SSPI;");da=new SqlDataAdapter("Select AppName from LRNSetting", conn);ds=new DataSet();da.Fill(ds,"LRNSetting");// Process[] ...

另一个进程使用的文件c#【代码】

我在WPF应用程序中工作,我想创建一个XML文件并在Window中同时加载它.现在我的代码工作正常,但是当我想在Window中加载创建的文件时,它告诉我另一个进程使用的文件.这是我的代码var now = DateTime.Now;var timestamp = "" + now.Hour + now.Minute + now.Second;string sb = "test";var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);File.WriteAllText(string.Format("{0}\\{1}.xml", path, timestamp...

有没有办法检测进程是否/何时在C#.Net 2.0中启动另一个进程?【代码】

我正在寻找一种方法来检测我的应用程序启动的进程是否反过来产生了额外的进程.希望是我可以拥有一个启动和应用程序的线程,直到它退出时监视,然后在该应用程序退出时触发其他一些操作.问题是,对于我想要监视的一些应用程序,他们正在启动一个额外的进程然后退出.所以我的触发器在应用程序退出之前触发. 例如,我在Process中启动一个程序.该可执行文件执行一些文件修补,然后启动主程序 – 一个单独的exe – 然后退出.这会导致Process....

C#:为什么我得到“进程无法访问文件*因为正被另一个进程使用”这段代码?【代码】

我正在尝试将文件夹中的bmp文件转换为jpg,然后删除旧文件.代码工作正常,但它不能删除bmp.DirectoryInfo di = new DirectoryInfo(args[0]); FileInfo[] files = di.GetFiles("*.bmp"); foreach (FileInfo file in files) {string newFile = file.FullName.Replace("bmp", "jpg");Bitmap bm = (Bitmap)Image.FromFile(file.FullName);bm.Save(newFile, ImageFormat.Jpeg); } for (int i = 0; i < files.Length; i++)files[i].Delete(...

运行 - 相关标签