Articles of 进程

嵌套的Windows作业对象:如何查询由父作业对象施加的限制

设P是首先分配给MS Windows作业对象J1,然后分配给另一个作业对象J2的过程。 所以J2嵌套到J1中。 然后为J1设置限制,例如JOB_OBJECT_LIMIT_PROCESS_MEMORY 。 文档说: 如果作业是嵌套的,则有效内存限制是作业链中限制最多的内存限制。 如何在没有J1的情况下从P内部获得有效限制? 使用NULL作为作业句柄调用QueryInformationJobObject仅为J2提供信息。

Windows进程放弃父项。 如何抓住他们?

我编写了一个程序启动和监控,并通常pipe理其他程序。 在一般情况下,我准备一个System.Diagnostics.ProcessStartInfo并调用Process.Start 。 之后我会为每个程序启动一个线程,定期检查生成的Process对象。 为了testingpropuses,我在我的Win 7机器上configuration了我的程序来启动和监视一些典型的Windows工具:记事本,画图和计算器。 这一切工作正常。 但是,在Windows 10机器上,计算器的行为有所不同。 由Process.Start启动的进程立即终止,并且我的启动程序中没有calc.exesubprocess,但是explorer.exe有一个win32calc.exe 子进程。 孩子到一个不存在的过程,我的发射器创build的过程。 这是为什么? 我如何得到一个处理? 即使他们select放弃他们的父母,我的发射器启动的监控程序的策略是什么?

杀死另一个java进程产生的java进程

我已经创build了一个Windows服务在Java服务启动我有以下代码 mProcess = Runtime.getRuntime().exec("D:\\manager.exe"); 这个manager.exe产生另一个java进程,我可以在任务pipe理器中看到进程为“javaw.exe”。 当服务停止时,我想要终止这个过程,因为我在服务的停止方法中使用了下面的代码 mProcess.destroy(); 但是这不起作用。 注意:就像审判尝试记事本,它工作正常。 那么,怎样才能得到产生的javaw.exe的句柄,这样我就可以在服务停止的时候终止它。 问题不是如何closures从任务pipe理器的过程,而是从我的服务的停止方法。

Windows 64位adodb驱动程序的解决方法

我必须支持使用访问数据库的应用程序。 我的开发机器运行Windows XP 64位,这很好,除了Windowx XP 64没有安装adodb驱动程序,所以每当我编写脚本来更新访问数据库,我必须将数据库和脚本移动到32位机器,RDP中,然后运行脚本并将所有内容都复制回来。 这是一个麻烦,我不相信有没有更好的办法。 有没有更好的办法,还是微软没有那么温和的方式告诉我把每个人都转移到SQL Server Express上(我可能早就应该这样做了)。

过程的已知/logging/未分类的方法开始监测的是什么?

我需要监视,如果需要,在Windows XP和Vista操作系统中拒绝进程启动? 什么是已知的/有logging的/未被分离的方法? 知道这种方法的黑客呢? (它将用于共享软件防火墙/安全软件)。

为TypeLib注册调用CComModule.RegisterServer,_AtlComModule.RegisterServer和LoadTypeLibEx有什么区别?

在我的COM dll的DllRegisterServer方法中,我以前有调用LoadTypeLibEx(module,REGKIND_REGISTER,&pTypeLib)来注册我的COM类和它们相应的TypeLib的代码。 我的COM DLL是一个64位的。 我注意到,在我的64位Vista系统下,在HKCR:\\ TypeLib \ {myguid} \ 1.0 \ 0我find一个win32子项,位置为我的COM DLL。 我也有一些独立的COM DLL中的其他代码,我支持使用较旧的,现在不推荐使用的CComModule.RegisterServer(TRUE)调用。 此代码创build一个64位DLL的0键下的win64子项和一个32位DLL的0键下的win32子项。 我正在使用正确的位版本regsvr32在所有情况下进行注册(将regsvr32位与DLL位的匹配)。 为什么LoadTypeLibEx和_AtlComModule.RegisterServer都不为包含我的TypeLib的64位dll创buildwin64密钥,而较早的CComModule.RegisterServer创build正确的密钥?

可执行的DLL加载(x32,x64):select正确的一个

我有一个很大的项目,有几个第三方库。 我想为32位和64位体系结构构build一切。 几个库创build共享库(dll)。 将这些DLL提供给我的项目中已编译的可执行文件的最佳方法是什么? 我想过,我可以把所有这些DLL放到一个目录中,并添加到PATHvariables中。 但是从第三方库创build的大多数dll在32位和64位编译时都以相同的方式命名,所以我不能把它们放在一个目录中。 我可以创build两个目录,一个用于32位dll,另一个用于64位dll,可执行文件select正确的dll? 或者你有一个更好的主意,让我的可执行文件加载正确的DLL? 谢谢!

另一个进程上的Modal MessageBox句柄可能会locking目标进程

如果我将MessageBox作为另一个进程的窗口的模式显示,只要我的程序保持响应,就可以正常工作。 如果在MessageBox显示接收到MessageBox的窗口将被locking(但仍然响应)的情况下closures或终止,则必须通过任务pipe理器完成。 这里是一个示例代码来演示: using System; using System.Windows.Forms; using System.Diagnostics; using System.Threading; namespace TestMessageBox { class Program { private WindowWrapper notepad; Program(IntPtr handle) { notepad = new WindowWrapper(handle); } static void Main(string[] args) { Process[] procs = Process.GetProcessesByName("notepad"); if (procs.Length > 0) { Console.WriteLine("Notepad detected…"); Program program = new Program(procs[0].MainWindowHandle); Thread thread = new Thread(new ThreadStart(program.ShowMessage)); […]

我怎么会在Windows 64位与python调用32位exes?

我想从一个64位版本的vista上的python调用一个exe文件。 我知道使用subprocess,但所有的32位应用程序都存储在C:\ Program Files文件(x86)\,它不喜欢我相信的空间。 我试过转义字符,不开火,有什么想法?

Athlon 64 3800可以在Ada上编写并发程序吗?

由于某些原因,我仅限于ObjectAda 7.2。 我需要安装一个64位操作系统(Win 64x在我的情况下)写和运行这样的程序?