草庐IT

【JavaEE】浅识进程

全部标签

c++ - 获取已创建进程的进程句柄 Windows

我需要在运行我的程序时为刚刚创建的所有进程提供句柄或PID。到目前为止,我已经使用了这段代码,每次创建进程时都会告诉我。问题是我只获得有关创建的进程的信息,但我没有关于进程本身的任何信息。https://msdn.microsoft.com/en-us/library/aa390425(VS.85).aspx这是我获得事件的功能,但我不知道从哪里可以获得新流程的信息:HRESULTEventSink::Indicate(longlObjectCount,IWbemClassObject**apObjArray){HRESULThres=S_OK;for(inti=0;i谢谢

c++ - 如何在进程外客户端中获取免注册 COM 对象代理

我不知道是否有使这成为可能的API,或者我是否必须自己动手。这就是我想要完成的。我有一个连接到NT服务以启动与另一个COM服务器的session的应用程序。应用程序,客户端。经纪人NT服务;(系统帐户上下文)。sessionCOM服务;(系统帐户上下文,将根据需要模拟用户)。session服务器将为连接到NT服务的每个应用程序实例都有一个运行实例。应用程序可以请求session服务器加载COM库DLL,并从session服务器中的那些DLL托管对象和服务。DLL通过免注册激活进行注册。从session服务器创建对象并将它们传回应用程序只要它们是IDispatch派生的就可以正常工作,这

windows - 进程终止会自动释放所有使用的内存吗?有什么理由明确地这样做吗?

在WindowsNT和更高版本中,我假设当一个进程到期时,无论是因为它自己终止还是被强制终止,操作系统都会自动回收该进程使用的所有内存。在任何情况下这不是真的吗?是否有任何理由显式释放用户模式应用程序使用的所有内存? 最佳答案 每当一个进程结束时,映射到它的所有内存页都会返回到可用状态。正如您所说,这可以称为“回收内存”。但是,它不会执行诸如运行析构函数之类的操作(如果您使用的是C++)。我强烈建议释放所有内存,不是从资源的角度,而是从开发的角度。尝试释放内存会鼓励您考虑内存的使用生命周期,并帮助您确保正确清理。这在短期内无关紧要,

windows - 依赖进程创建的执行异常(ShellExecute vs CreateProcess)

我们正在运行一个Windows服务,它负责监视一组进程。该服务基本上只负责(a)检查定义的作业是否正在运行,以及(b)如果未运行则启Action业。服务是通过以下命令创建的(sc:https://technet.microsoft.com/en-us/library/bb490995.aspx):sccreate"MyService"binPath=C:\heyoo\myservice.exetype=ownstart=autoerror=normalscstart"SCFService"该服务负责创建的作业之一是“Camera.exe”。Camera.exe从连接的摄像头(FireW

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

windows - 进程在故障转储中幸存下来

我们已将procdump设置为(AeDebug)事后调试器,以捕获未处理异常的转储。注册表项设置为"c:\my\sysinternals\procdump.exe"-accepteula-ma-j"c:\dumps"%ld%ld%p目前我正在查看一个转储,其中触发故障转储的进程仍在运行数小时转储过程完成后?!我假设任何触发故障转储的进程都将被终止?来自WinDbgDebugsessiontime:TueDec101:53:06.0002015(UTC+1:00)SystemUptime:18days18:09:24.556ProcessUptime:1days0:09:31.0000:

windows - Windows中如何在另一个进程启动时启动一个进程?

我正在尝试创建一种方法来检查某个程序是否正在运行-如果是,则启动另一个程序。这是我在BAT的进步@ECHOOFF:LOOPtasklist/nh/fi"imagenameeqsteam.exe"|find/i"steam.exe">nul&&START"""C:\ProgramFiles\TeamSpeak3Client\ts3client_win64.exe"||goto:LOOP我创建了一个基本上在Windows启动时启动BAT的VBS(这只是为了确保批处理文件在没有可见控制台窗口的情况下运行):SetWshShell=CreateObject("WScript.Shell")Ws

java - 如何检查进程是否在 Windows 上运行?

我正在尝试做的是一个程序,用于了解进程在Windows上是否处于Activity状态,以便在Java中使用它。我在网上看了看,发现了两种不同的解决方案:>Option1>Option2但这根本不是我要找的。根据选项1,我想要一种方法来引用该进程(并检测它是否处于Activity/运行状态)但无需在完整的tasklist中搜索然后在其上搜索。我正在搜索是否有直接的方法来做到这一点。虽然我也想在任务列表中添加一个过滤器,但找不到任何过滤器来只获取我正在寻找的进程。我在命令行中使用tasklist/?看到了所有选项。然后我搜索了有关第二个选项和wmic(我以前从未听说过)的信息,似乎wmic

xml - 如何在perfmon中获取同一进程的所有实例

在perfmon(性能监视器)中,进程的相同实例表示为processabcprocessabc#1processabc#2有没有办法在不知道有多少个实例的情况下调用xml(模板)中同一进程的所有实例?到目前为止,这是我的xml模板:\Process(Processabc)\%ProcessorTime\Process(Processabc#1)\%ProcessorTime我想在一行中选择n个实例或所有processabc实例。我知道要选择计算机上的所有进程,可以使用\Process(*)\%ProcessorTime我想知道我是否可以做类似的事情来解决我的问题。

c++ - 在 Windows 上等待进程或标准输出

我正在使用CreateProcess启动一个进程,我想等待该进程完成,或者等待任何内容写入标准输出,该标准输出正在通过匿名管道进行传输。下面的代码不起作用,因为WaitForMultipleObjects不断返回stdout管道,即使没有任何内容可读。有没有办法等待管道?我等不及要阅读了,因为如果流程完成,我还需要继续。我也不能等到过程完成而不检查管道,因为它可能会溢出。有什么想法吗?if(::CreateProcess((!application_name.empty()?application_name.c_str():NULL),//Application/Executablen