引自here:BOOLWINAPICreateProcess(__in_optLPCTSTRlpApplicationName,__inout_optLPTSTRlpCommandLine,__in_optLPSECURITY_ATTRIBUTESlpProcessAttributes,__in_optLPSECURITY_ATTRIBUTESlpThreadAttributes,__inBOOLbInheritHandles,__inDWORDdwCreationFlags,__in_optLPVOIDlpEnvironment,__in_optLPCTSTRlpCurrentDir
是否有适用于Windows7的操作系统或用户帐户级别的修改,我可以使用它来使已终止进程的控制台窗口保持打开状态?背景:我喜欢使用控制台程序进行简单测试。这些东西往往需要调试和分析,而最简单的方法是使用printf或等价物-几乎任何语言都可以使用。不幸的是,当控制台程序终止时,包含文本缓冲区的窗口退出-我失去了那个简单的反馈。但是,当您从VisualStudio中启动一个程序(没有调试)时,VisualStudio会设法启动程序并在进程终止后让控制台窗口保持打开状态-这种行为很方便!不幸的是,我无法从visualstudio启动所有进程。那么,有没有办法启动所有程序或至少一些程序,使它们
我正在开发一个多平台C++模糊测试应用程序。该应用程序生成一个子进程并检查它是否意外停止。我已经设法在linux上做到这一点,但是,windows异常处理机制让我很难做。我的代码现在执行以下操作:-调用CreateProcess生成进程。-WaitForSingleObject等待它终止。-然后调用GetExitCodeProcess并检查退出代码是否对应于异常。一切正常,我已经用空解引用测试应用程序对其进行了测试,我可以优雅地捕获异常。但是,每次我对此进行测试时,都会出现一个Windows错误消息框,告诉我发送或不发送错误报告。由于模糊器应该是一个自动测试应用程序,我需要以某种方式禁
如何以编程方式让进程进入后台?我想要的是让用户双击进程可执行文件,它只是进入后台......并且在执行时不打开窗口。VisualC++中的任何代码片段都会非常有帮助 最佳答案 您是否考虑过创建一个WindowsService反而?它们专门设计用于在不显示UI的情况下在后台运行。否则,只是createanapplicationwithoutawindow. 关于windows-在windows中创建后台进程,我们在StackOverflow上找到一个类似的问题:
我想了解正在使用的所有程序以及正在使用的该软件的版本数。我不需要知道确切的版本号(尽管这会很好),只需要知道两个东西是不同的版本(或构建)即可。因为我对每个程序一无所知,所以我需要以通用方式完成此操作。这是怎么做到的? 最佳答案 这是一个很笼统的问题,所以我会给你一个笼统的答案。您将需要执行以下操作:通过调用EnumProcesses()枚举所有进程.对于每个进程ID,OpenProcess()获取进程句柄。每个进程句柄调用GetModuleFileNameEx()获取进程的主要可执行文件名。最后调用GetFileVersionIn
例如,对于WindowsC++中的特定进程,我如何将CPU使用率限制在10%? 最佳答案 您可以使用Sleep(x)-会减慢程序执行速度,但会释放CPU周期其中x是以毫秒为单位的时间 关于c++-如何限制特定进程的cpu使用率?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5579992/
我想检查是否为可执行文件安装了所有必需的DLL,因此我使用CreateProcess运行它,并检查退出代码。问题:Windows显示一个弹出窗口,提示未找到DLL,然后显示一个弹出窗口,提示程序已停止运行。如何避免所有这些错误弹出窗口? 最佳答案 您需要调用SetErrorMode传递SEM_FAILCRITICALERRORS。SetErrorMode是一个使用起来有点棘手的API,因为您需要将新模式与现有模式合并。陈峰explainshowtodoitcorrectly. 关于win
如何获取有关Windows中其他(与perl.exe无关)进程的信息?比如说,我有一个脚本想要监视有关所有firefox.exe进程的一些基本信息。我想做这样的事情:#!perl-wusewarnings;usestrict;useMagicModuleqw/read_process_info/;useData::Dumper;my$ps=MagicModule::read_process_info();printDumper($ps);然后看到类似的东西:$VAR=[{ProcessName=>'firefox.exe',PID=>1234,PirvateBytes=>2115354
我有一个用C语言和MicrosoftVisualC++编写的旧程序,我需要实现某种“保持事件”,因此我能够将进程间通信接收到一个新程序中,该程序将终止并重新启动如果在过去5秒内没有收到消息,则第一个。问题是我一直在寻找任何C语言的WindowsIPC教程或示例,但我找到的几乎所有内容都是针对C++的。任何帮助或资源?编辑:正如@Adriano在回答中所建议的那样,我正在尝试使用共享内存。但是由于我无法捕获的某种异常,启动程序正在被Windows终止。调用CopyMemory时发生。代码如下:#include"stdafx.h"#include"windows.h"#include"io
有没有办法让进程在Windows上更改其PID?我发现了这个问题[1],但它仅针对Linux陈述了答案(“否”)。Windows呢?[1]ChangingtheProcessIdinlinux 最佳答案 不,您不能更改Windows进程的PID。 关于windows-进程何时可以在Windows上更改其PID?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10758393/