草庐IT

进程注入

全部标签

c++ - 如何在 Windows 内核模式下获取进程使用的 CPU 时钟周期?

正如标题所暗示的,我对获取仅在内核模式下进程使用的CPU时钟周期很感兴趣。我知道有一个名为“QueryProcessCycleTime”的API可以返回CPU时钟进程的线程使用的周期。但这个值包括在用户模式和内核模式下花费的周期。我怎样才能获得仅在内核模式下花费的周期?我需要使用性能计数器来获取它吗?如果是,我应该使用哪一个?预先感谢您的回答。 最佳答案 我刚刚发现一篇有趣的文章,几乎描述了您的要求。在MSDNInternals上.他们在那里写道,如果您使用的是C#或C++/CLI,您可以轻松地从System.Diagnostic.

windows - 在 Windows 上使用文件关闭进程

我想关闭所有在Windows上使用文件的程序。我有一个我在Linux上想要的例子:pids=`lsof|grep$fic|grep-v"grep"|tr-d'\t'|cut-d""-f2`谢谢! 最佳答案 请将标签从bash更改为批处理并安装Handle这样就解决了目的 关于windows-在Windows上使用文件关闭进程,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2321

java - 如何通过java程序获取exe运行的进程id

我正在通过javaruntimeapi运行一个exeProcessprocess=runTime.exec("cmd.exe/cstartabc.exe"+Id,null,newFile("D:/My"));并像这样使用jna检索进程ID-Kernel32.INSTANCE.GetProcessId((Long)f.get(process));但返回的进程ID不是abc.exe而是cmd.exe.....我需要abc.exe的进程ID。不知道如何获得任何人都可以帮助。 最佳答案 process是java.lang.Process类型

python - 在 Windows psutil 中查找进程是否正在运行

process_name="CCC.exe"forprocinpsutil.process_iter():ifproc.name==process_name:print("have")else:print("Donthave")我知道CCC.exe正在运行。我用2.7和3.4python尝试了这段代码我也导入了psutil。然而,该过程在那里,但它正在打印“没有”。 最佳答案 name是proc的一个方法:process_name="CCC.exe"forprocinpsutil.process_iter():ifproc.name

windows - 是否需要 FlushFileBuffers 才能跨多个进程同步文件数据?

我有一个被许多进程读/写的文件,它们使用互斥锁来序列化读/写。是否需要在ProcessA中的WriteFile之后调用FlushFileBuffers以便ProcessB可以看到这些更改?或者ProcessB是否可以保证看到ProcessA所做的更改,假设该文件的操作系统磁盘缓存在所有进程之间共享?调用WriteFile后,我没有调用文件上的CloseHandle,我让它在所有进程中保持打开状态,但它们有FILE_SHARE_READ和FILE_SHARE_WRITE标志传递给CreateFile。这是跨WindowsXP到Windows8.1工作所必需的-我发现调用FlushFile

等待输入的 Java ProcessBuilder 进程

当通过ProcessBuilder(特别是“GetMac/s”)运行命令行命令时,如果它抛出错误或正常返回,我可以读取错误或它返回的MAC地址,但如果它提示用户输入(某些pc的在网络上使用getmac时需要密码)进程将挂起等待密码。这是从命令行运行时命令的作用:这是我在该过程中使用的代码:packagetesting;importjava.io.IOException;classtest1{publicstaticvoidmain(String[]args){StringhostName="testpc";ProcessBuilderbuilder=newProcessBuilder(

windows - 如果进程未运行,Windows 命令行启动

如果应用程序尚未运行,我想自动启动它(特别是Outlook.exe)。我想通过Windows7任务计划程序执行此操作,这意味着解决方案here当我试图通过用&替换换行符在一行上执行它时,它不起作用。无论它正在运行还是关闭,它都会启动outlook。tasklist/FI"IMAGENAMEeqoutlook.exe"2>NUL|find/I/N"outlook.exe">NUL&if"%ERRORLEVEL%"=="0""C:\ProgramFiles(x86)\MicrosoftOffice\Office14\OUTLOOK.EXE" 最佳答案

c++ - 使用 COM 在 Windows 上的本地计算机上进行进程间通信

我正在研究使用COM和C++在Windows上进行进程间通信的选项。我找到了thisarticleonMSDN,提供了Windows的进程间通信选项列表,COM就是其中之一。但是,不幸的是,COM选项只列出了很多细节。有人对如何在Windows上使用COM进行进程间通信有任何关于文档或其他资源的指示吗?我对与远程机器通信不感兴趣(所以:没有DCOM);我只对同一台本地计算机上的进程间通信感兴趣。想法是定义一些自定义的COM接口(interface)来实现一些自定义的通信协议(protocol),然后有一个服务器程序和一个客户端程序(每个程序都在自己的进程中,运行在同一台本地机器上),并

java - Jconsole 和 JPS 不显示任何进程。我如何监控我的过程?

我正在尝试使用Jconsole(JDK1.8.0_31)监视JVM中正在运行的进程。但是,由于窗口已损坏,我在Jconsole的启动窗口中看不到任何进程。本地进程列表似乎没有设置高度参数。至少它看起来是这样的:我在网上查了类似的问题。我发现%TMP%的奇怪权限设置导致Jconsole出现问题。我检查了一下,我拥有我需要的所有权限(读/写等)。好吧,既然我不轻易放弃,我还发现Jconsole是以Java进程的PID为参数的。在尝试查找PID时,我注意到JPS没有显示任何进程或JVM,即使它们显然正在运行(我安装了不止一个JDK。尽管这无关紧要,但我还检查了我是否正在使用JPS来自相同的$

windows - 有什么方法可以将 token 设为 "seal",这样子进程就无法继承它了吗?

我正在尝试找到一种方法,允许单个进程作为高级用户启动,但禁止此进程使用它的token启动任何子进程——在某种程度上,有点“密封”token。这背后的原因是为了防止用户启动cmd.exe并获得对系统的完全访问权限。我查看了进程权限常量,但没有看到任何可用于实现此功能的内容。 最佳答案 我不认为你可以密封token,但你可以使用作业对象控制子进程的创建:staticBOOLSpawnProcessAndTerminateGrandchildren(PTSTRCmdline){HANDLEhJob=CreateJobObject(0,0)