查找指定类名的子窗口
2014-12-20 09:10
92 查看
向WebBrowser控件发送消息,示例
/*
Using PostMessage/SendMessage to send keys to c# IE WebBrowser http://www.acnenomor.com/946128p2/using-postmessagesendmessage-to-send-keys-to-c-ie-webbrowser */
BOOL Ccat8637_priceComparingSystemDlg::PreTranslateMessage(MSG* pMsg)
{
static int i=0;
if(pMsg->message == WM_KEYDOWN) {
switch(pMsg->wParam) {
case VK_RETURN:
{
if (i%2==0)//ignore even message, because the even message is just send.
{
CWnd *pWnd = &m_webBrowser;
// just get instance of webbrowsrer control
while (pWnd = pWnd->GetWindow(GW_CHILD))
// and find specific window between children
{
CString strClass;
GetClassName(pWnd->m_hWnd, strClass.GetBuffer(64), 64);
strClass.ReleaseBuffer();
if (strClass == _T("Internet Explorer_Server") )
{
::PostMessage(pWnd->GetSafeHwnd(), WM_KEYDOWN, VK_RETURN, 0);
::PostMessage(pWnd->GetSafeHwnd(), WM_CHAR, VK_RETURN, 0);
::SendMessage(pWnd->GetSafeHwnd(), WM_CHAR, VK_RETURN, 0);
::PostMessage(pWnd->GetSafeHwnd(), WM_KEYUP, VK_RETURN, 0L);
break;
}
}//end while
}//end if
i++;
}//end case
return TRUE;
case VK_ESCAPE://Disable Escape key
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
/*
Using PostMessage/SendMessage to send keys to c# IE WebBrowser http://www.acnenomor.com/946128p2/using-postmessagesendmessage-to-send-keys-to-c-ie-webbrowser */
BOOL Ccat8637_priceComparingSystemDlg::PreTranslateMessage(MSG* pMsg)
{
static int i=0;
if(pMsg->message == WM_KEYDOWN) {
switch(pMsg->wParam) {
case VK_RETURN:
{
if (i%2==0)//ignore even message, because the even message is just send.
{
CWnd *pWnd = &m_webBrowser;
// just get instance of webbrowsrer control
while (pWnd = pWnd->GetWindow(GW_CHILD))
// and find specific window between children
{
CString strClass;
GetClassName(pWnd->m_hWnd, strClass.GetBuffer(64), 64);
strClass.ReleaseBuffer();
if (strClass == _T("Internet Explorer_Server") )
{
::PostMessage(pWnd->GetSafeHwnd(), WM_KEYDOWN, VK_RETURN, 0);
::PostMessage(pWnd->GetSafeHwnd(), WM_CHAR, VK_RETURN, 0);
::SendMessage(pWnd->GetSafeHwnd(), WM_CHAR, VK_RETURN, 0);
::PostMessage(pWnd->GetSafeHwnd(), WM_KEYUP, VK_RETURN, 0L);
break;
}
}//end while
}//end if
i++;
}//end case
return TRUE;
case VK_ESCAPE://Disable Escape key
return TRUE;
}
}
return CDialogEx::PreTranslateMessage(pMsg);
}
相关文章推荐
- Android通过包名,查找包下面的指定类的类名
- 用grep在子目录中指定的文件类型中查找
- grep命令在指定目录中的指定文件类型中查找关键字
- Java:IO/NIO篇,利用IO遍历目录示范(示范:从指定目录的JAR包中查找指定类)
- 字符串-01. 在字符串中查找指定字符(15)
- 在指定路径或者是文件名查找指定的字符串
- 字符串-01. 在字符串中查找指定字符(15)
- 【AS/400】如何查找到含指定字符串的代码文件
- C#查找指定窗口的子窗口的句柄
- 查找指定节点的所有父节点的示例函数.sql
- Linux中查找指定大小或者指定内容的文件
- 数据结构与算法读书笔记4----C# 查找数组中指定数字,最小值,最大值。
- 遍历查找指定文件
- linux 在指定的文件夹查找某个字符串
- 10-1. 在字符串中查找指定字符(15)
- winform在richTextBox中查找并选择指定的文本
- 静态方法查找类名
- 在eclipse中如何在大量项目中查找指定文件(转载)
- linux 在指定目录不包含子目录查找文件
- 指定查找名字