草庐IT

进程注入

全部标签

windows - 如何使用MFC统计Windows中每个进程的线程数

我想使用MFC构建一个类似于应用程序的任务管理器。我已经成功地枚举了当前运行的各种进程的PID和内存使用情况。我的问题是我还想获得每个进程运行的线程数。 最佳答案 您可以使用Toolhelperlibrary来做到这一点(以及更多相关的事情)(win32)通过进程snapshot然后走路Thread32First/Next. 关于windows-如何使用MFC统计Windows中每个进程的线程数,我们在StackOverflow上找到一个类似的问题: http

c# - 从 Windows 服务运行外部进程

我有一个使用某些第三方应用程序的Windows服务。该应用程序是从用于登录的单个窗口构建的,登录后该进程在后台运行,不会打扰任何人。我有打开这个应用程序的代码(使用Process类),填写所有必要的字段并点击连接按钮。当我从命令行或win窗体使用这段代码时,这段代码工作得很好,但是从Windows服务执行这段代码什么都不做——没有错误,也没有运行任何exe!我知道这听起来有点奇怪,Windows服务在设计上应该是无UI的,但是我需要在我的服务开始工作之前使用这个应用程序,我不想通过两个步骤来完成这个操作——使用午餐外部所有并启动服务。我试图从服务属性的登录选项卡中检查“允许服务与桌面交

Java 进程占用 CPU 100%

我们有一个在各种环境中正常运行的应用程序。然而,在一个客户端站点,当应用程序调用子进程(在本例中为CODEFIND.EXF-请参阅随附显示)时,它会将处理器锁定在100%。我在解释显示方面需要帮助。虽然显示似乎是父进程正在消耗所有资源,但实际上是父进程调用了子进程吗?我怎么能说这个?谢谢,埃利奥特 最佳答案 显示表明罪魁祸首是java.exe。这个指示是正确的。子进程不消耗CPU。 关于Java进程占用CPU100%,我们在StackOverflow上找到一个类似的问题:

windows - 在 Windows 中获取进程的私有(private)字节峰值值

ProcessExplorer以某种方式获取此值并将其显示在每个进程的性能选项卡上...如何使用Win32API获取它?解决方案:在“PeakPrivateBytes”字段中,ProcessExplorer实际上显示“Process\...\PageFileBytesPeak”性能计数器。可以使用PSAPI函数GetProcessMemoryInfo轻松检索此值。 最佳答案 GetProcessMemoryInfo得到这个:PrivateUsageThecurrentamountofmemorythatcannotbesharedw

windows - 一个进程能否向另一个进程以不同用户名创建的事件发出信号(两个进程都以不同用户名运行)?

发生在Windows7中:我已将进程proc1.exe安装为服务。在proc1中,我通过创建sessionID和token并传递给CreateProcessAsUser()来创建新进程proc2.exe。在Proc2中,我正在创建一个等待信号的事件。在Proc1中,当我停止服务时,我通过OpenEvent和SetEvent向该事件发送信号。如果我启动服务,proc1.exe在SYSTEM用户名下运行,proc2.exe在登录用户名(Taskmanager)下运行。当我停止服务时,Proc1正尝试通过调用OpenEvent发送信号。但是OpenEvent返回NULL。两个进程都在不同的用

c# - 使用多个进程/线程/任务从多个源收集数据

让我们想象一下一组数据源,即几个热传感器或摄像机。我想从奴隶中的这些来源收集数据并传递给主人。效率是运营的关键。我应该使用多进程还是线程/任务?编辑:我忘了提...所有数据源都应该同步服务,同样具有相同的优先级,同时,无论CPU和内存使用情况以及可用的内核数量. 最佳答案 如果您要从多个从站传递到一个主站,请使用线程。这将帮助您共享您的地址空间,并可能使任务更容易实现。如果您有很多从站并且想要最大效率,请使用线程池来为从站资源提供服务。使用多个进程只会增加进程上下文切换的开销,通常比线程上下文切换略多。您还必须管理进程间通信,这通常

windows - Chrome 任务管理器信息与 Chrome 进程的 Windows 任务管理器信息不一致的原因是什么?

我注意到googlechrome任务管理器显示的进程的内存使用情况与windows任务管理器中的chrome进程的内存使用情况不一致。例如,在下图中,Chrome任务管理器显示最大的内存消耗进程(Chrome将其称为页面)是“Plug-in:ShowkwaveFlash”,有70,600K。在Windows任务管理器中,最大的memeatingchrome进程显示有79,364K。还有另一个在77K范围内。为什么以及如何出现这种不一致。这与Windows任务管理器计算每个进程的内存使用情况所需的某种开销有关吗?或者它与chrome本身有关。另一个问题:Windows任务管理器中总是会列

c++ - 使用 c++/WinAPIs 在 Windows 上计算进程运行实例的可靠方法

我需要知道我的进程有多少实例在本地Windows系统上运行。我需要能够使用C++/MFC/WinAPI来完成它。那么,执行此操作的可靠方法是什么?我正在考虑为此使用进程ID,将其作为列表存储在共享内存数组中,进程可以访问该数组。但问题是,当一个进程关闭或崩溃时,它的进程ID多久会被重用? 最佳答案 进程和线程标识符可以在所有句柄关闭后的任何时间被重用。参见WhendoesaprocessIDbecomeavailableforreuse?有关这方面的更多信息。但是,如果您要存储一对{identifier,processstartti

c++ - 我如何找到进程正在运行的物理套接字 ID/编号?

我想知道是否有任何方法可以找到当前进程正在运行的实际物理处理器/插槽号,或者提供逻辑处理器号的相同映射。我有一个8插槽系统,总共有128(0-127)个逻辑处理器。从我在msdn中读到的内容来看,它们将分为2个处理器组,每个处理器组有64个逻辑处理器。http://msdn.microsoft.com/en-us/library/dd405503我试过查看cpuid和GetNumaProcessorNodeEx从cpuid,APICid帮助识别逻辑处理器ID,从GetNumaProcessorNodeEx,我得到numa节点(我发现如果有64个或更少数量的逻辑处理器,这很有用)如果逻辑

php - 是否有可能在 Windows XP 中获取由 exec() 启动的进程的 PID?

我正在使用exec()函数来执行相同的外部程序,在某些情况下我想停止其中一个程序。但是下面的命令:taskkill/IMprogram.exe将杀死所有program.exe。所以我认为最好的方法是通过PID终止程序进程。所以,我想办法是每次执行程序时获取PID,然后kill掉。我在WindowsXP上使用PHP5.3。 最佳答案 Windows上的exec挂起,直到子进程结束。您需要一个child的PID,所以我想您想要nohup一个child。试试这个代码,它对我有用。它nohupsnotepad.exe并显示其PID$comm