当前位置: 首页 > news >正文

我做网站编辑写文章很慢怎么办国家反诈中心app下载怎么注册

我做网站编辑写文章很慢怎么办,国家反诈中心app下载怎么注册,网页视频下载到本地,设计师常去网站转自#xff1a;https://blog.51cto.com/wangyw/1071967 因工作需求#xff0c;需要写一个DLL#xff0c;并在其中创建windows窗口#xff0c;网上有很多关于DLL创建窗口的文章#xff0c;不过都是基于MFC的#xff0c; 却鲜见直接用win32的DLL创建的。经过研究调试…转自https://blog.51cto.com/wangyw/1071967 因工作需求需要写一个DLL并在其中创建windows窗口网上有很多关于DLL创建窗口的文章不过都是基于MFC的 却鲜见直接用win32的DLL创建的。经过研究调试实现了在win32 DLL中创建窗口总结成文分享一下。 用win32 DLL创建窗口有一个问题: CreateWindow用到的HINSTANCE从哪里来 答使用DllMain中的hModule BOOL APIENTRY DllMain(HANDLE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved) hModule虽然是HANDLE不能直接使用但是经过强转即可直接使用 g_hIntance (HINSTANCE)hModule; Handle 是代表系统的内核对象如文件句柄线程句柄进程句柄。 HMODULE 是代表应用程序载入的模块win32系统下通常是被载入模块的线性地址 HINSTANCE 在win32下与HMODULE是相同的东西在Win32下还存在主要是因为win16。 这是来自百度百科的解释【1】。 显然HINSTANCE和HANDLE是两个玩意但这里却可以强转并成功了。调试过程中看到的值 hModule 是0x10000000 g_hIntance是0x10000000,成员unused的值是9460301, 显然hModule和g_hInstance 是模块的起始地址。 LoadLibrary返回的HINSTANCE值也是模块的起始地址于是可以直接使用。 难道2者有什么关联不细说了有空研究。 实际运行中我是将win32 windows的模板代码直接拷过来直接把WinMain作为一个函数给DLL调用了但不完善遇到以下问题 1. 编译错误。一些宏没有了。 解决需要将resource.h、资源文件和一些资源如ico拷过来。 2. 窗口显示不了。 原因跟了一下ShowWindow发现返回值是0表示窗口隐藏原来是由nCmdShow决定的由于没有值就全部给了NULL或0。 解决给nCmdShow改成1之后就OK了。 贴一下代码 //dllmain // ad.cpp : 定义 DLL 应用程序的入口点。 #include stdafx.h #include ad.h #include winform.h #include process.h HINSTANCE g_hIntance; int flag0; void c(void *) { flag1; MyCreateWindow(g_hIntance,NULL,NULL,1); return; } BOOL APIENTRY DllMain( HANDLE hModule,                         DWORD  ul_reason_for_call,                         LPVOID lpReserved) { g_hIntance (HINSTANCE)hModule; if(flag0){ _beginthread(c,NULL,NULL); flag1; } switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; }     return TRUE; } // 这是导出变量的一个示例 AD_API int nad0; // 这是导出函数的一个示例。 AD_API int fnad(void) { return 42; } // 这是已导出类的构造函数。 // 有关类定义的信息请参阅 ad.h Cad::Cad() {  return;  } //winform.h // ad.cpp : 定义应用程序的入口点。 #include stdafx.h #include resource.h #define MAX_LOADSTRING 100 // 全局变量: HINSTANCE hInst; // 当前实例 TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名 BEGIN_OBJECT_MAP(ObjectMap) END_OBJECT_MAP() // 此代码模块中包含的函数的前向声明: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY MyCreateWindow(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPTSTR    lpCmdLine,                      int       nCmdShow) {   // TODO: 在此放置代码。 MSG msg; HACCEL hAccelTable; // 初始化全局字符串 //LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); //LoadString(hInstance, IDC_AD, szWindowClass, MAX_LOADSTRING); ATOM rMyRegisterClass(hInstance); // 执行应用程序初始化: if (!InitInstance (hInstance, nCmdShow))  { return FALSE; } hAccelTable LoadAccelerators(hInstance, (LPCTSTR)IDC_AD); //  主消息循环: while (GetMessage(msg, NULL, 0, 0))  { if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg))  { TranslateMessage(msg); DispatchMessage(msg); } } return 0; } // //  函数: MyRegisterClass() // //  目的: 注册窗口类。 // //  注释:  // //    仅当希望在已添加到 Windows 95 的 //    “RegisterClassEx”函数之前此代码与 Win32 系统兼容时 //    才需要此函数及其用法。调用此函数 //    十分重要这样应用程序就可以获得关联的 //   “格式正确的”小图标。 // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize sizeof(WNDCLASSEX);  wcex.style CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc (WNDPROC)WndProc; wcex.cbClsExtra 0; wcex.cbWndExtra 0; wcex.hInstance hInstance; wcex.hIcon LoadIcon(hInstance, (LPCTSTR)IDI_AD); wcex.hCursor LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground (HBRUSH)(COLOR_WINDOW1); wcex.lpszMenuName (LPCTSTR)IDC_AD; wcex.lpszClassName _T(TEST); wcex.hIconSm LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(wcex); } // //   函数: InitInstance(HANDLE, int) // //   目的: 保存实例句柄并创建主窗口 // //   注释:  // //        在此函数中我们在全局变量中保存实例句柄并 //        创建和显示主程序窗口。 // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst hInstance; // 将实例句柄存储在全局变量中 hWnd CreateWindow(_T(TEST), _T(TEST), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { DWORD rGetLastError(); return FALSE; } BOOL r1ShowWindow(hWnd, nCmdShow); //DWORD rGetLastError(); r1UpdateWindow(hWnd); //rGetLastError(); return TRUE; } // //  函数: WndProc(HWND, unsigned, WORD, LONG) // //  目的: 处理主窗口的消息。 // //  WM_COMMAND - 处理应用程序菜单 //  WM_PAINT - 绘制主窗口 //  WM_DESTROY - 发送退出消息并返回 // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; //********************* //********************** switch (message)  { case WM_COMMAND: wmId     LOWORD(wParam);  wmEvent HIWORD(wParam);  // 分析菜单选择: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc BeginPaint(hWnd, ps); // TODO: 在此添加任意绘图代码... EndPaint(hWnd, ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // “关于”框的消息处理程序。 LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) IDOK || LOWORD(wParam) IDCANCEL)  { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; } 参考文献 1.HINSTANCE  http://baike.baidu.com/view/2434154.htm
http://www.zqtcl.cn/news/541813/

