Tag: 进程

在同一控制台中启动进程

我可以在与调用程序相同的控制台中启动进程(使用C# Process.Start() )吗? 这样就不会创建新窗口,标准输入/输出/错误将与调用控制台应用程序相同。 我尝试设置process.StartInfo.CreateNoWindow = true; 但是该过程仍然在一个新窗口中开始(并在完成后立即关闭)。

如何确定进程是否在C#中管理?

一些搜索返回此结果: 哪些进程正在运行托管代码以及哪个版本? 但是,我想知道是否有一种“更好”的方式然后只是迭代加载的模块? 看起来字符串“mscorwks.dll”似乎有点古怪。 通过MSDN上的Process Class读取似乎并没有指出一个明显的解决方案。 做出的假设 .NET 4.0 我手头有一个“过程” 谢谢

如何从网站上执行客户端上的应用程序?

我在ASP.NET / C#中有一个位于服务器上的应用程序,我的问题是如何运行另一个应用程序(.exe)但是在访问该网站的客户端(服务器上的应用程序) 题 (client)————(server) run browser website and (asp.net/c#) **execute instruction app.exe** for execute app.exe 我开发了ext.net,一个使用asp.net + c#的软件,这是一个在powerbuilder中制造的旧软件的更新版本(v2是新软件,v1是powerbuilder)。 V2没有包含在V1上的所有function,因此在执行V2之后,我必须执行V1。 因此,如果用户在浏览器上使用V2,我应该能够打开V1(V2位于服务器中,V1安装在客户端。由于客户端打开浏览器连接到V2)。 *用谷歌翻译 desarrolléunsoftware en ext.net(asp + c#)el cual es una version actualizada de otro software anterior hecho en PowerBuilder(losllamarév2y v1 respectivamente)。 来自razones de tiempo,el software V2 no tiene todas las funcionalidades de V1,por lo cual,al […]

从ASP.NET启动流程 – 为什么流程会立即死亡?

我正在尝试从ASP.NET C#应用程序启动一个进程。 我的应用程序通过进程自己的API(这是第三方程序)与此进程通信。 我只需要在某些情况下运行此过程,因此我认为不需要在服务器上不断运行它,因此需要从我的应用程序启动该过程。 我正在使用的进程设置为通过命令行参数以“无面”模式运行,因此不需要GUI出现在任何地方。 在不放弃太多的情况下,它会对特定数据执行复杂的计算(数据从流程中的外部源中提取,并且此数据不断更新)并通过API公开结果。 我的应用程序通过传递xml格式的查询并接收类似格式的响应来与此API通信。 我遇到的问题是启动进程工作正常,但它以SYSTEM用户身份运行进程。 这是一个问题,因为我正在启动的进程已注册到特定用户,并且在以SYSTEM身份运行时以有限的“试用版”模式运行,并且我需要的API无法按预期工作。 所以我打算以该程序注册的特定用户身份运行。 但是,当我为正确的用户添加登录信息时,该过程将启动并立即退出… 我应该采取哪些具体方式吗? 这是我的代码不能正常工作: public static bool ProcessActive() { return Process.GetProcesses().Any(p => p.ProcessName.Equals(“Process”, StringComparison.InvariantCultureIgnoreCase)); } public static void StopProcess() { List processExists = Process.GetProcesses().Where(p => p.ProcessName.Equals(“Process”, StringComparison.InvariantCultureIgnoreCase)).ToList(); foreach (Process p in processExists) { p.Kill(); } } public static bool StartProcess(bool stopIfStarted = false) { bool retVal […]

如何创建在任务管理器或服务列表中不可见的进程

可能重复: 从任务管理器隐藏C#程序? 我需要创建一个企业级活动监视器进程,其中用户不应该使用任务管理器或其他方法终止。 也许它应该是一个隐藏的过程。 这可能吗? 有没有解决方法? 我更喜欢使用C#然后使用C# C++ (使用Visual C ++编译器)。 谢谢你

即使在进程终止时也保证代码执行

我需要在进程停止时执行一部分代码(状态保存) – 由用户,任务管理器等执行。 可能吗? try {} finally {} , AppDomain.ProcessExit , IDisposable ,析构函数,..接下来要尝试什么?

process.standardoutput.ReadToEnd()总是空的?

我正在启动一个控制台应用程序,但是当我重定向标准输出时,我总是得不到任何东西! 当我不重定向它,并将CreateNoWindow设置为false ,我在控制台中正确地看到了所有内容,但是当我重定向它时, StandardOutput.ReadToEnd()始终返回一个空字符串。 Process cproc = new Process(); cproc.StartInfo.CreateNoWindow = true; cproc.StartInfo.FileName = Dest; cproc.StartInfo.RedirectStandardOutput = true; cproc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; cproc.StartInfo.UseShellExecute = false; cproc.EnableRaisingEvents = true; cproc.Start(); cproc.Exited += new EventHandler(cproc_Exited); while(!stop) { result += cproc.StandardOutput.ReadToEnd(); } EventHandler cproc_exited只是将stop设置为true 。 有人可以解释为什么result总是string.Empty ?

杀死进程Excel C#

我必须2处理excel。 例如: 1)example1.xlsx 2)example2.xlsx 如何杀死第一个“example1.xlsx”? 我用这个代码: foreach (Process clsProcess in Process.GetProcesses()) if (clsProcess.ProcessName.Equals(“EXCEL”)) //Process Excel? clsProcess.Kill(); 那杀了两个。 我想杀一个……谢谢。

获取所有应用程序的列表

我正在尝试获取所有打开的应用程序的列表。 具体来说,如果您打开任务管理器并转到应用程序选项卡,该列表。 我试过用这样的东西: foreach (var p in Process.GetProcesses()) { try { if (!String.IsNullOrEmpty(p.MainWindowTitle)) { sb.Append(“\r\n”); sb.Append(“Window title: ” + p.MainWindowTitle.ToString()); sb.Append(“\r\n”); } } catch { } } 就像我发现的一些例子一样,但这并没有为我提供所有的应用程序。 它只抓住了我在任务管理器中看到的一半,或者我知道我已经打开了。 例如,由于某种原因,此方法不会选择Notepad ++或Skype,但是它会选择谷歌浏览器,计算器和Microsoft Word。 有谁知道为什么这不正常或怎么做? 此外,一位朋友建议它可能是一个权限问题,但我以管理员身份运行visual studio,但它没有改变。 编辑:我得到的问题是,我给出的大多数解决方案只返回一个所有进程的列表,这不是我想要的。 我只想要打开的应用程序或窗口,就像任务管理器上显示的列表一样。 不是每个进程的列表。 另外,我知道这里有不好的代码,包括空的catch块。 这是一个一次性项目,只是为了弄清楚这是如何起作用的。

如何获得窗口的位置?

我想知道获得进程窗口位置的方法。 我一直在网上寻找,但没有结果。 谢谢 :) Process[] processes = Process.GetProcessesByName(“notepad”); Process lol = processes[0]; IntPtr p = lol.MainWindowHandle;