Lập Trình Windows API potx

16 400 2
Lập Trình Windows API potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Windows API-Nhóm 11,Lớp K2.101 1 Company LOGO Trư Trư ờ ờ ng ĐH Quang Trung ng ĐH Quang Trung Khoa: KT & CN Khoa: KT & CN L L ớ ớ p: K2.101 p: K2.101 L L ậ ậ p Tr p Tr ì ì nh Windows API nh Windows API Môn: Vi Môn: Vi sual Basic 6.0 sual Basic 6.0 GV: GV: Đ Đ ỗ ỗ Minh Đ Minh Đ ứ ứ c c Nhóm 11: 1. Nguyễn Đình Dự 2. Hoàng Minh Thử Nhóm 11: 1. Nguyễn Đình Dự 2. Hoàng Minh Thử Windows API-Nhóm 11,Lớp K2.101 2 I. Gi I. Gi ớ ớ i Thi i Thi ệ ệ u V u V ề ề Windows API Windows API API là thành phần mạnh nhất trong các tiện ích của Visual Basic (VB),với hàng trăm hàm sẵn có để thực hiện nhiều chức năng khác nhau.Nhưng, thường thì nhiều lập trình viên VB đã không tận dụng những chức năng mạnh mẽ này vì họ đã nghe nói về sự phức tạp của nó, cũng như những lỗi “general protection faults” hay nhiều vấn đề khác. Windows API-Nhóm 11,Lớp K2.101 3 II. Windows API 1. Windows API Là Gì ? II. Windows API II. Windows API 1. Windows API 1. Windows API L L à à G G ì ì ? ? API là viết tắt của Application Programming Interface (giao diện lập trình ứng dụng). Do API là cốt lõi của Windows vì vậy ta thường gọi là Windows API (WinAPI) hay Win32 API. WinAPI là một giao tiếp phần mềm được dùng bởi các ứng dụng khác nhau. Cũng giống như bàn phím là thiết bị giao tiếp giữa người dùng và máy tính, một API là một giao tiếp phần mềm, chẳng hạn như giữa chương trình và hệ điều hành. Bộ API của từng hệ điều hành không giống nhau, làm cho các hệ điều hành thường không tương thích với nhau. Windows API-Nhóm 11,Lớp K2.101 4 2. Windows API L àm Được Những Gì ? 2. Windows API L àm Được Những Gì ? Nói một cách cơ bản, WinAPI quản lý mọi vấn đề làm ra Windows. Như từ việc mở hoặc đóng một cửa sổ đến việc truy xuất đĩa, cấp phát bộ nhớ, hiển thị trên màn hình… Tuy nhiên, nó đồng thời cũng cung cấp hầu hết các tính năng thông dụng cho tất cả các chương trình trên nền Windows. Ví dụ, các hộp thoại thông dụng (Open, Save As,…), các thiết lập hệ điều hành, các sự kiện,…Các ứng dụng trên nền Windows dùng WinAPI hầu như trong mọi tác vụ. Thậm chí nếu bạn không dùng WinAPI một cách rõ ràng khi lập trình thì trong ngôn ngữ lập trình cũng sẽ gọi các WinAPI trong chương trình được tạo ra để quản lý nhiều tác vụ khác nhau. Windows API-Nhóm 11,Lớp K2.101 5 3. 3. Windows API đư Windows API đư ợ ợ c ch c ch ứ ứ a a ở ở đâu đâu ? ? Hầu hết các hàm WinAPI được chứa trong các file *.DLL (Dynamic Link Library – thư viện liên kết động) chứa trong thư mục hệ thống của Windows ( \Windows\System\) hay ( \Windows\System32\). Các file DLL cho phép các chương trình bên ngoài dùng các hàm của chúng. Các hàm API được tổ chức trong các DLL chính sau:  KERNEL32.DLL KERNEL32.DLL: Là DLL chính, đảm nhiệm quản lý bộ nhớ, thưc hiện chức năng đa nhiệm và những hàm ảnh hưởng trực tiếp đến hoạt động của Windows. Windows API-Nhóm 11,Lớp K2.101 6   USER32.DLL USER32.DLL: Thư viện quản lý Windows. Thư viện này chứa các hàm xử lý menu, định giờ, truyền tin, tập tin và nhiều phần không được hiển thị khác của Windows.   GDI32.DLL GDI32.DLL: Giao diện thiết bị đồ hoạ (Graphics Device Interface). Thư viện này cung cấp các hàm vẽ trên màn hình, cũng như kiểm tra phần biểu mẫu nào cần vẽ lại.   SHELL32.DLL SHELL32.DLL: Thư viện quản lý hệ vỏ Windows , chứa các file icon của hệ thống.   WINNM.DLL WINNM.DLL: Cung cấp các hàm multimedia để xử lý âm thanh, nhạc, video thờI gian thực, lấy mẫu, v.v… Nó là DLL 32 bit. (Thư viện 16 bit tên là MMSYSTEM) Windows API-Nhóm 11,Lớp K2.101 7 III. C III. C á á c th c th à à nh ph nh ph ầ ầ n c n c ủ ủ a Windows API a Windows API Khi nói đến Windows API, người ta thường hay nghĩ ngay đến các hàm. Nhưng thực ra ra, các hàm cũng chỉ là một thành phần của Windows API. Sau đây là danh sách các đối tượng tạo nên Windows API:  Các hàm (function): Như đã đề cập, các hàm chính là hạt nhân của Window API. Chúng là những mã lệnh thực sự để hoàn thành các công việc khác nhau. Chúng được chứa trong các DLL và có thể được truy xuất một cách dễ dàng bởi các chương trình trên windows. Windows API-Nhóm 11,Lớp K2.101 8  Cấu trúc (structure): là sự kết hợp của nhiều biến riêng biệt, thường được dùng để nhóm các thông tin có liên quan với nhau thành một nhóm. Nhiều hàm API đòi hỏi một cấu trúc phải được truyền cho chúng để có thể vận chuyển một lượng lớn thông tin mà không cần phải dùng quá nhiều đối số trong hàm. Mặc dù những cấu trúc này được dùng trong các hàm API, chương trình của bạn vẩn có thể tự định nghĩa chúng (đối với Visual Basic hầu như phải tự định nghĩa lại cấu trúc). Windows API-Nhóm 11,Lớp K2.101 9  Các hằng được đặt tên (named constant): các hằng được đặt tên là một cách thức thuận lợi để tham chiếu đến các mã số khó nhớ (ví dụ: mã quét của bàn phím chẳng hạn). Đôi khi các hằng được dùng như là các cờ. Cũng như với cấu trúc, các hằng phải được định nghĩa rõ ràng trong chương trình của bạn (Code Visual Basic). Windows API-Nhóm 11,Lớp K2.101 10  Các hàm gọi lại (callback function): về khái niệm thì các hàm callback ngược với các hàm API. Một hàm callback được định nghĩa hoàn toàn trong chương trình của bạn. Sau đó hàm này sẽ được một hàm API khác gọi khi nó thực thi một tác vụ. Các hàm callback cung cấp một cách thức để chương trình của bạn có thể can thiệp trực tiếp vào tác vụ đó. Nó tương tự như con trỏ (pointer function) trong C/C++. Trong Visual Basic các thủ tục xử lý sự kiện của bạn là một hình dung dễ nhất về callback function. [...]... ByVal hay ByRef tùy theo cách dùng của bạn Windows API- Nhóm 11,Lớp K2.101 13  Ví dụ: Tạo cửa sổ nhấp nháy 1 Private Declare Function FlashWindow Lib "user32" (ByVal hWnd As Long, ByVal bInvert As Long) As Long 2 Private Sub Timer1_Timer() 3 Dim luu As Long 4 luu = FlashWindow(Form1.hWnd, True) 5 End Sub  Ví dụ: Hạ một cửa sổ đang mở xuống thanh Start Windows API- Nhóm 11,Lớp K2.101 14 1 Private Declare... FindWindow(vbNullString, "My Computer") 6 If aHwnd 0 Then 7 CloseWindow cuaso 8 MsgBox “Da ha xuong" 9 Else 10 MsgBox “Cua so nay khong co !" 11 End If 12.End Sub Windows API- Nhóm 11,Lớp K2.101 15 Company LOGO Thanks You ! Tài liệu tham khảo: Internet Windows API- Nhóm 11,Lớp K2.101 16 ...IV Khai Báo Hàm Trong Windows API Trước khi sử dụng một hàm API trong VB thì bạn phải khai báo trước Việc khai báo nhằm mục đích để VB biết cách gọi các hàm này ở đâu, các đối số là gì và kiểu dữ liệ trả về nếu có Cấu trúc khai báo này cũng giống... Declare Sub name Lib “lib_name” [Alias “alias_name”] [([arglist])] Windows API- Nhóm 11,Lớp K2.101 11  Khai báo cho thủ tục Function có giá trị trả về: [ Public | Private ] Declare Function name Lib “lib_name” [Alias “alias_name”] [([arglist])] [As type] Trong đó:  Public | Private : Từ khóa chỉ định phạm vi sử dụng của hàm  name: Tên của hàm API cần gọi  lib_name: Tên thư viện DLL chứa hàm.( có dấu “”... cần gọi  lib_name: Tên thư viện DLL chứa hàm.( có dấu “” )  alias_name: Tên bí danh của hàm trong file DLL ( có dấu “” )  arglist: Danh sách các đối số  As type: kiểu dữ liệu trả về của Function Windows API- Nhóm 11,Lớp K2.101 12 Danh sách các đối số (Arglist): Xác định có bao nhiêu đối số và kiểu tương ứng của mỗi đối số được truyền cho hàm.Cú pháp như sau: [{ ByVal | ByRef }] name As data_type, … . K2.101 3 II. Windows API 1. Windows API Là Gì ? II. Windows API II. Windows API 1. Windows API 1. Windows API L L à à G G ì ì ? ? API là viết tắt của Application Programming Interface (giao diện lập trình. không dùng WinAPI một cách rõ ràng khi lập trình thì trong ngôn ngữ lập trình cũng sẽ gọi các WinAPI trong chương trình được tạo ra để quản lý nhiều tác vụ khác nhau. Windows API- Nhóm 11,Lớp. thích với nhau. Windows API- Nhóm 11,Lớp K2.101 4 2. Windows API L àm Được Những Gì ? 2. Windows API L àm Được Những Gì ? Nói một cách cơ bản, WinAPI quản lý mọi vấn đề làm ra Windows. Như từ

Ngày đăng: 08/07/2014, 05:20

Tài liệu cùng người dùng

Tài liệu liên quan