1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập Trình Windows API potx

16 400 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 8,52 MB

Nội dung

Giới Thiệu Về Windows APIAPI 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

Trang 1

LOGO

Trường ĐH Quang Trung Khoa: KT & CN

Lớp: K2.101

Lập Trình Windows API

Môn: Visual Basic 6.0

GV: Đỗ Minh Đứ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ử

Trang 2

I Giới Thiệu Về 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

Trang 3

II Windows API

1 Windows API Là Gì ?

II Windows API

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

Trang 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

Trang 5

3 Windows API được chứa ở đâ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: Là DLL chính, đảm nhiệm KERNEL32.DLL

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

Trang 6

USER32.DLL: Thư viện quản lý Windows Thư viện USER32.DLL

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: Giao diện thiết bị đồ hoạ (Graphics GDI32.DLL

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: Thư viện quản lý hệ vỏ Windows , SHELL32.DLL

chứa các file icon của hệ thống

WINNM.DLL: Cung cấp các hàm multimedia để xử lý WINNM.DLL

â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)

Trang 7

III Các thành phần củ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

Trang 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)

Trang 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)

Trang 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

Trang 11

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 như thủ

tục khai báo bình thường trong VB nhưng có nhiều thành phần hơn Cụ thể cú pháp như sau:

Khai báo cho thủ tục Sub không có giá trị trả về:

[ Public | Private ] Declare Sub name Lib

“lib_name” [Alias “alias_name”] [([arglist])]

Trang 12

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 “” )

 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.

Trang 13

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, …

Trong đó:

 ByVal | ByRef: từ khóa kiểu truyền.

 name: Tên đối số.

 data_type: kiểu dữ liệu trả về của đối.

- Kiểu ByVal dùng cho String.

- Kiểu ByRef dùng cho cấu trúc(structure) ,mảng(array)

Trang 14

 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

Trang 15

1 Private Declare Function FindWindow Lib "user32" Alias

"FindWindowA" (ByVal lpClassName As String, ByVal

lpWindowName As String) As Long

2 Private Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long

3 Private Sub Command1_Click()

4 Dim cuaso As Long

5 aHwnd = 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

Trang 16

LOGO

Thanks You !

Tài liệu tham khảo:

Internet.

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w