�������� Linux Tags
1. ��ʼ
����������֪���ģ�Windows 98�ѳ�Ϊʹ��Intel 32λԪ΢������������486��Pentium����IBM�����͸��˵��Ի��������µ�ͼ����ҵϵͳ֮������Windows NT��IBM PC���ݻ����Լ�һЩRISC������ָ����ԣ�����վ��ʹ�õ�Windows��ҵ��ǿ�Ͱ汾��
ʹ�ñ����������Ⱦ����������ȣ���Ӧ�ô�ʹ���ߵĽǶ���ϤWindows 98����Ҫ���������ڲ��˽�Windowsʹ���߽���������¿�����Ӧ�ó�ʽ����ˣ��ҽ������ڿ�����ʽ�����ڽ�������������ʱʹ��ִ��Windows�Ļ�������WindowsӦ�ó�ʽ��
�ڶ�����Ӧ�˽�C���ԡ����ҪдWindows��ʽ��һ��ʼȴ�����˽�C���ԣ��Dz���һ�������⡣�ҽ����������ֿ���̨�����У�������Windows 98 MS-DOS������ʾ�Ӵ����ṩ�Ļ�����ѧϰC���ԡ�Windows��ʽ�����ʱ����һЩ������ģʽ��ʽ��Ƶ�C���Բ��֣�����Щ����£��ҽ������Щ�����ṩ���ۡ������������£���Ӧ�dz���Ϥ�����ԣ��ر���C���ԵĽṹ��ָ�ꡣ�˽��׼C����ִ���ڳ�ʽ���һЩ���֪ʶ���а����ģ������DZ�Ҫ�ġ�
��������Ӧ���ڻ����ϰ�װһ����춽���Windows��ʽ��Ƶ�32λԪC���Ա������Ϳ����������ڱ����У��ٶ�������ʹ��Microsoft Visual C++ 6.0������װ����ɶ�������Ҳ����ΪVisual Studio 6.0��װ�����һ���ֹ���
����Ϊֹ���ҽ����ټ����������κ�ͼ��ʹ���߽��棨��Windows���ij�ʽд�����顣
WINDOWS����
��
Windows��������Ҫ���ܡ�Ȼ�����Ǻ���������Windows���칫�Һͼ�ͥ�����͵������������ش�ı䡣Windows�������������߹�һ�ο����ĵ�·�����������͵����г���ǰ;һ���൱��ã��
Windows��ʷ
��
��1981������IBM PC�Ƴ�֮�᲻�ã�MS-DOS���Ѿ������Գ�ΪPC�ϵ�������ҵϵͳ��MS-DOS����Microsoft Disk Operating System���ŵ���ҵϵͳ����MS-DOS��һ��С�͵���ҵϵͳ��MS-DOS�ṩ���û�һ�������н��棬�ṩ��DIR��TYPE�����Ҳ���Խ�Ӧ�ó�ʽ���������ִ�С����Ӧ�ó�ʽд���ߣ����ṩ��һ�麯ʽ���У����е��������������I/O )������������ܱߴ����������ǽ����ֻ�ͼ��д����ʾ���ϣ�Ӧ�ó�ʽ����ֱ�Ӵ�ȡPC��Ӳ�塣
��춼������Ӳ������ƣ������ͼ�λ��������زŵ�������ƻ�����Թ�˾���ҵ�Lisa������1983��1�·���ʱ�����ṩ�˲�ͬ�����ģʽ��������һ��ѡ�񣬲���1984��1�³�ΪMacintosh��ͼ�λ�����һ�ֱ�׼������Macintosh���г�ռ�������½�����������Ȼ����Ϊ�Ǻ�����������ͼ�λ����ı�׼������Macintosh��Windows������ͼ�λ�������ʵ��Ҫ�鹦�Xerox Palo Alto Research Center��PARC����70������������Ŀ������о�������
Windows����΢����1983��11�£���Lisa֮�ᣬMacintosh֮ǰ�����������������ᣨ1985��11�£����С��ڴ���������У�������Microsoft Windows���ڰ汾1.0֮�ᣬ���Ƴ��˼��ָĽ��汾����֧Ԯ������ҵ�г������ṩ������Ѷ��ʾ����ӡ������������ʽ��
Windows�汾2.0����1987��11����ʽ���г����Ƴ��ġ��ð汾��ʹ���߽�������һЩ�Ľ�����Щ�Ľ�������Ч����ʹ���˿��ص�ʽ�Ӵ�����Windows 1.0��ʹ�õ��Dz���ʽ�Ӵ���Windows 2.0����ǿ�˼��̺ͻ�����棬�ر��Ǽ����˹��ܱ��ͶԻ����顣
���ˣ�Windows��ֻҪ��Intel 8086����8088�ȼ���΢���������ԡ�ʵ��ģʽ��ִ�У�ֻ�ܴ�ȡλַ��1MB���µļ����塣Windows/386����Windows 2.0֮�᲻�÷��еģ�ʹ��Intel 386΢�������ġ�����8086��ģʽ��ʵ�ֽ�ֱ�Ӵ�ȡӲ��Ķ��MS-DOS��ʽ�Ӵ����Ͷ๤����Ϊ��ͳһ�����Windows�汾2.1������ΪWindows/286��
Windows 3.0����1990��5��22�շ����ġ�����Windows/286��Windows/386��ϵ�ͬһ�ֲ�Ʒ�С�Windows 3.0����һ���ܴ�ĸı䣬����Ƕ�Intel��286��386��486΢����������ģʽ��֧Ԯ������ʹWindows��WindowsӦ�ó�ʽ�ܴ�ȡ�ߴ�16MB�ļ����塣Windows���ִ�г�ʽ��ά�������ġ���ǡ���ʽ�õ���ȫ��ĸĽ���Windows 3.0�ǵ�һ���ڼ��úͰ칫���г���ȡ�������İ汾��
�κ�Windows����ʷ���ܶ��������һЩOS/2��˵����OS/2�Ƕ�DOS��Windows����һ��ѡ���������Microsoft��IBM���������ġ�OS/2�汾1.0��ֻ������ģʽ����Intel 286�����������ģ�΢�����������У���1987��ĩ��������1988��10�µ�OS/2�汾1.1�г����˹���ͼ��ʹ���߽����PM��Presentation Manager����PM�������ƹ����dz�ΪWindows��һ�ֱ���ģʽ�汾������ͼ��API�ı�̶�̫����ʹ�����������̺����ṩ��������ƽ̨��֧Ԯ��
��1990��9�£�IBM��Microsoft֮��ij�ͻ�ﵽ�˸߷壬������������˾����ֵ�����IBM�ӹ���OS/2����Microsoft��ȷ��ʾWindows����������ҵϵͳ���Ե����ġ���ȻOS/2��Ȼӵ��һЩ���ȵij���ߣ�������Զ����Windows�������ռ��̶ȡ�
Microsoft Windows�汾3.1��1992��4�·����ģ����а����ļ�����Ҫ������TrueType���弼������Windows���������ŵ��������� )����ý�壨���������� )����������Ƕ�루OLE��Object Linking and Embedding����ͨ�öԻ����顣��OS/2һ����Windows 3.1ֻ���ڱ���ģʽ������������Ҫ������������1MB�������286��386��������
��1993��7�·�����Windows NT�ǵ�һ��֧ԮIntel 386��486��Pentium΢������32λԪ����ģʽ��Windows�汾��Windows NT�ṩ32λԪƽ̹��ַ����ʹ��32λԪ��ָ��������������һ�̸��һЩ��ַ�ռ������ )��Windows NT��������ֲ����Intel�������ϣ����ڼ���ʹ��RISC��Ƭ�Ĺ���վ��ִ�С�
Windows 95����1995��8�·����ġ���Windows NTһ����Windows 95Ҳ֧ԮIntel 386����ߵȼ���������32λԪ����ģʽ����Ȼ��ȱ��Windows NT�е�ijЩ���ܣ�����߰�ȫ�ԺͶ�RISC�����Ŀ�Я�Եȣ�����Windows 95������Ҫ����Ӳ����Դ���ŵ㡣
Windows 98��1998��6�·��������������ǿ���ܣ�����ִ��Ч�ܵ���ߡ����õ�Ӳ��֧Ԯ�Լ���������·��ȫ����Ѷ����WWW�������ܵĽ�ϡ�
Windows����
��
Windows 98��Windows NT����֧Ԯ32λԪ����Ȩʽ�๤��preemptive multitasking������ִ������ͼ����ҵϵͳ��Windowsӵ��ͼ��ʹ���߽��棨GUI )������ʹ���߽���Ҳ�������Ӿ������桹��ͼ���Ӵ����������й�GUI�ĸ����׷����70������ڣ���Alto��Star�Ȼ������Լ�SmallTalk�Ȼ�������Xerox PARC�������о������������о��ijɹ�������Apple Computer��Microsoft����������������������Ȼ��һЩ���飬�������ѷdz������GUI�ǣ�Microsoft��Charles Simonyi��˵����һ���ڸ��˵��Թ�ҵʷ�ϼ������漼������һ�������Ҫ���
����GUI���ڵ�����Ӧ����Ѷ��ʾ���ϴ���ͼ�Ρ�ͼ���ṩ��ʹ��өĻ����ѷ�ʽ��������Ѷ���Ӿ����ḻ��ʻ������Լ��ܹ�WYSIWYG��what you see is what you get�����������ã���ͼ����Ѷ��ʾ��Ϊ�����ļ�׼���ø�ʽ������������ݡ�
�����ڣ���Ѷ��ʾ������춻�Ӧʹ����ͨ��������������֡���ͼ��ʹ���߽����У���Ѷ��ʾ��������Ϊʹ���������һ����Դ����Ѷ��ʾ����ͼʾ�������豸�����簴ť�;��ᣩ����ʽ��ʾ����ͼ�������ʹ���߿���ʹ�ü��̣����߸�ֱ�ӵ�ʹ�û����ָ��װ�ã�ֱ����өĻ�ϲ�����Щ������϶�ͼ����������»���ť�Լ��������ᡣ
��ˣ�ʹ�������ʽ�Ľ�����ø�Ϊ���ܡ��ⲻ����һ�ִӼ��̵���ʽ���ٵ���Ѷ��ʾ���ĵ�����Ѷ������ʹ�����Ѿ��ܹ�����ʾ���ϵ����ֱ�ӽ��������ˡ�
ʹ���߲�����Ҫ���ѳ�ʱ��ѧϰ���ʹ�õ��Ի������³�ʽ�ˡ�Windows����һ�г��棬��Ϊ����Ӧ�ó�ʽ������ͬ�Ļ�����ۺ͸о�����ʽռ��һ���Ӵ���өĻ�ϵ�һ���������ÿ���Ӵ���һ�������б�ʶ���������ʽ�����ɳ�ʽ�Ĺ��ܱ���ʼ���û���ʹ�þ���۲���Щ�޷���һ��өĻ��װ�µ���Ѷ��ijЩ���ܱ���Ŀ�����Ի����飬�û�������������������Ѷ��������ÿ�����Windows��ʽ�ж���һ����춿�������������Ի����顣�öԻ�������������ЩWindows��ʽ�п�������һ������ӽ���ͬ�������Ҽ������Ǵ�ͬһ���ܱ�ѡ����������
һ�����˽�ʹ��һ��Windows��ʽ�ķ��������ͷdz�����ѧϰ������Windows��ʽ�����ܱ��ͶԻ����������û�����һ���³�ʽ��̽�����Ĺ��ܡ������Windows��ʽͬʱ���м��̽���ͻ�����档��ȻWindows��ʽ�Ĵ�������ܿ�ͨ�����̿��ƣ���ʹ�û���Ҫ���׵öࡣ
�ӳ�ʽд���ߵĽǶȿ���һ�µ�ʹ���߽��������Windows�������ܱ��ͶԻ���������ó�ʽ�����й��ܱ�����ͬ���ļ��̺ͻ�����棬��Ϊ���������Windows��������������Ӧ�ó�ʽ������
Ϊ��춶����ʽ��ʹ�ã��Լ���Щ��ʽ����Ѷ�Ľ�����Windows֧Ԯ�๤����ͬһʱ�����ж��Windows��ʽ��ʾ�����С�ÿ����ʽ��өĻ��ռ��һ���Ӵ����û�����өĻ���ƶ��Ӵ����ı����ǵĴ�С���ڲ�ͬ��ʽ���л�������һ����ʽ����һ����ʽ�������ϡ���Ϊ��Щ�Ӵ���������Щ�������ϵ�ֽ����Ȼ�����ǵ��Ի�δռ�ݰ칫��֮ǰ���������Windows��ʱ��������һ����ʾ�����ʽ�ġ��������桹��
Windows�����ڰ汾ʹ��һ�֡�������Ȩʽ��non-preemptive�����Ķ๤ϵͳ������ζ��Windows��ʹ��ϵͳ��ʱ��������ʱ������ϵͳ�����еĶ��Ӧ�ó�ʽ����ʽ������Ը���������Ա�������ʽ���С���Windows NT��Windows 98�У��๤������Ȩʽ�ģ����ҳ�ʽ�����ɷָ�ɽ���ͬʱִ�еĶ��ִ������
��ҵϵͳ���Լ�������й������޷�ʵ�ֶ๤�����³�ʽ�������ɳ�ʽ��ֹʱ���������������ѿռ䡣ϵͳ�����ܹ������õļ�����ռ���֯��һ�����ϵͳ�����ܹ��ƶ��������еij�ʽ������Ͽ顣
��ʹ����8088΢���������ܵ�Windows 1.0Ҳ�ܽ�������������������ʵ��ģʽ�����£�������������Ϊ�����幤��һ�����˾��ȵijɾ͡���Windows 1.0�У�PCӲ��ṹ��640KB���������ƣ��ڲ�Ҫ���κζ�������������±���Ч����չ�ˡ���Microsoft��δ�ʹ�ͣ����Windows 2.0����WindowsӦ�ó�ʽ��ȡ��������壨EMS����Windows 3.0�ڱ���ģʽ�£�����WindowsӦ�ó�ʽ��ȡ�ߴ�16MB����չ�����塣Windows NT��Windows 98ͨ�������32λԪ��ҵϵͳ��ƽ̹��ַ�ռ䣬��������Щ�ɵ����ơ�
Windows��ִ�еij�ʽ�ɹ����ڳ�Ϊ����̬�����ʽ�⡹�ĵ����еij�ʽ��Windows����һ�����ƣ��ܹ���ִ��ʱ����ʹ�ö�̬�����ʽ���г�ʽ�ij�ʽ��Windows���������Ͼ���һ����̬�����ʽ��ļ��ϡ�
Windows��һ��ͼ�ν��棬Windows��ʽ�ܹ�����Ѷ��ʾ����ӡ�����ϳ������ͼ�κ͸�ʽ�����֡�ͼ�ν��治��������ϸ��������������һ��ܹ���ʹ���ߴ��ݸ߲�ε���Ѷ��
WindowsӦ�ó�ʽ����ֱ�Ӵ�ȡөĻ��ӡ������ͼ����ʾ�豸Ӳ�塣�෴��Windows�ṩһ��ͼ�γ�ʽ���ԣ�����ͼ��װ�ý��棬����GDI����ʹ��ʾͼ�κ͸�ʽ�����ָ����ס�Windows���⻯����ʾӲ�壬ʹΪWindows��д�ij�ʽ��ʹ���κξ���Windowsװ��������ʽ����Ƶ����ӡ����������ʽ����ȷ��ϵͳ������װ�����͡�
��Windows��������˵������װ���޹ص�ͼ�ν��������IBM PC�ϲ��Ǽ����ɵ��¡�PC������ǻ�춿���ʽ�ܹ���Ô�ò£¬¹ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ó²ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ÎªPC�����ܱ��豸�����ҿ����˴����������豸����Ȼ�����˶��ֱ�׼��PC�ϵĴ�ͳMS-DOS��ʽ�Բ��ò�����֧Ԯ���಻ͬ��Ӳ���豸�����MS-DOS���ִ���������˵�dz��ձ飬������ͬ1��2��������С�����Ĵ�Ƭһͬ���ۣ�ÿ������֧Ԯһ���ض���ӡ������Windows��ʽ��Ҫ��ÿ��Ӧ�ó�ʽ�����п�����Щ������ʽ����Ϊ����֧Ԯ��Windows��һ���֡�
��̬����
��
Windows�������Ƶĺ�����һ����������̬���᡹�ĸ��Windows�ṩ��Ӧ�ó�ʽ�ḻ�Ŀɺ��к�ʽ����������ʵ����ʹ���߽��������Ѷ��ʾ������ʾ���ֺ�ͼ�Ρ���Щ��ʽ���ö�̬�����ʽ�⣨Dynamic Linking Library��DLL���ķ�ʽ׫д����Щ��̬�����ʽ����Щ����.DLL������ʱ��.EXE�������ĵ�������Windows 98��ͨ��λ�\WINDOWS\SYSTEM��Ŀ¼�У���Windows NT��ͨ��λ� \WINNT\SYSTEM��\WINNT\SYSTEM32��Ŀ¼�С�
�����ڣ�Windows����Ҫ���ֽ�ͨ��������̬�����ʽ��ʵ�����������Windows��������Ҫ��ϵͳ�����DZ�����Kernel��User��GDI������ϵͳ����Ŀ��Windows����汾������ʱ����������͵�Windows��ʽ�����ĺ�ʽ�����Զ�Ӧ��������ģ��֮һ��Kernel����ǰ��16λԪ��KRNL386.EXE��32λԪ��KERNEL32.DLLʵ�֣����������ڴ�ͳ������ҵϵͳ���Ĵ��������ñ£¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½I/O�Ͷ๤������User����16�USER.EXE��32�USER32.DLLʵ����ָʹ���߽��棬ʵ�������Ӵ��������ơ�GDI����16�GDI.EXE��32�GDI32.DLLʵ������һ��ͼ��װ�ý��棬������ʽ��өĻ��ӡ��������ʾ���ֺ�ͼ�Ρ�
Windows 98֧ԮӦ�ó�ʽ��ʹ�õ���ǧ�ֺ�ʽ���С�ÿ����������һ���������ƣ�����CreateWindow���ú���������������ģ�Ϊ��ʽ�������Ӵ�������Ӧ�ó�ʽ����ʹ�õ�Windows��ʽ���ڱ�ͷ������Ԥ���������
��Windows��ʽ�У�ʹ��Windows��ʽ�ķ�ʽͨ����ʹ����strlen��C���Գ�ʽ�⺯ʽ�ķ�ʽ��ͬ����Ҫ���������C���Գ�ʽ�⺯ʽ�Ļ�е�����ᵽ���ij�ʽ���У���Windows��ʽ�ij�ʽ��������ʽִ�е����DLL�С�
����ִ��Windows��ʽʱ����ͨ��һ����������̬���᡹�Ĺ�����Windows��ӡ�һ��Windows�� .EXE��������ʹ�õ��IJ�ͬ��̬�����ʽ��IJο����ϣ���ʹ�õĺ�ʽ������Щ��̬�����ʽ���С���Windows��ʽ�����뵽��������ʱ����ʽ�еĺ��б�ָ��DLL��ʽ����ڡ������DLL���ڼ������У��Ͱ������뵽�������С�
��������Windows��ʽ�Բ���һ����ִ�е���ʱ�������������ʽ���������ṩ���ض������ó�ʽ�⣨import library��������Щ���ó�ʽ������˶�̬�����ʽ�����ƺ�����Windows��ʽ���е�������Ѷ�������ʽʹ�ø���Ѷ��.EXE�����н���һ�������������ʽʱ��Windowsʹ����������ת��ΪWindows��ʽ��
WINDOWS��ʽ���ѡ��
��
Ϊ˵��Windows��ʽ��ƵĶ��ּ����������ṩ�����෶����ʽ����Щ��ʽʹ��C����׫д��ÔÔ������ʹ��Windows API��������ʽ���ҽ����ַ����������ŵ䡹Windows��ʽ��ơ�����������1985��ΪWindows 1.0д��ʽ�ķ���������������д��Windows��ʽ����Ч������
API�ͼ�����ģʽ
��
��춳�ʽд������˵����ҵϵͳ���ɱ�����API����ġ�API����������Ӧ�ó�ʽ�ܹ�ʹ�õ���ҵϵͳ��ʽ���У�ͬʱ��������ص�������̬�ͽṹ����Windows�У�API����ζ��һ������ij�ʽ�ܹ������ǽ���ÿ�µĿ�ͷ�����о���
һ����ԣ�Windows API��Windows 1.0����һֱ����һ�£�ûʲô�ش�ı䡣����Windows 98��ʽд�������Windows��ʽд���߻��Windows 1.0��ʽ��Ôʼ��о��dz���Ϥ��API�ı��һ�ַ�ʽ�ǽ�����ǿ��Windows 1.0֧Ԯ����450����ʽ���У�������������ǧ�ֺ�ʽ���С�
Windows API�������﷨�����仯����춴�16λԪ�ܹ���32λԪ�ܹ�ת���Ĺ����С�Windows�Ӱ汾1.0���汾3.1ʹ��16λԪIntel 8086��8088����286΢����������ν�ķֶμ�����ģʽ����������Ե�Ô�ò£¬´ï¿½386��ʼ��32λԪIntel΢������Ҳ֧Ԯ��ģʽ��������ģʽ�£�΢�������ݴ����Ĵ�СΪ16λԪ�����C��int������̬Ҳ��16λԪ�����ڷֶμ�����ģʽ�£�������λַ������������ɣ�һ��16λԪ�Σ�segment��ָ���һ��16λƫ������offset��ָ�ꡣ�ӳ�ʽд���ߵĽǶȿ�����dz����Ҳ�������long��farָ�꣨������λַ��ƫ����λַ����short��nearָ�꣨�������мٶ���λַ��ƫ����λַ��������
��Windows NT��Windows 95��ʼ��Windows֧Ԯʹ��Intel 386��486��Pentium������32λԪģʽ�µ�32λԪƽ̹��ַ������ģʽ��C���Ե�int������̬Ҳ��չΪ32λԪ��ֵ��Ϊ32λԪ�汾Windows��д�ij�ʽʹ�ü򵥵�ƽ̹���Կռ䶨ַ��32λԪָ��ֵ��
���16λԪ�汾Windows��API��Windows 1.0��Windows 3.1�����ڳ���Win16�����32λԪ�汾Windows��API��Windows 95��Windows 98�����а汾��Windows NT�����ڳ���Win32�����ຯʽ�����ڴ�Win16��Win32��ת���б�����ͬ������Щ��Ҫ��ǿ�����磬ͼ���������Win16�е�16λԪֵ��ΪWin32�е�32λԪֵ�����⣬ijЩWin16��ʽ���з���һ��������32λԪ����ֵ�еĶ�ά����㡣����Win32�в����ܣ�������ӵ��º�ʽ�����Բ�ͬ��ʽ������
����32λԪ�汾��Windows��֧ԮWin16 API����ȷ���;���Ӧ�ó�ʽ���ݣ���Win32 API����������Ӧ�ó�ʽ�����dz���Ȥ���ǣ�Windows NT��Windows 95��Windows 98�Ĺ�����ʽ��ͬ����Windows NT�У�Win16��ʽ����ͨ��һ��ת���㱻ת��ΪWin32��ʽ���У�Ȼ�ᱻ��ҵϵͳ��������Windows 95��Windows 98�У��ò������෴��Win32��ʽ����ͨ��ת����ת��ΪWin16��ʽ���У�������ҵϵͳ������
��ͬһʱ����������ͬ��Windows API�����������Ʋ�ͬ����Win32s ����s��������subset���Ӽ���������һ��API��������ʽд���߱�д��Windows 3.1��ִ�е�32λԪӦ�ó�ʽ����API��֧Ԯ�ѱ�Win16֧Ԯ��32λԪ��ʽ�汾�����⣬Windows 95 APIһ�ȱ�����Win32c����c��������compatibility�������ԣ����������������ѱ������ˡ�
���ڣ�Windows NT��Windows 98������Ϊ�ܹ�֧ԮWin32 API��Ȼ����ÿ����ҵϵͳ��Ȼ��֧ԮijЩ���������ҵϵͳ֧Ԯ��ijЩ�������ԡ���Ϊ���ǵ���֮ͬ�����൱�ɹ۵ģ������п��ܱ�д��������ҵϵͳ�¶���ִ�еij�ʽ�����ң������ձ���Ϊ��������Ʒ���ջ�϶�Ϊһ��
����ѡ��
��
ʹ��C���Ժ�Ôʼ��API���DZ�дWindows 98��ʽ��Ψһ������Ȼ�������ַ���ȴ�ṩ������ѵ����ܡ���ǿ��Ĺ��ܺ��ڷ���Windows���Է�����������ԡ���ִ�е�����Խ�С������ʱ��Ҫ���ⲿ��ʽ�⣨��Ȼ��Windows DLL�������⣩������Ҫ���ǣ�������������ʲô��ʽ����WindowsӦ�ó�ʽ����ϤAPI��ʹ����Windows�ڲ��и�������˽⡣
��Ȼ����Ϊѧϰ�ŵ��Windows��ʽ��ƶ��κ�Windows��ʽд���߶�����Ҫ�ģ���û�б�Ҫ����ʹ��C��API��дÿ��WindowsӦ�ó�ʽ�������ʽд���ߣ��ر�����ЩΪ��˾�ڲ�������ʽ���ڼұ�д���ֳ�ʽ�ij�ʽд����ϲ�����ɵĿ�������������Microsoft Visual Basic����Borland Delphi�����������������Pascal�汾������Щ����ʹ��ʽд���߽����������Ӧ�ó�ʽ��ʹ���߽�������ʹ���߽�������ij�ʽ���ϡ�ҪѧϰVisual Basic����Ҳ����Ҫ�ο�Microsoft Press��һЩ����ͼ�飬����Michael Halvorson1996�����ġ�Learn Visual Basic Now����
��רҵ��ʽд�����У��ر�����Щ������ҵӦ�ó�ʽ�ij�ʽд���ߣ�Microsoft Visual C++��Microsoft Foundation Class Library��MFC���ǽ��������е�ѡ��MFC��һ��C++�������з�װ������Windows��ʽ����е�����ϸ�ڡ�Jeff Prosise�ġ�Programming Windows with MFC,�ڶ��桷��Microsoft Press,1999�꣩�ṩ��MFC��ʽ��д��ָ�ϡ�
�����Internet��World Wide Web�����д����ƹ���Sun Microsystems��Java������һ����C++����ȴ��΢�������޹صij�ʽ������ԣ����ҽ���˿��ڼ�����ҵϵͳƽ̨��ִ�е�ͼ��Ӧ�ó�ʽ���������顣Microsoft Press��һ�����Microsoft J++��Microsoft��Java���������ߵĺ��飬��Programming Visual J++ 6.0����1998�꣩����Stephen R. Davis����
��Ȼ������˵���ַ���������춿���WindowsӦ�ó�ʽ������Ҫ���ǣ�Ҳ����Ӧ�ó�ʽ���������Ծ�������ʹ�õĹ��ߡ�����������ʵ����ʹ��ʲô����д����ʽ��ѧϰWindows API��ʹ����������˽�Windows�����ķ�ʽ��Windows��һ�����ӵ�ϵͳ����API������һ����ʽд���㲢δ�������ĸ����ԣ��������ڸ������������������������˽�API��������õIJ��Ȼ��ᡣ
��Ôʼ��Windows API֮�ϵ��κ�����㶼�ض�����������ȫ�����ܵ�һ���Ӽ��ڡ���Ҳ�����֣����磬ʹ��Visual Basic��дӦ�ó�ʽ�dz����룬Ȼ��������������һ���������ܼòµ¥µÄ»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Â£ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ã²ï¿½Ê¹ï¿½ï¿½Ôʼ��API����API��������ΪWindows��ʽд���������һ�С�û��ʲô������ֱ��ʹ��API�����ܵ��ˡ�
MFC��������ٳ�����Ȼ���������ijЩ����������OLE������ȴ��������Ҫ�����ǰ��������ȥ����ʱ�������������ԣ�����Document/View�ܹ��������ڡ�MFC������Windows��ʽ�������׷����鵤��ҩ������������Ϊ����һ���õ����������Ƶ�ģ�͡�MFC��ʽд���ߴ�����ʹ�õ�����������ι���������������ᷢ�����Ǿ����ο�MFCÔʼ�룬�㶮��ЩÔʼ����ѧϰWindows API�ĺô�֮һ��
��ʽ��������
��
�ڱ����У��ٶ�����ʹ��Microsoft Visual C++ 6.0����׼�桢רҵ�����ҵ�涼���ԡ����õı�׼������Ӧ�������еij�ʽ�������Visual C++ ����Visual Studio 6.0�е�һ���֡�
Microsoft Visual C++ ��װ�����а���C���������������뼰����Windows��ʽ����ĵ����͹��ߵȡ���������Visual C++ Developer Studio��һ���ɱà¼Ôʼ�롢�Խ�̸��ʽ������Դ����ͼʾ�ͶԻ����飩�Լ��à¼ï¿½ï¿½ï¿½ï¿½ï¿½ë¡¢Ö´ï¿½ÐºÍ²ï¿½ï¿½Ô³ï¿½Ê½ï¿½Ä»ï¿½ï¿½ï¿½ï¿½ï¿½
�������ʹ��Visual C++ 5.0������ҪΪWindows 98��Windows NT 5.0���±�ͷ���������ó�ʽ�⣬��Щ�����ɴ�Microsoft����վ�ϵõ�����
http://www.microsoft.com/msdn/ ��ѡ�� Downloads ����Ȼ��ѡ�� Platform SDK �������忪���׼�������������ѡ���Ŀ¼�����غͰ�װ���µ�����Ҫ��Microsoft Developer Studio�����ЩĿ¼�����Դӡ� Tool �����ܱ���ѡ�� Options ��Ȼ�ᰴ�¡� Directories ����ǩ��Microsoft��վ�ϵ�msdn���ִ�����Microsoft Developer Network��Microsoft���忪������·����������һ�����ʽд�����ṩ�˾������µ�CD-ROM�ļƻ�����ЩCD-ROM�а����˳�ʽд������Windows��������������¶�������Ҳ���Զ���MSDN�������ͱ��â¾ï¿½ï¿½ï¿½Ã´ï¿½Microsoft����վ���ص�����
API�ļ�
��
���鲻��Windows APIȨ������ʽ�ļ������Ʒ�������ļ�������ӡˢ��ʽ���棬�����ܴ�CD-ROM��Internet��ȡ�á�
������װVisual C++ 6.0ʱ�������õ�һ������API�ļ�����������ϵͳ������ͨ������MSDN��ʹ��Microsoft��վ�ϵ���������ϵͳ���¸��ļ������ӵ� http://www.microsoft.com/msdn/ ����ѡ�� MSDN Library Online ����
��Visual C++ 6.0�У��ӡ� Help �����ܱ���ѡ�� Contents ����Ŀ����MSDN�Ӵ���API�ļ������νṹ��֯��Ѱ�ұ��С� Platform SDK ���IJ��֣������ڱ��������õ��ļ�������춸ò��֡��ҽ�����������δӡ� Platform SDK ����ʼѰ����б�߷ֲ���ű�����ļ���λ�á�����֪����Platform SDK��������MSDN֪ʶ���н�Ϊ��ɬ�IJ��֣����Ҹұ�֤����Windows��ʽ��ƵĻ������ġ������磬��������Windows��ʽ��ʹ�û�����ļ������ɲο�/ Platform SDK / User Interface Services / User Input / Mouse Input��
����ǰ���ᵽWindows���·�ΪKernel��User��GDI��ϵͳ��kernel������/ Platform SDK / Windows Base Services�У�User���溯ʽ�� / Platform SDK / User Interface Services�У�GDIλ� / Platform SDK / Graphics and Multimedia Services / GDI�С�
��д��һ��WINDOWS��ʽ
��
�����ǿ�ʼдЩ��ʽ��ʱ���ˡ�Ϊ�˱�춶Աȣ���������һ���dz��̵�Windows��ʽ��һ����̵�����ģʽ��ʽ��ʼ�������������ҵ�ʹ�ÿ������������ܽ����ͱ����ʽ���Ƶ���ȷ����
����ģʽ��Character-Mode��ģ��
��
��ʽд������ϲ����һ�����ǡ�The C Programming Language����Prentice Hall��1978���1988�꣩����Brian W. Kernighan��Dennis M. Ritchie�����еس�ΪK&R������������ĵ�һ����һ����ʾ��hello, world����C���Գ�ʽ��ʼ��
�������ڡ�The C Programming Language����һ���6ҳ�г��ֵij�ʽ��
main () { printf ("hello, world\n") ; }
��ǰC��ʽд������ʹ��printf��Cִ���ڳ�ʽ�⺯ʽʱ���������������ǡ�������90���������Ը���������һ�������ǵij�ʽ�б������Ļ��ᡣ��������K&R�ڶ����������ij�ʽ��
#include <stdio.h> main () { printf ("hello, world\n") ; }
�ó�ʽ��Ȼ����ô�̡�������ͨ�����벢ִ�еúܺã������������ʽд���߸�Ը�������˵��main��ʽ�ķ���ֵ�������������ANSI C�涨�ú�ʽ���뷵��һ��ֵ��
#include <stdio.h> int main () { printf ("hello, world\n") ; return 0 ; }
���ǻ����԰���main�IJ������ѳ�ʽŪ�ø���һЩ�������������������ͺ��ˣ�����һ��include���桢��ʽ�Ľ���㡢һ����ִ���ڳ�ʽ�⺯ʽ�ĺ��к�һ��return��䡣
ͬ��Ч����Windows��ʽ
��
Windows��춡�hello, world����ʽ�ĵȼ۳�ʽ�к�����ģʽ�汾��ȫ��ͬ��Ԫ��������һ��include���桢һ����ʽ����㡢һ����ʽ���к�һ��return��䡣������Ǹó�ʽ��
/*------------------------------------------------------------------ HelloMsg.c -- Displays "Hello, Windows 98!" in a message box (c) Charles Petzold, 1998 --------------------------------------------------------------------*/ #include <windows.h> int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0); return 0 ; }
�������ó�ʽ֮ǰ�������ǿ�һ����Visual C++ Developer Studio�н����³�ʽ�ķ�ʽ��
���ȣ��� File ���ܱ���ѡ New ���� New �Ի������У����� Projects ҳ���ǩ��ѡ�� Win32 Application ���� Location ���У�ѡ��һ����Ŀ¼���� Project Name ���У������ר�������ƣ���ʱ�������� HelloMsg ��������� Location ������ʾ��Ŀ¼����Ŀ¼�� Create New Workspace ��ȡ����Ӧ�ù������� Platforms ����Ӧ����ʾ Win32 ��ѡ�� OK ��
�������һ������Ϊ Win32 Application - Step 1 Of 1 �ĶԻ����飬ָ��Ҫ����һ�� Empty Project �������� Finish ��ť��
�� File ���ܱ����ٴ�ѡ�� New ���� New �Ի������У�ѡ�� Files ҳ���ǩ��ѡ�� C++ Source File �� Add To Project ��ȡ����Ӧ��ѡ�У���Ӧ��ʾ HelloMsg ���� File Name �������� HelloMsg.c ��ѡ�� OK ��
������������������ʾ��HELLOMSG.C��������Ҳ����ѡ�� Insert ���ܱ��� File As Text ѡ��ӱ��鸽����CD-ROM�ϸ���HELLOMSG.C�����ݡ�
�ӽṹ��˵��HELLOMSG.C��K&R�ġ�hello,world����ʽ����ͬ�ġ���ͷ����STDIO.H�ѱ�WINDOWS.H�����棬�����main��WinMain�����棬����C����ִ��ʱ�ڳ�ʽ�⺯ʽprintf��Windows API��ʽMessageBox�����档Ȼ�����ڳ�ʽ���������¶�������������İ���Ĵ�дʶ���֡�
�����Ǵ�ͷ��ʼ��
��ͷ����
��
HELLOMSG.C��һ��ǰ�ô�����ָʾ���ʼ��ʵ������ÿ����C��д��Windows��ʽ�Ŀ�ͷ���ɿ�����
#include <windows.h>
WINDOWS.H����Ҫ�ĺ��뵵����������������Windows��ͷ��������Щ��ͷ������ijЩҲ������������ͷ��������Щ��ͷ����������Ҫ�ĺ���������ǣ�
��Щ��ͷ����������Windows������������̬����ʽ���С����Ͻṹ�ͳ���ʶ���֣�������Windows�ļ��е�һ����Ҫ���֡�ʹ��Visual C++ Developer Studio�� Edit ���ܱ��е� Find in Files ������Щ��ͷ�����dz����㡣����������Developer Studio�д���Щ��ͷ������ֱ���Ķ����ǡ�
��ʽ�����
��
������C��ʽ�еĽ�����Ǻ���mainһ����Windows��ʽ�Ľ������WinMain���������������֣�
int WINAPI WinMain �� HINSTANCE hInstance,HINSTANCE hPrevInstance, PSTR szCmdLine,int iCmdShow��
�ý������ / Platform SDK / User Interface Services / Windowing / Windows / Window Reference / Window Functions����˵��������WINBASE.H���������£�
int WINAPI WinMain�� HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ��;
����ע�⵽����HELLOMSG.C����������С�Ķ���������������WINBASE.H�ж���ΪLPSTR���ҽ�����ΪPSTR��������������̬��������WINNT.H�У���Ϊָ���ִ���ָ�ꡣLP���״�������ָ�꡹������16λԪWindows�µIJ��
�һ���WinMain�����иı����������������ơ�����Windows��ʽ�еı�����ʹ��һ�ֳ�������������ʾ����������ϵͳ����ϵͳ�ڱ�������ǰ�������˱�ʾ����������̬�Ķ����ף��ҽ��ڵ����¸���ϸ���������������ڽ����ס����i��ʾint��sz��ʾ������������ִ�����
WinMain��ʽ����Ϊ����һ��intֵ��WINAPIʶ������WINDEF.H���壬������£�
#define WINAPI __stdcall
�����ָ����һ������Լ�����������������е�����ڶѵ��з��ú�ʽ���еIJ���������Windows��ʽ��������ΪWINAPI��
WinMain�ĵ�һ��������������ִ��ʵ����š�����Windows��ʽ����У����Ž���һ��Ӧ�ó�ʽ����ʶ��ijЩ���������֡�����������£��ô���Ψһ�ر�ʶ�ó�ʽ������Ҫ��������Windows��ʽ��������Ϊ��������Windows�����ڰ汾�У���ͬʱ����ͬһ��ʽ���ʱ�����㴴���˸ó�ʽ�ġ����ִ��ʵ�壨multiple instances������ͬһӦ�ó�ʽ������ִ��ʵ�干�ó�ʽ��Ψ���ļ����壨ͨ�������繦�ܱ��ͶԻ�����ģ�����Դ������ʽͨ�����hPrevInstance�������ܹ�ȷ������������ִ��ʵ���Ƿ��������С�Ȼ���������Թ�һЩ���ӵĹ�������ǰ���ִ��ʵ�彫ijЩ�����Ƶ��Լ�����������
��32λԪWindows�汾�У��ø����ѱ�����������WinMain�ĵڶ�����������NULL������Ϊ0����
WinMain�ĵ��������������ִ�г�ʽ�������С�ijЩWindowsӦ�ó�ʽ�������ڳ�ʽ����ʱ��������������塣WinMain�ĵ��ĸ�����ָ����ʽ�����ʾ�ķ�ʽ�������������Ļ�������󻯵س����������棬��������С����ʾ�ڹ������С����ǽ��ڵ������н���ʹ�øò����ķ�����
MessageBox��ʽ
��
MessageBox��ʽ�����ʾ����Ѷ����Ȼ��MessageBox��ʾ��С�Ӵ�������ʲô���ܣ�ʵ����������Ϊ��һ���Ի����顣
MessageBox�ĵ�һ������ͨ�����Ӵ����ţ����ǽ��ڵ����½����京�塣�ڶ�����������ѶϢ������������ʾ���ִ��������������dz�����ѶϢ����������ϵ��ִ�����HELLMSG.C�У���Щ�����ִ���ÿһ��������װ��һ��TEXT�޼��С�ͨ�������ؽ������ִ�����װ��TEXT�޼��У�������뽫���ij�ʽת��ΪUnicode��Ԫ������ȷ��һ�������⡣�ҽ��ڵڶ�����ϸ���۸����⡣
MessageBox�ĵ��ĸ�������������WINUSER.H�ж����һ��������MB_��ʼ�ij�������ϡ����ɴӵ�һ����ѡ��һ������ָ��ϣ���ڶԻ���������ʾ�İ�ť��
#define MB_OK 0x00000000L #define MB_OKCANCEL 0x00000001L #define MB_ABORTRETRYIGNORE 0x00000002L #define MB_YESNOCANCEL 0x00000003L #define MB_YESNO 0x00000004L #define MB_RETRYCANCEL 0x00000005L
�����HELLOMSG�н����ĸ���������Ϊ0�������ʾ�� OK ����ť������ʹ��C���Ե�OR��|���������Ž�������ʾ��һ������������ڶ���ť�ij�����ϣ�
#define MB_DEFBUTTON1 0x00000000L #define MB_DEFBUTTON2 0x00000100L #define MB_DEFBUTTON3 0x00000200L #define MB_DEFBUTTON4 0x00000300L
������ʹ��һ������ָ��ѶϢ������ͼʾ����ۣ�
#define MB_ICONHAND 0x00000010L #define MB_ICONQUESTION 0x00000020L #define MB_ICONEXCLAMATION 0x00000030L #define MB_ICONASTERISK 0x00000040L
��Щͼʾ�е�ijЩ��������ƣ�
#define MB_ICONWARNING MB_ICONEXCLAMATION #define MB_ICONERROR MB_ICONHAND #define MB_ICONINFORMATION MB_ICONASTERISK #define MB_ICONSTOP MB_ICONHAND
��Ȼֻ����������MB_���������������Լ��ο���ͷ������ / Platform SDK / User Interface Services / Windowing / Dialog Boxes / Dialog Box Reference / Dialog Box Functions��ĵ�����
�ڱ���ʽ�У�MessageBox������ֵ1�������ϸ��˵������IDOK��IDOK��WINUSER.H�ж��壬���1��������ѶϢ��������ʾ��������ť��MessageBox��ʽ���ɷ���IDYES��IDNO��IDCANCEL��IDABORT�� IDRETRY��IDIGNORE��
���С��Windows��ʽ�����K&R�ġ�hello, world����ʽ����ͬ��Ч������Ҳ����Ϊ���ǣ���ΪMessageBox��ʽ��û�С�hello, world����printf���������е�DZ�ڸ�ʽ�����������������ǽ�����һ���п�����д����printf��MessageBox�汾�ķ�����
���롢�����ִ��
��
����׼������HELLOMSGʱ�����ɴӡ� Build �����ܱ���ѡ�� Build Hellomsg.exe �������߰� F7 �������ڡ� Build ����������ѡ�� Build ��ͼʾ������ͼʾ�������ʾ�ڡ� Build �����ܱ��С������ǰû����ʾ�� Build �������У����ɴӡ� Tools �����ܱ���ѡ�� Customize ����ѡ�� Toolbars ��ҳ���ǩ��ѡ�С� Build �����ߡ� Build MiniBar ������
��һ�ַ��������ɴӡ� Build �����ܱ���ѡ�� Execute Hellomsg.exe �������߰��� Ctrl+F5 ���������ڡ� Build �������е����� Execute Program ��ͼʾ����ͼʾ����ȥ��һ����ĸ�̾�ţ����ͻᵯ��һ��ѶϢ����ѯ���Ƿ����ó�ʽ��
��������£��ڱ���׶Σ���������CÔʼ�뵵������һ��.OBJ��Ŀ�꣩������������׶Σ������ʽ���.OBJ������.LIB���⣩�����Խ���.EXE����ִ�У�������ͨ���ڡ� Project ��ҳ���ǩ��ѡ�� Settings ���������� Link ��ҳ���ǩ���Բ鿴��Щ�⵵�����б����ر�أ�����ע�⵽KERNEL32.LIB��USER32.LIB��GDI32.LIB����Щ��������ҪWindows��ϵͳ�ġ����ó�ʽ�⡹�����ǰ����˶�̬�����ʽ��������Լ��Ž�.EXE������������Ѷ��Windowsʹ�ø���Ѷ������ʽ��KERNEL32.DLL��USER32.DLL��GDI32.DLL��̬�����ʽ���к����ĺ��С�
��Visual C++ Developer Studio�У������ò�ͬ���趨����������ʽ���ڶ�����£������ǡ�Debug���͡�Release������ִ�е��������������Щ������������Ŀ¼�¡���Debug�趨�£���Ѷ�����ӵ� .EXE�����У���Щ��Ѷ����춲��Գ�ʽ��׷��Ôʼ�롣
�����ϲ�����������¹��������ϵ�CD-ROM�������з�����ʽ��.MAK��make������������ͨ���� Tools �����ܱ�ѡ�� Options ������ѡ�� Build ��ҳ���ǩ��������Developer Studio����make������������һ����ȡ������Ҫ��ѡ��������Ҫִ����Developer Studio��BIN��Ŀ¼�µ�VCVARS32.BAT�����û���������Ҫ��������ִ��make����������ת��HELLOMSGĿ¼��ִ�У�
NMAKE /f HelloMsg.mak CFG="HelloMsg - Win32 Debug"
����
NMAKE /f HelloMsg.mak CFG="HelloMsg - Win32 Release"
Ȼ������ͨ�����룺
DEBUG\HELLOMSG
����
RELEASE\HELLOMSG
��������ִ��.EXE������
���Ѿ��ڱ��鸽�ϵ�CD-ROM�ж�ר�������е��ڶ�Debug�趨����һ���Ķ����ڡ� Project Settings ���Ի������У�ѡ�� C/C++ ��ҳ���ǩ�ᣬ�ڡ� Preprocessor Definitions �����У����Ѷ�����ʶ����UNICODE���ҽ��������жԴ��и���Ľ��͡