摘要:
刚学习不太理解GetCommandLine函数的作用,所以网上搜索了一下,做个笔记,理解不一定准确,还望大家指点。 win32可执行程序分为两种类型,基于控制台(Consol-based)的和基于窗口(Windows-based)的。基于控制台程序它的入口函数是传统的main,基于窗口的则是WinMain。这两个入口函数一大区别是对于命令行参数的处理。WinMain函数原型为:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)窗口应用程序的运行需... 阅读全文
摘要:
要设置图标文件分这么几步:首先要定义图标文件,就是32*32或16*16大小的ICO文件。在程序的.RC文件下进行定义:#define IDI_APP_ICON100(图标文件的ID号)IDI_APP_ICON ICON“图标文件的位置”通常图标文件我们就放到资源文件夹中。然后我们还需要在头文件中定义一下:IDI_APP_ICONequ100.第三步在定义窗口类结构体时装载图标文件:invoke LoadIcon,NULL,IDI_APP_ICON movwnd.hIcon,eax movwnd.hIconSm,eax首先是加载图标文件,hIcon和hIconSm都是图标句柄,前一个是用以指. 阅读全文
摘要:
switch多分支结构根据case语句的不同一般分为一下几种情况:一、在case语句小于3条时效率跟if……else的执行效率差距不大,不同的是switch是把所有的判断集中放到一起,判断完成后直接跳到相应case语句的地址处,而if……else结构则是每一个判断后紧跟着相应的语句。这里我们主要分析的是case语句大于3条的情况,我们以下面的程序为例分析一下case值有序线性的switch结构(case差值不能大于6):其对应的反汇编代码如下:Switch结构运行时,会制作一个case语句地址数组,即case表,里面存放着每条case语句的首地址,上图中红色框内的地址,数组下标就用case语句 阅读全文