Articles of 进程

JNA – 查询Windows进程

我正在尝试使用JNA来返回特定Windows进程的详细信息。 不完全确定如何做到这一点。 无法在互联网上find很多帮助。 我想返回的一些信息包括CPU和内存使用情况。 下面只是我find的一个例子。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import com.sun.jna.*; import com.sun.jna.Library.Handler; import com.sun.jna.platform.win32.*; import com.sun.jna.platform.win32.Advapi32Util.*; import com.sun.jna.platform.win32.WinNT.*; import com.sun.jna.ptr.IntByReference; import com.sun.jna.win32.*; import com.sun.jna.Native; import com.sun.jna.platform.win32.*; import com.sun.jna.win32.W32APIOptions; public class WindowsProcess { public static void main(String[] args) { WinNT winNT = (WinNT) Native.loadLibrary(WinNT.class, W32APIOptions.UNICODE_OPTIONS); […]

在winapi中以最低的权限运行进程

我写的东西类似于http://ideone.com/ 。 目前我正在用CreateProcess调用运行用户进程。 如果运行时间超过指定的时间,我会终止进程,但是我不知道如何拒绝读/写文件系统权限/创build进程权限等等。 给定的可执行文件可以从字面上任何东西,我只需要只允许标准input/标准输出。 如果我可以设置工作记忆,那也是很好的。 我读了很多关于msdn的文章,比如CreateProcessAsUser Function , CreateProcessWithLogonW Function等,但是我很困惑(可能是因为我的win32知识非常有限)。 只需调用CreateProcessAsUser并使用这些有限权限(以及如何创build此用户)创build特殊用户即可。 我希望我能用一个正确的参数在一个函数调用中实现这一点,所以请帮助。 另外,如果你知道一些类似的开源项目,那就太好了。 谢谢。 ================================================== ======== 编辑:嗨再次:)我仍然坚持这一点。 我没有足够的时间来处理这个问题,但我猜snemarch post是非常有用的。 如果有人开箱即用的解决scheme,那就太好了。 如果我用snemarch的链接做什么,我会发布。

打开一个文件夹,并用WPF高亮显示一个特定的文件

有没有办法启动一个资源pipe理器窗口,并突出显示该文件夹中的WPF文件? 我已经尝试了以下内容: Process ExplorerWindowProcess = new Process(); ExplorerWindowProcess.StartInfo.FileName = "explorer.exe"; ExplorerWindowProcess.StartInfo.Arguments = ConfigFile.File.FullName; ExplorerWindowProcess.Start(); …但打开文件(在我的情况下,一个XML文件)与Windows资源pipe理器中的默认应用程序,我非常不希望。 我知道可用于Eclipse的Aptana工具允许您在Eclipse项目浏览器中select一个文件,并按照需要在资源pipe理器中显示文件,但是我需要一种在WPF应用程序中实现此function的方法。

如何重新使用现有/已打开的Windows资源pipe理器窗口来启动资源pipe理器

我有一个经常使用启动explorer.exe的应用程序。 我想重新使用现有/已经打开的资源pipe理器窗口,而不是每次启动过程时都创build一个新窗口。 这是我的代码看起来像: System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo { UseShellExecute = true, FileName = "Explorer.exe", Arguments = myDirectoryPath }; System.Diagnostics.Process.Start(info); 我没有看到一个命令行开关来做到这一点。 我尝试的一种方法是简单地杀死任何一个现有的浏览器进程,并将其replace为新的进程: var processes = System.Diagnostics.Process.GetProcesses(Environment.MachineName);int kills = 0; for (int i = 0; i < processes.Length; i++) { System.Diagnostics.Process p = processes[i]; if (p.ProcessName == "explorer" && kills < 1) ++kills p.Kill(); } 但是这会造成不必要的影响,不仅仅是杀死一个进程,而是彻底杀死资源pipe理器,甚至是任务栏也会消失。 […]

我如何等待Windows进程及其subprocess全部退出?

我们有一个启动程序,执行一些设置(启动服务器),启动subprocess,等待(通过工作线程)subprocess退出,然后做一些清理(停止服务器)。 这已经到位,工作正常。 不过,我们的一些应用可以启动其他应用。 例如,启动程序可能启动应用程序A,然后我可以单击启动应用程序B的应用程序A中的button。然后closures应用程序A,启动程序的Process.WaitForExit调用返回,启动程序停止服务器 – 不知道应用程序B仍在运行。 我们只使用启动器进行开发testing,所以这不是一个危机,但是当应用B试图与服务器交谈并崩溃时,这是不方便的。 开始一个subprocess,然后等待它(和它的任何subprocess)退出的最好方法是什么? 这些应用程序(启动器和应用程序都启动)都在.NET中。 如果我必须在每个应用程序中编写特殊的代码(例如打开一个指定的信号量)来完成这个工作,那就好了; 我只是不确定最好的办法。 奖励积分,如果有一些方法只能等待我的应用程序完成 – 例如,如果我的应用程序启动记事本,我不想等待记事本closures; 我只想等待需要服务器的应用程序。 但这不是一个要求,只是一个很好的。

为什么Python 2.7 AMD 64安装程序似乎在32位模式下运行Python?

我已经从python.org的python-2.7.amd64.msi包中安装了Python 2.7。 它安装并正确运行,但似乎是在32位模式下,尽pipe安装程序是一个64位安装程序。 Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys, platform >>> platform.architecture() ('64bit', 'WindowsPE') >>> sys.maxint 2147483647 我能做些什么来安装Python,以便它实际上在64位模式下运行?

什么是Windows上的最大进程ID?

什么是我可以通过调用DWORD GetProcessId(HANDLE)或DWORD GetCurrentProcessId()获得最大的进程ID? 它没有logging在API的文档页面上。

编译用于Windows的SQLite(64位)

我有MinGW,我希望将SQLite融合源编译成64位的DLL。 我对这种汇编还比较陌生,迄今为止我的努力都导致了失败。 (我首先开始使用autoconf合并,并使用Linux上的configure&make工具,但显然这对于​​Windows二进制文件来说是无效的)。 无论如何,我被告知我需要以下预处理器定义: 以下是我用于64位版本构build的编译器预处理器定义: WIN64 NDEBUG _视窗 _USRDLL NO_TCL _CRT_SECURE_NO_DEPRECATE THREADSAFE = 1 TEMP_STORE = 1 SQLITE_MAX_EXPR_DEPTH = 0 以下是我用于32位版本构build的编译器预处理器定义: WIN32 NDEBUG _视窗 _USRDLL NO_TCL _CRT_SECURE_NO_DEPRECATE THREADSAFE = 1 TEMP_STORE = 1 SQLITE_MAX_EXPR_DEPTH = 0 我不知道把这些放在哪里。我最终采取了一个有教养的猜测,做了一个名为sqlite3w64.h的新文件(整洁),并粘贴在以下内容中: #define WIN64 NDEBUG #define _WINDOWS #define _USRDLL #define NO_TCL #define _CRT_SECURE_NO_DEPRECATE #define THREADSAFE 1 #define TEMP_STORE 1 #define […]

我怎么能创build窗口站和Windows桌面使用C#

我想创build新的窗口站和Windows桌面,并附加我的过程。 我怎样才能做到这一点 我需要知道 创build窗口站并附上我的桌面 有效地创build和切换桌面 如何将进程附加到winlogon桌面(如果可能的话) 销毁创build的桌面并返回到Windows桌面

Robocopy错误32文件我正在尝试更新/replace正在被另一个进程使用

我试图使用robocopy将本地文件复制到服务器上。 这是我的脚本: if exist \\10.1.1.1\c$ net use \\10.1.1.1\c$ /delete net use Z: \\10.1.1.1\c$ p@ssword /user:domain\username :: first copy files to a temp directory xcopy C:\dev\Filepath C:\dev\TempFiles\ /E /C /H /R /K /O /Y :: then copy files from temp directory to server robocopy "C:\dev\TempFiles" "Z:\Program Files (x86)\Insite Software\Commerce Integration Service V3.7.1.16264" MSD*.dll net use \\10.1.1.1\c$ […]