草庐IT

进程注入

全部标签

.net - 如果某些进程需要分配超过 2 GB 的内存,会发生什么情况?

据我所知-Windows中的任何进程都会获得2GB的虚拟内存地址空间(在某些情况下为3GB)用于分配用途。在什么情况下进程将获得3GB而不是2GB?应用程序开发人员是否可以通过某种方式“要求”操作系统分配超过2/3GB的虚拟地址空间?如果进程需要超过3/2GB会怎样?(我猜系统会遇到一些“内存不足异常”——但有什么方法可以避免这种情况吗?)例如-如果进程是“MicrosoftSQLServer”,需要分配比2/3GB多得多的内存,会发生什么 最佳答案 一个32位进程有4GB地址空间,其中通常为硬件保留1GB,为Windows保留1G

c# - 检测进程的两个窗口

假设我有2个pdf文档,我已经用acrobatfinereader打开了它们。所以我有2个不同的窗口。但是当我使用这段代码时:foreach(ProcesspinProcess.GetProcesses(".")){try{Console.WriteLine("\r\n");Console.WriteLine("\r\nWindowTitle:"+p.MainWindowTitle.ToString());Console.WriteLine("\r\nProcessName:"+p.ProcessName.ToString());Console.WriteLine("\r\nWindo

windows - 如果 Windows 中存在进程,则终止

我只想在进程存在时终止进程,我想这样做是因为我有一个工具,只有在没有错误的情况下才会运行,我做了一些测试,当我试图终止一个进程时确实有错误不存在的过程。这是我用来终止进程的行:taskkill/f/IMnotepad.exe但我想验证它只在进程存在时执行。谢谢!!! 最佳答案 取自this问题,你应该试试这个代码:taskkill/f/imnotepad.exe/fi"memusagegt40"2>NUL|findstrSUCCESS>NUL&&iferrorlevel1(echoNotepadwasnotkilled)else(e

c++ - 在 windows 中使用互斥量进行进程间同步(win32 或 C++)

我想在两个进程之间建立线程同步。基本上一个线程在App1.exe中运行,第二个进程在App2.exe中运行。我如何在Windows中同步这两个线程。有人可以分享一些示例或链接吗。 最佳答案 可能性:WINAPIMutex是一种进程间同步机制。参见UsingMutexObjects概览。boost::mutex.首选此方法的一个原因是所提供的scoped_lock功能可确保释放锁定,无论范围如何退出(异常或多个return语句)。 关于c++-在windows中使用互斥量进行进程间同步(w

c# - 其他进程的 GetKeyboardLayoutName?

基本上,我要做的是让GetKeyboardLayoutName返回其他进程的键盘ID(KLID)。默认情况下,它只返回我的应用程序窗口的键盘ID。我也尝试了GetKeyboardLayout但它不幸地返回了一个HKL(它接受其他另一个窗口的hwnd)。或者,如果有一种方法可以将HKL转换为KLID,那也很好,但我怀疑是否存在这样的事情。那么,我该如何实现呢?我希望能够将获得的KLID用作LoadKeyboardLayout函数的参数。 最佳答案 我只是把它留在这里,以防其他人需要知道每个代码代表什么。我花了几个小时手工制作这份lis

windows - 获取正在运行的进程列表

我在Windows机器上工作,想直接从R获取所有正在运行的进程的列表(基本上是进程ID和正在运行的程序的路径)。我知道Sys.getpid()获取当前R进程的进程ID,但是否也存在一些东西可以让我在机器上运行所有进程,就像我在Linux中使用top或ps-x 最佳答案 您可以使用任务列表:system2('tasklist',stdout=TRUE)[1]""[2]"Nomdel'imagePIDNomdelasessioNum‚rodesUtilisation"[3]"===============================

c++ - 非提升进程是否可以将文件复制到 protected 目录?

当它准备好复制文件时,它要求用户进行提升,我觉得没问题。需要进行复制的程序无法运行提升(它失去了许多重要的环境变量,我无法改变它的启动方式)。我的后备方案是让它生成一个具有提升的进程,该进程实际上执行文件复制,但我宁愿不必向我正在处理的内容添加另一个exe。 最佳答案 使用COMElevationMoniker实例化IFileOperationshell接口(interface),那么使用该接口(interface)完成的所有文件操作都将被提升,而无需提升调用进程,也不必创建单独的EXE/进程来处理文件访问。

python - 子进程标准输入 PIPE 直到程序终止才返回

我一直在尝试排除带有子进程的subprocess.PIPE问题,但没有成功。我正在尝试将命令传递给始终运行的进程并接收结果,而不必每次都关闭/打开进程。这是主要的启动代码:启动器.py:importsubprocessimporttimecommand=['python','listener.py']process=subprocess.Popen(command,bufsize=0,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)#simulatessendinganewcommandever

windows - 有没有办法获取我刚刚在后台启动的控制台程序的进程 ID?

假设我刚刚在后台启动了以下程序:START/BCMD/Ctomcat.exeSTART/BCMD/Ctomcat.exeSTART/BCMD/Ctomcat.exe我想杀死第二个。因为它们具有相同的图像名称,所以我不能使用taskkill使用tomcat.exe杀死它们,否则我会杀死比我想要的更多。我想要的是在每个进程启动时获取它们的进程ID。我的问题是:有没有办法获取我刚刚在后台启动的控制台程序的进程ID? 最佳答案 这是一个实用程序batchfunction这将使您生成一个进程并将其PID设置为一个变量。将其复制粘贴到脚本底部,

c++ - 用户进程看不到服务创建的全局共享内存

我有一个Windows服务(在系统进程中运行)和一个需要共享配置结构的桌面应用程序。数据源自应用程序,但用户进程没有创建全局内存对象的权限,因此我在服务启动时使用CreateFileMapping()和基于thisanswer的DACL创建了它。.这似乎工作正常:我从CreateFileMapping()得到一个非空句柄并且GetLastError()是0。问题是应用程序看不到对象——OpenFileMapping()返回一个NULL句柄和ERROR_FILE_NOT_FOUND——如果我用WinObj手动浏览全局对象,我也看不到它。是什么让我的对象不可见?SECURITY_ATTRI