相关文章:

  • 扬州市网站建设工作室免费模板网站建设
  • 网站大全全部优秀网站设计流程
  • 授权网站系统网站标题如何修改
  • 商城网站大概多少钱考证培训机构报名网站
  • 马鞍山做网站怎么看网站谁做的
  • 网站建设捌金手指专业7网站如何设置广告
  • 做网站用什么浏览器好工程公司工作总结
  • 温州做网站哪家好为wordpress移动端
  • 温州平阳县企业网站搭建推荐建立网站的技术路径
  • php c2c网站开发的 书营销型网站sempk
  • 网站建设专业网站设计公司物格网陕西建省级执法人才库
  • 网站后台管理密码忘了建设网站简单吗
  • 做网站在哪里网站开发平台有哪些
  • 网站域名的建立推荐一个两学一做的网站
  • 网站开发开源框架企业影视广告制作公司
  • 网站建设人员的组织音乐网站建设目标
  • 动画制作软件下载安装网站seo置顶
  • 怎么做网站推广的步骤关闭评论 WordPress
  • 合肥建站费用学生做兼职去哪个网站
  • 万户网络做网站如何做网站的企业排名
  • 天猫网站左侧菜单向右滑出的导航菜单阜阳h5网站建设公司
  • 凡科做网站的方法wordpress备份如何安装
  • 网站备案依据四川省广安建设局网站
  • 网站后台管理系统模板品牌营销和品牌推广
  • 网站建设的整个流程图wordpress标题去重
  • 网站手机版模板做拼货商城网站
  • wordpress建自己的网站吗c2c网站的特点
  • 建设网站的成本有哪些龙岩做网站哪家最好
  • wordpress 多站点 子目录安徽望江县城乡建设局官方网站
  • 电子政务网站建设的步骤一般为俱乐部logo免费设计在线生成