
有id的话,
1、用OpenProcess通过ID打开进程,获得进程句柄(windowsh,kernel32lib)
2、用GetProcessImageFileName获得程序名(psapih,kernel32lib或psapilib)
package test;
import javaioBufferedReader;
import javaioFile;
import javaioFileWriter;
import javaioIOException;
import javaioInputStream;
import javaioInputStreamReader;
import javaioPrintWriter;
public class GetPid {
private static final String PNAME = "QQ";
public static void main(String[] args)
throws IOException {
Systemoutprintln("包含关键字 "+PNAME+" 的进程有:");
Systemoutprintln();
String path = SystemgetProperty("userdir");
final File createFileName = new File(path + "\\mytempscriptvbe");
if(createFileNameexists()createFileNamedelete():createFileNamecreateNewFile()){}
final PrintWriter pw = new PrintWriter(new FileWriter(createFileName,
true), true);
pwprintln("for each ps in getobject(\"winmgmts:\\\\\\root\\cimv2:win32_process\")instances_");
pwprintln("wscriptecho pshandle&vbtab&psname");
pwprintln("next");
pwclose();
final InputStream ii = RuntimegetRuntime()exec(
"cscript " + path + "\\mytempscriptvbe")getInputStream();
final InputStreamReader ir = new InputStreamReader(ii);
final BufferedReader br = new BufferedReader(ir);
String str = null;
String[] ss = null;
while ((str = brreadLine()) != null) {
if (strindexOf(PNAME)>0&&strendsWith("exe")) {
ss = strsplit("\\s");
for(int i=0;i<sslength;i+=2){
Systemoutprintln("");
Systemoutprintln("进程名:"+ss[i+1]+"\n进程ID:"+ss[i]);
}
}
}
Systemoutprintln("");
irclose();
iiclose();
brclose();
}
}
运行结果如下
包含关键字 QQ 的进程有:
进程名:QQexe
进程ID:3956
在“开始”—“运行”栏中输入“wmic”,然后点“确定”,此时XP就会d出一个名为“C:\WINDOWS\System32\Wbem\wmicexe”的命令行黑窗口(如果大家是第一次运行的话,窗口中会先显示“正在安装WMIC,请稍候。”),它的提示符是“wmic:root\cli>”,我们在其后输入“Process”命令(“进程”的意思)并回车,就会看到进程与其所对应的路径了
我现在有一个窗口的句柄(HWND),那如何获取该窗口的进程ID呢
需要什么函数,GetCurrentProcessId()是获取当前的进程ID,但是我想通过那个窗口的句柄获取那个窗口的进程,怎么弄
handle=getwindowthreadprocessid(hwnd)
就用GetWindowThreadProcessId,这个函数是获取指定窗口的线程ID和进程ID
C/C++ code
HWND hWnd; // 窗口的句柄DWORD dwPID;DWORD dwThreadID = ::GetWindowThreadProcessId(hWnd, &dwPID);
执行成功后,dwPID便是获取到的进程ID
以上就是关于由程序进程id或窗口句柄如何获得程序名全部的内容,包括:由程序进程id或窗口句柄如何获得程序名、java 获取指定的进程id、已知进程ID,如何获取进程名称 以及路径。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)