1. // Win32.cpp : 定义应用程序的入口点。
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "Win32.h"
  6.  
  7. void TRACE(LPCTSTR lpszFmt, ...);//调试信息
  8. LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);//消息处理函数
  9.  
  10. int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
  11. _In_opt_ HINSTANCE hPrevInstance,
  12. _In_ LPTSTR lpCmdLine,
  13. _In_ int nCmdShow)
  14. {
  15. //定义窗口类
  16. TCHAR *ClassName = _T("WIN32窗口程序");
  17. WNDCLASS wndclass = {};
  18. wndclass.hbrBackground = (HBRUSH)COLOR_MENU;
  19. wndclass.lpfnWndProc = WindowProc;
  20. wndclass.lpszClassName = ClassName;
  21. wndclass.hInstance = hInstance;
  22.  
  23. //注册窗口类
  24. RegisterClass(&wndclass);
  25. HWND hwnd = CreateWindow(
  26. ClassName,
  27. _T("第一个窗口"),
  28. WS_OVERLAPPEDWINDOW,
  29. ,
  30. ,
  31. ,
  32. ,
  33. NULL,
  34. NULL,
  35. hInstance,
  36. NULL
  37. );
  38. if (hwnd ==NULL)
  39. {
  40. return ;
  41. }
  42.  
  43. //显示窗口
  44. ShowWindow(hwnd, SW_SHOW);
  45.  
  46. //消息循环
  47. MSG msg;
  48. while (GetMessage(&msg, NULL, , ))
  49. {
  50. TranslateMessage(&msg);
  51. DispatchMessage(&msg);
  52.  
  53. }
  54.  
  55. //TRACE(_T("%d %s"), 1243, a);
  56.  
  57. return ;
  58. }
  59.  
  60. //调试信息输出
  61. void TRACE(LPCTSTR lpszFmt, ...)
  62. {
  63. va_list args;
  64. va_start(args, lpszFmt);
  65. int len = _vsctprintf(lpszFmt, args) + ;
  66. TCHAR *lpszBuf = (TCHAR*)_alloca(len*sizeof(TCHAR));//栈中分配, 不需要释放
  67. _vstprintf_s(lpszBuf, len, lpszFmt, args);
  68. va_end(args);
  69. OutputDebugString(lpszBuf);
  70. }
  71. //消息回调函数
  72. LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
  73. {
  74.  
  75. return DefWindowProc(hwnd, uMsg, wParam, lParam);
  76. }

WIN32窗口程序的更多相关文章

  1. 第一个手写Win32窗口程序

    第一个手写Win32窗口程序 一 Windows编程基础 1 Win32应用程序的基本类型 1.1 控制台程序 不需要完善的Windows窗口,可以使用DOS窗口 的方式显示. 1.2 Win32窗口 ...

  2. win32窗口程序分析

    1.分析消息的附加参数 例如:为了查看程序处理了哪些消息   在回调函数中调用输出函数,在控制台中输出消息的值:

  3. Windoows窗口程序五

    程序执行机制 过程驱动-程序的执行过程是按照预订好的顺序执行. 事件驱动-程序的执行是无序,用户可以根据需要随机触发相应的事件. Win32窗口程序就是采用事件驱动方式执行,也就是消息机制. 当系统通 ...

  4. Win32窗口消息机制 x Android消息机制 x 异步执行

    如果你开发过Win32窗口程序,那么当你看到android代码到处都有的mHandler.sendEmptyMessage和 private final Handler mHandler = new ...

  5. win32程序之窗口程序,以及消息机制

    win32程序值窗口程序,以及消息机制 一丶简介 通过上一讲.我们了解了窗口其实是绘制出来的.而且是不断绘制的过程. 所以窗口的本质是绘制. 但是我们现在看到的窗口程序.都可以点击关闭按钮. 使用鼠标 ...

  6. 给Win32 GUI程序增加控制台窗口的方法

    给Win32 GUI程序增加控制台窗口的方法 2008年10月11日 星期六 下午 04:43 在Win32的GUI程序中,没有控制台窗口,我们输出调试信息时有些不方便,以往我的做法是使用Messag ...

  7. 【转】WIN32 控制台程序

    http://blog.csdn.net/houmin0036/article/details/7702236 win32控制台项目指在32位Windows命令提示符(即所谓的dos)环境下运行的应用 ...

  8. Win32应用程序的基本结构

    0 引言 Win32 API是用于创建 Windows 应用程序的应用程序编程接口.通常情况下,一个Win32应用包含一下几个部分: 1)    应用程序入口: 2)    注册窗口类: 3)    ...

  9. Win32对话框程序(2)

    接着Win32对话框程序(1)来写 ,解决遗留的问题,即理解函数及其调用关系.文章中有些地方是自己的推断,因此肯定有叙述不准确甚至错误的地方,请指正,感谢~ ********************* ...

随机推荐

  1. Android获取状态栏的高度:

    方法一: //获取手机状态栏高度 public static int getStatusBarHeight(Context context){ Class<?> c = null; Obj ...

  2. Quartus 11进行编译Compile Design的时候出现错误near text ã

    1. 设计的工程在Compile Design的时候出现以下的错误,百思不得姐 Error (): Verilog HDL syntax error at div_5.v() near text ã ...

  3. TCP close seq问题

    测试mt_hls一条流时,发现会话的时长总是对应不上. 仔细观察发现: 注意 1.包1735 (客户端) 发送FIN 请求,seq = 2435582428 2.包1736,1737,1738 (服务 ...

  4. Android学习记录(1)—Android中XML文件的序列化生成与解析

    xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较 ...

  5. USACO Section2.2 Subset Sums 解题报告 【icedream61】

    subset解题报告------------------------------------------------------------------------------------------ ...

  6. Python 字符串格式化输出方式

    字符串格式化有两种方式:百分号方式.format方式. 其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存. 1.百分号方式 格式:%[(name)][flags ...

  7. python 3 使用cmp函数报错

    python3 中已经不使用cmp函数进行比较大小,使用operator模块 import operator lt(a,b) 相当于 a<b 从第一个数字或字母(ASCII)比大小 le(a,b ...

  8. Python 基础学习篇

    注:技术尚浅,时间匆忙,如有错误或者不当之处值得商榷的,请留言,吾必思而改之. 第一篇 :Python基础- 安装/变量/输入/及循环语句使用 第二篇:  Python基础- 常用数据类型 第三篇: ...

  9. Scrapy爬取到的中文数据乱码问题处理

    Scrapy爬取到中文数据默认是 Unicode编码的,于是显示是这样的: "country": ["\u56fd\u4ea7\u6c7d\u8f66\u6807\u5f ...

  10. 原始套接字--icmp相关

    icmp请求 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <uni ...