草庐IT

初识进程

全部标签

c++ - 有没有办法接收有关在 Windows 中启动的进程的事件?

长话短说我用C++编写了一个程序来关闭所有在我的程序启动时未运行的启动的"new"程序。目前,我通过捕获所有PID然后根据此列表不断检查所有已注册的应用程序来做到这一点。那些不在我名单上的人我会尝试关闭/杀死。对于这样一个简单的任务,这是非常CPU密集型的。有没有办法接收某种Windows事件,这样我就不需要非常活跃的线程?我找到了this钩子(Hook),它可能会做我需要它做的事情,但它似乎适合其他目的,而不是我需要的。简而言之:我可以在进程启动之后/之前立即从Windows接收到事件吗? 最佳答案 理想情况下,您会在用户模式下执

c# - 进程无法访问文件 'CustomTabsClient_CustomTabsCallbackImpl.class'

我已将Windows升级到10.0.16299(最新),将VisualStudio升级到15.5.1(最新)。从那时起,我在清理或构建包含Android项目的Xamarin解决方案时看到此错误消息:obj\Debug\android\src\android\support\customtabs\CustomTabsClient_CustomTabsCallbackImpl.java:4:error:errorwhilewritingCustomTabsClient_CustomTabsCallbackImpl:obj\Debug\android\bin\classes\android\

windows - Win32 32位进程加载64位kernel32.dll

我发现32位Win32控制台应用程序正在一台运行WindowsServer2012R2Standard的特定机器上加载64位版本的kernel32.dll。使用DependencyWalker使用一个简单的HelloWorld应用程序,它看起来像这样:它在其他机器上正确加载32位kernel32。PATH的值即使不完全相同,但至少在不同机器上以完全相同的顺序包含相关路径。根据thispage来自Microsoft,DLL的搜索顺序是:当前进程的可执行模块所在的目录。当前目录。Windows系统目录。GetSystemDirectory函数检索此目录的路径。Windows目录。GetWi

windows - 从命令行获取进程 ID

我必须多次启动一个可执行文件,每次都使用不同的参数,我需要取回每个可执行文件的进程ID。我有使用过的命令行,我需要用这个命令启动的进程的进程ID。在这里我发现了一些其他问题:Get-CimInstanceWin32_Process-Filter"name='evolution4.exe'"|selectCommandLine它可以为我提供用于启动进程的命令行,但我现在需要对命令行而不是名称进行过滤,然后选择PID。我尝试用“commandLine”或“CommandLine”替换“name”,但没有结果,我什至不知道这样做是否正确。我应该在过滤器中放入什么?这个命令是否可以通过命令行而

c++ - 我想获取我在 C++ 中创建的每个进程的 PID,并在特定时间后终止每个进程

我是C++和Windowsapi的新手。我现在所拥有的是我只能打印应用程序第一个进程的PID。如果我要创建say4进程,我想获得他们的PID;在控制台中打印它并在特定时间后终止它们中的每一个(使用计时)。示例概述:1。对于process=1直到process=52。调用notepad.exe3。获取当前进程的PID,并在控制台打印。4。从此processID执行一些操作5。增量过程6。谁执行成功,谁就终止PID。到目前为止,这是我的代码。#include#include#include#include#include#include#includeusingnamespacestd;/

c++ - 是否可以模拟进程的访问 token ?

模拟用户的典型方法是调用LogOnUser()以获取用户的访问token并将此token传递给ImpersonateLoggedOnUser()以进行模拟。但是,这只会模拟调用线程的用户。有没有办法模拟或更改进程的访问token(主token)?支持我正在访问网络共享,并且生成了多个线程来访问该网络共享的不同部分。我是否必须在所有这些线程中模拟远程用户(有权访问该共享)?还是有一种方法可以先“模拟”进程,以便在生成新线程时,它们已经通过自动继承进程主token获得了访问权限? 最佳答案 不,这是不可能的。NtSetInformati

c++ - 为来自不同进程的窗口设置父级是否正确?

我有两个应用程序有两个不同的顶级窗口:App1--Window1App2--Window2现在,我正在App1中创建一个对话框Dlg1,我想将window2(App2)设置为父窗口。(那是因为我希望我的Dlg1位于Window2之上)。我通过将Window2设置为父级来创建对话框。有效。但这是正确的方法吗?跨进程设置父项是否存在任何已知问题\限制?我检查了windows文档,发现的信息不多。 最佳答案 这或多或少是受支持的,但确实有一些限制。您需要注意这两个进程以同一用户身份运行,并且您没有会阻止这两个进程通信的安全或提升问题。其次

windows - 在 Windows 上,如何找到给定进程正在使用的文件?有没有软件可以做到这一点?

我想知道给定进程正在读/写的文件。有显示这个的程序吗?在WindowsXP上。谢谢。我试过AutohotkeySpy、Spy++和ProcessExplorer。它们显示了很多细节,但没有显示正在访问的文件。 最佳答案 ProcessMonitorProcessMonitorisanadvancedmonitoringtoolforWindowsthatshowsreal-timefilesystem,Registryandprocess/threadactivity.Itcombinesthefeaturesoftwolegacy

windows - 从 .bat 启动独立进程

我有一个Hudson作业,它启动一个.bat脚本文件,它本身启动我的Jonas应用程序服务器和一些其他任务。脚本在我的奴隶上从Hudson正确启动,然后我的应用程序服务器启动但在我的Hudson作业结束时应用程序服务器被终止。这是因为在此过程中启动的所有进程共享相同的管道(stdin/sdtout/stderr),如此处所述http://wiki.hudson-ci.org/display/HUDSON/Spawning+processes+from+build.如您所知,这真的不是我想要的!实际上,在我上面描述的测试我的应用程序的任务之后,我有另一个Hudson任务启动了。因此,由于

c++ - 如何在 Windows 下用 C++ 在远程机器上启动一个进程

我在Windows下使用Dev-C++。我的问题是如何在远程机器上启动进程?我知道PsExec可以做到这一点,但如果可能的话,我想避免使用它。如果有人可以提供一些示例代码,我将不胜感激:)提前致谢!坎比 最佳答案 如果这很容易,黑客就会在所有暴露在互联网上的机器上启动恶意软件。PSExec通过LAN使用服务控制管理器从“此处”启动服务EXE,即您运行它的机器。它需要很多安全权限——例如管理员权限。如果您不想这样做,您可以查看SSH(有开源示例)或远程命令提示符(在Windows资源工具包中)。