怎么得到另一个正在运行的程序的实例句柄
如何得到另一个正在运行的程序的实例句柄.
比如,先运行 "A.EXE ",
然后,运行 "B.EXE ".
"B.EXE "中有没有办法得到 "A.EXE "的实例句柄呢?
前提: 知道 "A.EXE "的窗口名
------解决方案--------------------
1.FindWindowEx/FindWindow.
2.使用CreateToolhelp32Snapshot()创建系统快照句柄,然后调用Process32First()获得系统快照中的第一个进程信息,接着用一个循环调用来遍历系统中所有运行的进程:Process32Next.
HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags, //系统快照要查看的信息类型
DWORD th32ProcessID //值0表示当前进程
);
BOOL WINAPI Process32First(
HANDLE hSnapshot, //CreateToolhelp32Snapshot()创建的快照句柄
LPPROCESSENTRY32 lppe //指向进程入口结构
);
BOOL WINAPI Process32Next(
HANDLE hSnapshot, //这里参数同Process32First
LPPROCESSENTRY32 lppe //同上
);
3....其他枚举系统进程方法.
------解决方案--------------------
1. FindWindow
2. GetWindowLong
------解决方案--------------------
http://www.vckbase.com/document/viewdoc/?id=1692
这里讲的很详细
比如,先运行 "A.EXE ",
然后,运行 "B.EXE ".
"B.EXE "中有没有办法得到 "A.EXE "的实例句柄呢?
前提: 知道 "A.EXE "的窗口名
------解决方案--------------------
1.FindWindowEx/FindWindow.
2.使用CreateToolhelp32Snapshot()创建系统快照句柄,然后调用Process32First()获得系统快照中的第一个进程信息,接着用一个循环调用来遍历系统中所有运行的进程:Process32Next.
HANDLE WINAPI CreateToolhelp32Snapshot(
DWORD dwFlags, //系统快照要查看的信息类型
DWORD th32ProcessID //值0表示当前进程
);
BOOL WINAPI Process32First(
HANDLE hSnapshot, //CreateToolhelp32Snapshot()创建的快照句柄
LPPROCESSENTRY32 lppe //指向进程入口结构
);
BOOL WINAPI Process32Next(
HANDLE hSnapshot, //这里参数同Process32First
LPPROCESSENTRY32 lppe //同上
);
3....其他枚举系统进程方法.
------解决方案--------------------
1. FindWindow
2. GetWindowLong
------解决方案--------------------
http://www.vckbase.com/document/viewdoc/?id=1692
这里讲的很详细