我正在编写一个C++QT桌面应用程序,旨在在Windows操作系统上运行。此应用程序应枚举所有正在运行的进程,并将终止特定进程(通过名称识别)。我知道有两种方法可以做到这一点:使用WindowsAPI。使用tasklist命令获取进程,使用taskkill结束进程。在代码风格、效率和性能方面哪个选项更好?还是有第三种选择? 最佳答案 效率和性能不应该让你担心,IMO。您可能不会每秒杀死1000个进程,所以如果一个进程花费10毫秒而另一个进程花费100毫秒,我怀疑没有人会关心。因此,选择其中一个的主要理由是易于编程和维护。用于枚举进程
我的问题可能看起来太奇怪了,但我想到了Windows休眠的事情,我想知道是否有办法让特定的进程或应用程序休眠。即:当Windows从正常关机/重启启动时,它会正常加载所有启动程序,但除此之外,它还会在关闭计算机之前加载具有其先前状态的特定程序。我已经考虑过保留内存位置并在计算机启动时将其取回,但是在Windows环境中是否有任何应用程序可以这样做? 最佳答案 那是行不通的。进程的状态几乎从不包含在进程本身中。图形用户界面应用程序创建存储在与桌面关联的堆中的user32和gdi对象。它调用影响窗口管理器状态的Windows。它进行I/
无论我在哪里看,通过CreateRemoteThread注入(inject)的方法都是一样的,但是获取进程ID的方法却不同......我的函数将返回正确的进程ID,我对这方面的任何帮助都不感兴趣,所以我会将那部分作废,只包括实际注入(inject)。我只是刚刚学习DLL注入(inject),并试图在notepad.exe上进行。如果注入(inject)有效,记事本的标题将从“Untitled-Notepad”变为“Hooked”。#defineDLL_NAME"injectme.dll".....BOOLInjectRemoteThread(DWORDProcessID){HANDLE
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtocreateaprocessinC++onWindows?我应该如何在Windows中从一个程序运行另一个程序?为什么system()不好?我读过this,但它似乎涵盖了从Unix角度来看的主题。
在命令提示符窗口中,我有一个正在运行的进程。当进程仍在执行时,我单击命令提示符窗口一角的(红色)“X”。命令提示符窗口关闭,正在运行的进程终止。在Linux上,关闭正在运行的进程的父终端将向该进程发送SIGHUP。我如何在Windows上捕获此事件? 最佳答案 SIGHUP的等价物是通过您在SetConsoleCtrlHandler注册的回调提供的.您的回调函数将在dwCtrlType=CTRL_CLOSE_EVENT的任意线程池线程上调用。您有5秒的时间进行清理,您无法取消关闭。示例代码可在thisMSDNarticle中找到
我的公司正在使用一个不幸的第三方产品,该产品要求用户登录到运行其产品的两个实例的XP工作站。我正在尝试使用this...从Windows服务中获取每个打开的窗口的标题以进行监视,但它们始终返回null或空。但是,我可以获得进程名称,就好了。我对标题而不是进程名称感兴趣的原因是进程名称相同(同一应用程序的两个实例)但标题是唯一的。对于任何打开的窗口,例如记事本的打开实例,我也会得到相同的结果。该服务作为运行第三方应用程序的两个实例的用户运行。所以我很好奇,为什么我能够获得进程名称,而不是标题?出于某种原因是否需要指定SERVICE_INTERACTIVE_PROCESS才能看到标题,而不
我使用以下代码打开jpg文件:varfile=@"C:\Users\administrator.ADSALL4SPS\Desktop\IMG_4121.JPG";varprocessStartInfo=newProcessStartInfo{Verb="open",FileName=file};varworkDir=Path.GetDirectoryName(file);if(!string.IsNullOrEmpty(workDir)){processStartInfo.WorkingDirectory=workDir;}try{Process.Start(processStartI
我正在尝试从我的Windows服务器调用放置在远程Windows服务器上的批处理文件。我在远程服务器上安装了freeSSHd。我尝试使用putty/plink但没有结果。我使用的命令语法是:Putty:启动E:\putty.exe-sshuser12@serverIP-pw"abcd12"callsample.batPlink:startE:\plink.exe-sshuser12@serverIP-pw"abcd12"cmd.exe-mE://sample.txt我什至尝试了上述两个命令的所有变体,如“-mfile.txt”等。我还可以通过登录到putty控制台来执行批处理文件,但不
我想用C++编写一个可以打开.exe程序的程序,并且我想知道它何时被用户关闭。我知道我可以通过这段代码打开一个程序:system("startC:\\AAA.exe");但是我不知道如何检查程序是否关闭。 最佳答案 在Windows上,如果您使用CreateProcess()而不是system()来启动新进程。简化代码:PROCESS_INFORMATIONprocessInformation;CreateProcess(...,&processInformation);在PPROCESS_INFORMATION中,您可以找到它的句
我知道无法通过JavaScript获取或设置Windows环境变量。我已经将Electron应用程序部署为可执行文件(如建议的here),现在是否可以获取或修改Windows环境变量。如果是,有人可以指出我正确的方向吗? 最佳答案 您可以使用NodeJs通过process.env来读取环境变量您可以读取process上的所有方法和可能性。文档。例子:console.log(process.env.PATH)写入正在运行的进程中的环境变量始终是临时的。您可以通过在Windows下调用/生成系统命令/工具(如setx)来设置环境变量。持