VC浏览器相关的学习(五)(在BHO中建立对话框)--解决CreateDialog的1813错误
2010-08-18 15:18
211 查看
1 添加一个资源Dialog IDD_DIALOG1
2 创建对话框
MyRock.h
MyRock.cpp
这样创建之后,就可以在对话框的消息回调里用m_pMyRock调用CMyRock对象,实现与IE的交互
2 创建对话框
MyRock.h
CMyRock():m_hwndDlg(0) { m_pMyRock = this; } private: void CreateDlg(); void DestroyDlg(); static INT_PTR CALLBACK CMyRock::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); static CMyRock* m_pMyRock; }; CMyRock* CMyRock::m_pMyRock = 0;
MyRock.cpp
INT_PTR CALLBACK CMyRock::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: m_pMyRock->DestroyDlg(); return TRUE; } case WM_CLOSE: m_pMyRock->DestroyDlg(); return TRUE; } //返回FALSE给缺省对话框函数DefDlgProc(),表示没有处理本消息 return FALSE; } void CMyRock::CreateDlg() { if(m_hwndDlg == 0) { // HINSTANCE在win32下与HMODULE是相同的东西,GetModuleHandle(NULL)是获得当前程序的句柄。在DLL中使用GetModuleHandle(NULL),是获得程序的句柄,而不是DLL的。GetModuleHandle("RockBHO.dll")才是获得DLL的(这里用的是全局变量)。 // 若是采用应程句柄创建对话框会出现无法找到对话框资源的1813错误。 // HINSTANCE hInst = GetModuleHandle(_T("RockBHO.dll")); HINSTANCE hInst = g_hInstance; m_hwndDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DialogProc); ShowWindow(m_hwndDlg, SW_SHOW); } } void CMyRock::DestroyDlg() { if(m_hwndDlg != 0) { DestroyWindow(m_hwndDlg); m_hwndDlg = 0; } }
这样创建之后,就可以在对话框的消息回调里用m_pMyRock调用CMyRock对象,实现与IE的交互
相关文章推荐
- Error:System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,请检查远程连接是否开启。解决方法
- VC浏览器相关的学习(四)(在BHO中获取IE版本以及获取窗体句柄)
- 解决在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
- “在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。”的解决方法
- SQL Server 2008建立连接时出现与网络相关的或特定于实例的错误的解决办法
- SqlMetal 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误 (error: 26 - 定位指定的服务器/实例时出错) SQL SERVER 2008解决办法
- c#与sqlserver建立连接时出现与网络相关的或特定于实例的错误的解决方法
- 用vs2010MVC2项目中创建数据库时报建立连接时出现与网络相关的或特定于实例的错误的解决办法
- VC浏览器相关的学习(二)(BHO)
- 【SQL Server学习笔记】2:在与SQL Server建立连接时出现与网络相关的或特定于实例的错误
- SQL Server 2008建立连接时出现与网络相关的或特定于实例的错误的解决办法
- VC浏览器相关的学习(七)(BHO捕获鼠标键盘事件)
- 解决sqlserver2008在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQ
- VC浏览器相关的学习(三)(解决IE8无法断点调试)
- react-native学习(RN)--之Window环境下搭建环境配置,以及初始化建立react-native项目,(真机和模拟器运行的相关错误解决办法,android打包报错)
- linux常见权限相关错误及解决
- HBase学习之四: mapreduce处理数据后存储到hbase及错误java.lang.NoClassDefFoundError的解决办法
- 客户端无法建立跟远程计算机的连接 错误解决办法
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,未找到或无法访问服务器。错误代码:40
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或...