有什么方法可以保护我的Delphi应用程序不被Windows任务管理器(或其他类似ProcessExplorer)杀死?我认为Windows消息可以做到这一点(通过Hook并拦截TerminateProcess消息)。我想要一个这种保护的例子。卡巴斯基反病毒软件套件是这样的;我们无法在任务管理器中结束他们的进程。 最佳答案 正如Kornel所说,存在由用户隔离的进程的操作系统级保护。但一般来说,没有办法阻止您的进程被有权这样做的用户终止。并且用户有权终止以该用户身份运行的进程。即使您想以SYSTEM身份运行它,您也无法使用此进程与登
FileInfofi=newFileInfo(fileToExcecute);Directory.SetCurrentDirectory(fi.DirectoryName);ProcessStartInfopInfo=newProcessStartInfo();pInfo.FileName=fileToExcecute;pInfo.RedirectStandardOutput=false;pInfo.RedirectStandardError=false;pInfo.CreateNoWindow=false;pInfo.UseShellExecute=true;pInfo.Workin
我试过Sysinternals-ProcessMonitor,但是没有办法为子进程动态附加过滤器 最佳答案 要使其与编程相关:您可以使用ImportAddressTableHooking并分发你自己的实现:-)如果您正在寻找工具,我相信已经有人为您完成了:StraceNT:AsystemcalltracerforWindows.该网站声称它是一个strace克隆,并且strace支持跟踪子进程(我自己没有使用过这个工具,所以不确定声明)。(strace是linux环境中可用的实用程序,它允许您跟踪系统调用,我想这解释了straceN
我有一个应用程序A,我希望它能够调用用户在配置文件中指定的任意其他进程。批处理脚本B就是这样一个进程,用户希望A调用它。B设置一些环境变量,显示一些消息并调用编译器C来完成一些工作。Windows是否为任意进程的干净终止提供了标准方法?假设A在控制台中运行并收到CTRL+C。它可以将此传递给B和C吗?假设A在一个窗口中运行,用户试图关闭窗口,是否可以取消B和C?TerminateProcess是一个选项,但不是一个很好的选项。如果A在B上使用TerminateProcess,C会继续运行。如果C长时间运行,这可能会导致严重的问题,因为我们可能会启动另一个C实例来操作相同的文件,而C的第
究竟是什么“触发”Windows在任务管理器和资源监视器中将进程标记为未响应? 最佳答案 这背后的API是IsHungAppWindow.基本上,如果应用程序在5秒内未发送消息,则可以将其标记为未响应。 关于windows-是什么使进程在Windows中显示为“无响应”?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1691251/
假设我已经有了一个窗口的句柄,我可以使用GetWindowThreadProcessId获取PID。有没有一种方法可以获取进程名称,而不必获取所有进程并尝试匹配我的PID? 最佳答案 您可以使用Process.GetProcessById获取Process。Process有很多关于正在运行的程序的信息。Process.ProcessName为您提供名称,Process.MainModule.FileName为您提供可执行文件的名称。 关于c#-从pid或handle获取进程名称,我们在S
有没有办法启动资源管理器窗口并使用WPF突出显示该文件夹中的文件?我已经尝试过以下方法:ProcessExplorerWindowProcess=newProcess();ExplorerWindowProcess.StartInfo.FileName="explorer.exe";ExplorerWindowProcess.StartInfo.Arguments=ConfigFile.File.FullName;ExplorerWindowProcess.Start();...但是这会在Windows资源管理器中使用默认应用程序打开文件(在我的例子中是一个XML文件),这是我非常不想
我试图从一段代码开始一个进程,但我希望代码暂停执行,直到进程完成并退出。目前我正在使用System.Diagnostics.Process.Start()类来启动(特别是)一个卸载程序,之后执行的代码确实依赖于安装程序卸载程序在恢复执行之前完成。这是代码。usingSystem.Diagnostics;varprocStIfo=newProcessStartInfo("cmd","/c"+variableContainingUninstallerPath);procStIfo.RedirectStandardOutput=true;procStIfo.UseShellExecute=f
我在网上搜索了这个问题并找到了服务器故障:CanIsendsometexttotheSTDINofanactiveprocessrunninginascreensession?似乎在Linux下实现这一点非常容易。但我需要它用于Win32命令提示符。背景:我有一个轮询STDIN的应用程序,如果我按下x键,应用程序将终止。现在,我想做一些自动化测试,测试应用程序然后关闭它。注意:仅仅终止进程不是一种选择,因为我目前正在调查在我的应用程序关闭期间出现的问题。 最佳答案 .NET框架的Process和ProcessStartInfo类可用
RuntimeError:Javagatewayprocessexitedbeforesendingitsportnumber问题思路🎯方法一在代码前加入如下代码(如图):importosos.environ[‘JAVA_HOME’]=“/usr/local/jdk1.8.0_221”#记得把地址改成自己的🎯方法二目光锁定pycharm标题栏(最上方),找到Run——>EditConfigurations——>Environmentvariables按图中所示,添加jdk路径(不用添加其他的路径了,一个就够了),修改完记得Apply。未能解决报错,尝试以下方法:解决成功解决!