
1
Lập trình C trên Windows
Các khái niệm cơ bản
Nguyễn Tri Tuấn
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email: nttuan@ fit.hcmuns.edu.vn
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM2
Nội dung
fiVài điểm khác biệt giữa lập trình Windows vàDOS
fiCác thư viện lập trình của Windows
fiCác loại ứng dụng
fiCác khái niệm cơ bản
fiLập trình sựkiện (Event driven programming)
fiCác thành phần giao diện đồ họa (GUI)
fiTài nguyên của ứng dụng (Resources)
fiMột chương trình tổng quát xây dựng trên Win32
API
fiCác kiểu dữliệu cơ bản

2
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM3
Vài điểm khác biệt giữa lập trình Windows vàDOS
Không cóHỗtrợnhiều công nghệ
DLL, OLE, DDE, COM,
OpenGL, DirectX, …
Ứng dụng 16 bitsHỗtrợ 32 bits hay hơn nữa
Phải dùng các thư viện
Multimedia riêng
Tích hợp sẵn Multimedia
Single CPUMulti-CPU
Single taskMulti-tasking
Thực hiện tuần tựtheo chỉ
định
Lập trình sựkiện, dựa vào
thông điệp (message)
DOSWindows
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM4
Các thư viện lập trình của Windows
fiSDK -Software Development Kit
§Làbộ thư viện lập trình nền tảng của HĐH
Windows
§Cung cấp tất cảcác công cụcần thiết để xây
dựng 1 ứng dụng trên Windows
§Được sửdụng như là thư viện cơ sở để tạo ra
những thư viện cấp cao hơn trong những ngôn
ngữlập trình. VD. OWL của BorlandC, MFC của
Visual C++,…

3
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM5
Các thư viện lập trình của Windows …(tt)
fiMột sốthành phần tiêu biểu của SDK:
§Win32 API
§GDI/GDI+
§Windows MultiMedia
§OpenGL
§DirectX
§COM/COM+
§ADO (ActiveX Data Object)
§OLE DB
§…
Xem thêm MSDN/Platform SDK Documentation/Getting
started/Content of Platform SDK
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM6
Các thư viện lập trình của Windows …(tt)
fiOWL -Object Windows Library
§Làbộ thư viện hướng đối tượng của
BorlandC++
fiMFC -Microsoft Foundation Classes
§Làbộ thư viện hướng đối tượng của Visual C++
fiMột ứng dụng trên Windows cóthể được
viết bằng
§Thư viện SDK
§Một thư viện khác (OWL, MFC,…) phối hợp với
SDK

4
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM7
Các loại ứng dụng
fiWin32 Console: ứng dụng 32 bits, với giao
diện dạng DOS command line
fiWin32 GUI: ứng dụng 32 bits, dùng giao
diện đồ họa
fiWin32 DLL: ứng dụng 32 bits, dạng thư viện
liên kết động (Dynamic-linked library)
fiWin32 LIB: ứng dụng 32 bits, dạng thư viện
liên kết tĩnh (Static-linked library)
fi…
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM8
Các khái niệm cơ bản
fiHandle:
§Một giátrị32 bits không dấu (unsigned) do HĐH tạo ra
để làm định danh cho 1 đối tượng (cửa sổ, file, vùng
nhớ, menu,…)
fiID (Identifier):
§Một giátrịnguyên do ứng dụng tạo ra để làm định danh
cho 1 đối tượng (menu item, control)
fiInstance:
§Một giátrịnguyên do HĐH tạo ra để định danh 1 thể
hiện đang thực thi của ứng dụng
fiCallback:
§Thuộc tính của 1 hàm/thủtục sẽđược gọi bởi HĐH,
không phải bởi ứng dụng

5
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM9
Lập trình sựkiện (Event driven programming)
Phát sinh các sựkiện và thông điệp
Autumn 2005C4W -Basic -Nguyen Tri Tuan -DH.KHTN Tp.HCM10
Lập trình sựkiện (Event driven programming)…(tt)
Qui trình xử lý thông điệp