社区
Windows SDK/API
帖子详情
如果我得到了一个窗口的句柄怎样才能得到它所在的进程的进程号?
nightfallrove
2003-05-16 03:50:16
如题。。。
谢谢谢谢
...全文
42
4
打赏
收藏
如果我得到了一个窗口的句柄怎样才能得到它所在的进程的进程号?
如题。。。 谢谢谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
azhui_992431
2003-05-17
打赏
举报
回复
好
yingyys
2003-05-16
打赏
举报
回复
好快呵
猎人66
2003-05-16
打赏
举报
回复
hWnd是窗口句柄
猎人66
2003-05-16
打赏
举报
回复
DWORD GetWindowThreadProcessId(
HWND hWnd, // handle of window
LPDWORD lpdwProcessId // address of variable for process identifier
);
用法
DWORD pID=0;
GetWindow(hWnd,pID);//pID就是进程ID
通过
窗口
句柄
取得
进程
ID
通过
窗口
句柄
取得
进程
ID,源码是易语言API函数GetWindowThreadProcessId的应用教程。@易语言代码大全详解。
VC
进程
ID获得主
窗口
句柄
获得
进程
名
VC获得
进程
ID获得主线程ID获得
窗口
句柄
获得主
窗口
获得
进程
名 1.
窗口
类名
窗口
句柄
窗口
标题
窗口
句柄
HWND FindWindow( LPCTSTR lpClassName, //
窗口
类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //
窗口
标题 ); 举例: 以 记事本为例, 记事本
窗口
类名 为:NotePad,
窗口
标题 视按具体情况而定,假设为"新建 文本文档.txt - 记事本"
窗口
类名
窗口
句柄
TCHAR lpClassName[]=TEXT("NotePad"); HWND hWnd=::FindWindow(lpClassName,NULL); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE);
窗口
标题
窗口
句柄
TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本"); HWND hWnd=::FindWindow(NULL,lpWindowName); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE); 2.
窗口
句柄
进程
ID
窗口
句柄
主线程ID 要使用到的函数: DWORD GetWindowThreadProcessId( HWND hWnd, //目标
窗口
句柄
LPDWORD lpdwProcessId //返回目标
窗口
对应
进程
ID ); 例子: DWORD dwProcId=0;//存放返回的
进程
ID DWORD dwThreadId=0;//存放返回的主线程ID HWND hWnd=XXXX;//这里省略,可能用任务方式
得到
一个
窗口
的
句柄
.比如用1中的方法. dwThreadId=GetWindowThreadProcessId(hWnd,&dwProcId);//同时
得到
进程
ID和主线程ID. 3.
窗口
HAND CWnd 用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数. 4.
进程
名
进程
ID (注:
进程
名,即在"任务管理器"中看到的名字) 用CCheckObject类(详细实现源文件); 例子: 以记事本为例,
进程
名为 NOTEPAD.EXE (不一定是大写哦,
得到
任务管理器是显示而定); CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwProcId=ch.GetProcessId(Name); 5.
进程
名 主线程ID 例子: CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwThreadId=ch.GetThreadId(Name); 6.
进程
名 主
窗口
句柄
CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); HWND hWnd=ch.GetTargetWindowHanle(Name); 7. 其它说明 从CCheckObject类和上面的源码中,不难写出从
进程
ID 主线程ID
进程
ID 主
窗口
句柄
主线程ID--->主
窗口
句柄
等等其它类似转换. 对于主
窗口
,特点如下: A. 不能用
进程
ID,要用线程ID,因为
一个
进程
可能有多个线程,每个线程都可能会有主
窗口
. B. 主
窗口
不会有WS_CHILD属性 C. 主
窗口
没有父
窗口
D. 主
窗口
一般都有子
窗口
(这个不是一定的,但是具有普遍性)
通过
进程
ID找到
窗口
句柄
.
通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.通过
进程
ID找到
窗口
句柄
.
C#通过
进程
名获取
窗口
句柄
C#通过
进程
名获取
窗口
句柄
,也可以获取当前
窗口
句柄
。本人在c#2013测试通过。
易语言通过
窗口
句柄
取得
进程
ID
易语言通过
窗口
句柄
取得
进程
ID源码,通过
窗口
句柄
取得
进程
ID,
句柄
获得
进程
ID_DLL
Windows SDK/API
1,222
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章