社区
进程/线程/DLL
帖子详情
知道窗口句柄,怎么获得进程的句柄!
myusst
2003-10-18 05:47:41
知道窗口句柄,用GetWindowThreadProcessId,可以获得进程的ID.
那么知道窗口句柄,怎么获得进程的句柄呢?
...全文
41
4
打赏
收藏
知道窗口句柄,怎么获得进程的句柄!
知道窗口句柄,用GetWindowThreadProcessId,可以获得进程的ID. 那么知道窗口句柄,怎么获得进程的句柄呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
myusst
2003-10-18
打赏
举报
回复
知道了,用GetWindowLong(hwnd,GWL_HINSTANCE);
就可以了。
yaoha2003
2003-10-18
打赏
举报
回复
是GetSafeHwnd
yaoha2003
2003-10-18
打赏
举报
回复
FromHandle()
MilitaryMiniatures
2003-10-18
打赏
举报
回复
你知道了进程的ID之后,就可以打开进程了,这样就得到了进程的句柄。
参考如下函数:
HANDLE OpenProcess(DWORD, BOOL, DWORD dwProcessID);
最后一个参数就是进程的ID,返回你所打开的进程句柄。
易语言通过
窗口
句柄
取得
进程
ID
易语言通过
窗口
句柄
取得
进程
ID源码,通过
窗口
句柄
取得
进程
ID,
句柄
获得
进程
ID_DLL
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找到
窗口
句柄
.
通过
进程
id获取主
窗口
句柄
及主
窗口
标题
通过
进程
id获取到所在
进程
的主
窗口
的
句柄
,及通过该主
窗口
句柄
获取当前主
窗口
的标题,
进程
名;这是一个demo例程,仅供参考
C#通过
进程
名获取
窗口
句柄
C#通过
进程
名获取
窗口
句柄
,也可以获取当前
窗口
句柄
。本人在c#2013测试通过。
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章