C語言的學習,一般的方式是,先學C,然後是C++,最好還要有匯編語言和微機原理基礎,然後才是Visual C++。這樣的方式,對學習者來說,要花費很多時間和耐力。而在學校教學中,也沒有時間深入學習Windows編程的實用技術了。
其實,具有了C語言基礎後,再有一些基本的C++類的概念,就可以直接學習Windows C編程了。
一、走近Windows C語言
很多語言都把顯示一個“Hello,World!”做為第一個入門程序, C語言的第一個程序是這樣的:
#include<stdio.h>
main()
{
printf(“Hello,World!”);
}
如果把main函數寫成帶參數的main函數,應該是:
#include<stdio.h>
main(int arge,char *argv[])
{
printf(“Hello,World!”);
}
Windows C的第一個程序和這個程序在形式和原理上都是一致的,只是有兩點不同:
1. 主函數接收的形參不只是命令行中的字符串的個數和字符串的首地址。
2. C語言的很多函數在Windows C中都可以繼續使用,但象printf()屏幕顯示等函數就不能繼續使用了。因為Windows是多任務操作系統,屏幕已不再為某一個應用程序所獨有,Windows C應用程序要顯示字符串,需要使用Windows提供的API函數,開自己的窗口
下面是一個最簡單的,顯示“Hello,World!”的Windows C程序:
#include<windows.h>
APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,World!","第一個Windows C程序",MB_OK|MB_ICONASTERISK);
}
主函數的形參有四個:
1) Hinstance:接收程序運行時當前實例的句柄;
2) HprivInstance:前一個實例的句柄;
3) LpCmdLine:程序命令行指針;
4) NcmdShow:一個用來指定窗口顯示方式的整數。
這幾個參數的使用我們會在深入的學習中介紹的。
顯示Hello,Word!字符串,我們使用了一個MessageBox函數,這個函數會在屏幕上顯示一個對話框,它的原型是:
int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UNIT uType)
四個參數分別是:
1) HWnd:父窗口的句柄;
2) LpText:要顯示字符串的指針;
3) LpCaption:對話框標題字符串的指針;
4) UType:顯示在對話框上的小圖標的類型。
使用這個函數要包含windows.h頭文件。
調試一下,怎麼樣?窗口上彈出了一個“第一個Windows C程序”對話框,上面有一行字:“Hello,World!”。
世界真的很美好啊!!