引子 “Windows 程序分为‘程序代码’和‘UI(User Interface)资源’两大部份,两部份最后以RC编译器(资源编译器)整合为一个完整的EXE 文件.所谓UI 资源是指功能菜单.对话框外貌.程序图标.光标形状等等东西.这些UI 资源的实际内容(二进制代码)系借助各种工具产生,并以各种扩展名存在,如.ico..bmp..cur 等等.程序员必须在一个所谓的资源描述档(.rc)中描述它们.RC 编译器读取RC 档的描述后将所有UI资源档集中制作出一个.RES 档,再与程序代码结合在一…
Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件中包含了对程序中所使用资源(菜单.图标等)的描述.rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中. 3.link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文…
再谈程序之“死” 记得在第二回中我对程序的“死”只是一句话带过,因为我还没有铺垫好,好了现在我们可以详细的分析一下这个过程了. 这还要从while消息循环说起,还记得GetMessage函数吗?它是一个BOOL类型函数,当它收到WM_QUIT消息时(即消息结构体的message成员变量为WM_QUIT,可见注释⑦),函数返回0,意味着消息循环结束.若收到除WM_QUIT之外的消息,函数就返回非0值了,消息循环继续进行. 再来研究一下WM_CLOSE消息喝和WM_DESTROY消息.不知读者是否注…
<pre style=""><pre class="cpp" name="code">1 #include <windows.h>//① 2 LRESULT CALLBACK WinSunProc( 3 HWND hwnd,      // handle to window 4 UINT uMsg,      // message identifier 5 WPARAM wParam,  // first me…
这段时间,都在做Ring3层的普通32bit程序兼容64bit操作系统的代码修改,在此记录修改和学习心德.编程领域太广, 任何人经历有限,本人不是专家,所以我一贯原则是: 用到的时候,才去研究,在去记录.只要个人的基础知识扎实,吸收一些新的东西,还是蛮顺利的. 1. 64bit操作系统的重定向机制以及目的   在64bit操作系统中,为了无缝兼容32bit程序的运行,64bit的Windows操作系统采用重定向机制.目的是为了能让32bit程序在64bit的操作系统不仅能操作关键文件文夹和关键的…
引用:http://blog.csdn.net/jarvischu/article/details/8115390 1.     程序 /************************************************************************ * 名  称:Windows_Frist_Code.cpp * 功  能:Windows编程入门 * 描  述:包含WinMain函数.WNDCLASS.消息循环等多种内容 windows窗口程序的流程如下:[Win…
源码 #include<Windows.h> LRESULT CALLBACK WindProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); int WinMain(HINSTANCE hInst, HINSTANCE tmp, LPSTR szCmd, int nShow) { WNDCLASS WndClass; TCHAR* ClassName = TEXT("MyClass"); HWND hwnd…
一般在进行windows编程时都使用vc++精简版,其插入菜单,图片等资源等更简单,且vc中对中文有更好的支持,win7下安装的Mingw中文并不能很好地显示,有光标显示的位置和光标实际位置不符的问题. MingW创建windows程序的工程,在new时要选择projects中的win32 application windows编程基础: windows编程的核心是消息驱动,要理解消息机制. WinMain函数,该函数是windows程序的入口函数,在其中创建了窗口类(WNDCLASSEX)对象…
Ubuntu下可以直接安装: sudo apt-get install mingw32 mingw32-binutils mingw32-runtime 安装后编译程序可以: i586-mingw32msvc-g++(编译C++程序) i586-mingw32msvc-gcc(编译C程序) 用法和gcc/g++非常类似. 如hello.c程序: <ccid_nobr> <ccid_code> #include int WINAPI WinMain (HINSTANCE hInsta…
Windows开发的常识 1)窗口 Windows中最基本的概念也许就是窗口了,每一个前台程序都至少有一个窗口,一个窗口也是你可以看到的部分,比如,QQ有如下的登录窗口 基本上你在Windows中可见的都是一个窗口,窗口也是Windows中用于用户直接交互的基本元素(GUI程序). 2)句柄 窗口.文件.socket.信号量.管道.邮槽(mailslot)……都是Windows平台中的基本对象,为了操作这些对象,我们需要一个能够引用这些对象的东西,这个引用这些对象的东西就是句柄(Handle).…