MFC中,如何获取一个已知窗口标题的窗口的句柄

如题,比如说我现在打开了一个记事本程序,然后我想获取这个记事本程序的句柄,我该怎么做呢?最好能根据我说的情况举个例子,一个完整的例子,谢过各位了... 如题,比如说我现在打开了一个记事本程序,然后我想获取这个记事本程序的句柄,我该怎么做呢?最好能根据我说的情况举个例子,一个完整的例子,谢过各位了 展开
 我来答
amyliyouhua
2011-01-28
知道答主
回答量:4
采纳率:0%
帮助的人:5.6万
展开全部
使用windows API的FindWindow()函数;
函数原型为 :
HWND FindWindow
(
LPCSTR lpClassName,
LPCSTR lpWindowName
);
lpClassName
指向一个以null结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过GlobalAddAtom函数创建好的全局原子。这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。
如果该参数为null时,将会寻找任何与lpWindowName参数匹配的窗口。
lpWindowName
指向一个以null结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为NULL,则匹配所有窗口名。
返回值:
如果函数执行成功,则返回值是拥有指定窗口类名或窗口名的窗口的句柄。
如果函数执行失败,则返回值为 NULL 。可以通过调用GetLastError函数获得更加详细的错误信息。

可作如下使用:
HANDLE hDlg=::FindWindow(NULL,"")
if(hDlg!=NULL)
{
//Your operations
}
else
{
GetLastError();
}
如果您想熟悉使用API函数,可以下载一个MSDN帮助。里面介绍的是函数的使用方法以及参数的赋值操作
四念住
2011-01-20 · TA获得超过270个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:239万
展开全部
FindWindow 查找指定窗口标题的窗口句柄. 得到了他的窗口句柄,就可以继续得到他窗体的子控件句柄. 然后setText 啥的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jieqn
2011-01-18 · TA获得超过348个赞
知道小有建树答主
回答量:585
采纳率:0%
帮助的人:387万
展开全部
你用spy++这个工具VC上带的然后取到记事本的窗口名字和类名字

HWND hd=FindWindow("窗口名字","类名字");
if(hd)//这里已经取到
printf("%d\n",hd);
else
printf("error\n");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
豆之刀人辞0V
2011-01-18 · TA获得超过331个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:69.9万
展开全部
HANDLE m_dlg=::FindWindow(NULL,"图片数据管理服务器");
if (m_dlg!=NULL)
{
::ShowWindow((HWND)m_dlg,SW_SHOW);
return TRUE;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Frank7258
推荐于2016-10-30 · TA获得超过1503个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:552万
展开全部
调用Windows API
EnumWindows就可以枚举所有顶级窗口,所谓顶级窗口就是指没有父窗口的窗口。

函数定义:
BOOL WINAPI EnumWindows(
__in WNDENUMPROC lpEnumFunc,
__in LPARAM lParam
);

第一个参数是回调函数的指针,回调函数必须要是这样的形式
BOOL CALLBACK EnumWindowsProc(
__in HWND hwnd,
__in LPARAM lParam
);

调用EnumWindow之后,你自己的回调函数会被系统调用,没调用你的回调函数一次,他给你一个HWND的句柄,如果你的回调函数返回TRUE,那么系统继续给你下一个窗口的句柄,返回FALSE系统停止枚举窗口。

获得窗口的标题可以通过SendMessage来获得,然后可以对比窗口是否为你需要的窗口。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式