码迷,mamicode.com
首页 > 其他好文 > 详细

01day-am

时间:2015-03-17 19:32:37      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

Win32 Windows编程
1、Windows编程基础
2、Windows文字的编码
3、窗口程序
4、窗口消息
5、菜单和加速键
6、绘图
7、对话框
8、基本控件
...

一 Windows编程基础
1、Win32应用程序的基本类型
  1.1控制台程序
    不需要完善的Windows窗口,可以使用DOS窗口的方式显示。
  1.2Win32窗口程序
    包含窗口的程序。可以通过窗口与程序进行交互。
  1.3Win32库程序
    提供已有的代码,供其他程序使用。
    动态库:DLL 是在执行的时候可以加载的程序。
    静态库:LIB 是在编译链接时使用的程序。
  1.4对比
    1.4.1程序的入口函数不同
      控制台:main
      Win32窗口程序:WinMain
      动态库DLL:DllMain
      静态库LIB:无

    1.4.2编译链接后存在的形式不同
      控制台和Win32窗口程序:EXE文件
      动态库DLL:DLL文件,无法执行
      静态库LIB:LIB文件,无法执行

    1.4.3执行结果不同
      控制台:使用DOS窗口,自己没有窗口
      Win32窗口程序:会产生自己的窗口,可以将结果输出或者从窗口接受输入。
      动态库DLL:提供可以执行的代码,当EXE等程序执行时,可以使用这些代码。
            执行时,该库必须在指定的路径。
      静态库LIB:自己无法执行,提供给程序在编译链接时使用,将库中的代码嵌入到程序当中。

            执行时,不需要该库存在。

二 Win32窗口程序和编译环境
  2.1开发和编译环境
    VC1.5 - VC6.0(2008) - VC10.0(2010)
      2.1.1编译器 CL.EXE
        将源代码编译目标代码.OBJ文件
      2.1.2链接器 LINK.EXE
        将OBJ文件和库函数链接,生成EXE。
      2.1.3资源编译器 rc.exe
        将资源脚本编译成可以链接的文件(RES)。

 

#include <Windows.h>

int WINAPI WinMain(HINSTANCE hInstance,
           HINSTANCE hPrevInstance,
           LPSTR pszCmdLine,
           int nShowCmd)
{
    MessageBox(NULL,"Hello World", "FirstWin32", MB_OK);
    return 0;
}

 

  2.2头文件和库

    2.2.1头文件 Windows.h包含了windows常用的定义等,
      还包含了一些其他的头文件:
      windef.h - 定义了各种的数据类型
      winbase.h - 定义了kernel的相关函数
      wingdi.h - 定义了绘图和文字
      winuser.h - 定义窗口/控件等函数
      winnt.h - 提供Unicode支持
    2.2.2 库
      kernel.lib - 提供进程/线程/内存等等API函数支持
      user32.lib - 包括窗口/界面等等
      gdi32.lib - 提供绘图/文字等

  2.3Hello World程序
    2.3.1入口函数
      int WINAPI WinMain(
        HINSTANCE hInstance, //应用程序的句柄
        HINSTANCE hPrevInstance,//该应用程序的前一个实例句柄
        LPSTR pszCmdLine, //命令行参数
        int nShowCmd) //窗口的显示方式
      L - long
      P - pointer
      C - const
      STR - 字符串
      T - TCHAR

    2.3.2 MessageBox
  2.4编译环境的准备
    在VC的BIN目录下VCVARS32.BAT

  2.5编译
  2.6链接

01day-am

标签:

原文地址:http://www.cnblogs.com/gongyan/p/4345072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!