VC 控制台程序创建hwnd的方法
2011-08-25 21:24
239 查看
#include <stdio.h>
#include <wtypes.h>
#include <string.h>
#include <wtypes.h>
#include <string.h>
//extern HINSTANCE hookInst; static LRESULT CALLBACK WndProc(HWND hWnd, UINT message,WPARAM wParam, LPARAM lParam) { switch (message) {
default:
DefWindowProc(hWnd, message, wParam, lParam); } return 0; } HWND CreateWnd() { WNDCLASSEX wc; HWND tmp; static BOOL reg = FALSE; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WndProc; wc.hInstance = hookInst; wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)COLOR_WINDOW; wc.lpszClassName = "AnyWnd"; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.lpszMenuName = "Menu"; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if (!reg) { if (!RegisterClassEx(&wc)) { DWORD err = GetLastError(); return NULL; } } reg = TRUE; tmp = CreateWindowEx(NULL,"AnyWnd","", WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL,NULL,hookInst,NULL); return tmp; } DWORD WINAPI MessageLoop(LPVOID pParam) { MSG msg; HWND hWnd;
hWnd = CreateWnd(); while (GetMessage(&msg, hWnd, NULL, NULL)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; }
相关文章推荐
- VC++ 控制台程序中 四种定时器创建方法
- VC++ 6.0 控制台程序使用GDI+的方法
- vc2005中运行控制台程序后暂停的方法
- VC创建无窗口的控制台程序
- VC++ 控制台程序不弹出窗口的方法
- VC中控制台程序如何创建窗口
- VC++ 控制台程序不弹出窗口的方法
- vc程序中运行其他程序和创建文件夹的方法:
- VC++如何创建无CMD窗口控制台程序
- VC 开发控制台程序 不出现CMD对话框的方法
- VC++ 控制台程序不弹出窗口的方法
- 使用VC创建进程和执行命令行程序的方法
- VC中创建出来的Win32项目和Win32控制台程序互相转换
- VC++ 在 窗口程序 中创建 控制台
- vc2005中运行控制台程序后暂停的方法
- 使用VC创建进程和执行命令行程序的方法
- 将VC向导中创建出来的Win32项目和Win32控制台程序互相转换
- [转]VC: 非MFC程序TRACE和ASSERT宏的一种实现方法
- VC++如何尽量压缩控制台程序的大小
- VC 使用MSXML创建新结点时出现xmlns="" 属性解决方法