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

Lập trình API với VB6

27 471 0

Đ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 27
Dung lượng 358,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Windows API(Application Programming Interface) là cốt lõi của Microsoft, tập hợp các giao diện lập trình ứng dụng có sẵn hệ điều hành Microsoft Windows. API 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 chạy trên nền Windows. Hầu hết các hàm API thường được chứa trong file DLL trong thư mục hệ thống Windows (thường là:WindowsSystem).

Trang 1

Visual Basic 6.0

WINDOWS API

Nhóm 4

Trang 3

I Sơ lược về Windows API

Windows API(Application Programming Interface) là cốt lõi của Microsoft, tập hợp các giao diện lập trình ứng dụng có sẵn hệ điều hành Microsoft Windows

API 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 chạy trên nền Windows

Hầu hết các hàm API thường được chứa trong file

DLL trong thư mục hệ thống Windows (thường

là:/Windows/System)

Trang 4

II Cách sử dụng hàm API

Các hàm API có 2 dạng: hàm (Function) có trị trả về

và thủ tục (Sub) không có trị trả về

Khai báo cho hàm có trị trả về như sau:

Declare Function < tên hàm API >

Lib < Tên thư viện >

[Alias < tên bí danh >] ([danh sách tham số])

as < kiểu dữ liệu >

Trang 5

II Cách sử dụng hàm API

Khai báo cho các thủ tục:

Declare Sub < tên hàm API >

Lib < tên thư viện >

[Alias < tên bí danh >] ([danh sách tham số])

Trong đó:

 < tên hàm API > là tên hàm trong các file thư viện DLL, hoặc tên bạn đặt ra (phải chỉ rõ tên chính

trong alias)

Trang 6

II.Cách sử dụng hàm API

 < tên thư viện > tên file thư viện DLL để Visual

Basic tìm các hàm API Tên thư viện này phải có đầy đủ tên cùng phần mở rộng, riêng đối với thư viện USER, KERNEL, và GDI32 thì không cần phải có phần mở rộng Tên được đặt trong cặp dấu

" "

 [Alias <tên thực của hàm>] có thể có hay không

Bạn cần khai báo bí danh khi muốn gọi hàm API với một cái tên khác do chính bạn đặt

Trang 7

II Cách sử dụng hàm API

 Ví dụ: hàm API “AddFontResourceA” sau đây

được đặt lại bí danh là “AddFont” cho ngắn gọn mỗi lần gọi hàm

Declare Function AddFont Lib "gdi32" Alias

"AddFontResourceA" (ByVal lpFileName As String) As Long

Ví dụ: hàm API " lzCopy " sau đây được khai báo

đầy đủ đường dẫn file dll:

Declare Function lzCopy Lib "c:\windows\lzexpand.dll" (ByVal S As Integer, ByVal D As Integer) As Long

Trang 8

II Cách sử dụng hàm API

 Nếu không khai báo đường dẫn đầy đủ, VB sẽ tìm

thư viện DLL lần lượt trong:

• Thư mục chứa file thực thi exe

Trang 9

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

Trang 11

III Một số hàm API – Tạm dừng chương trình

Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

 Chức năng: tạm dừng chương trình

 Tham số: dwMilliseconds kiểu Long, nhận giá trị

là mili giây

 Demo

Trang 12

III Một số hàm API – Thông tin loại ổ đĩa

Declare Function GetDriveType Lib "kernel32" Alias

"GetDriveTypeA" (ByVal nDrive As String) As Long

 Chức năng: Kiểm tra loại ỗ đĩa.

 Tham số: tên ổ đĩa cần kiểm tra Vd: c:\,d:\

Trang 13

II Một số hàm API – Tráo đổi chuột

Declare Function SwapMouseButton Lib "user32.dll" (ByVal bSwap As Long) As Long

 Chức năng: tráo đổi chuột trái và chuột phải

 Tham số: bSwap kiểu Long

• 1: Đổi chuột trái thành phải và chuột phải thành trái

• 0: Mặt định

 Thực hiện

Trang 14

II Một số hàm API – Định vị Form_ontop

Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long,

ByVal hWndInsertAfter As Long,

ByVal x As as Long,

ByVal y As Long,

ByVal cx As Long,

ByVal cy As Long,

ByVal wFlags As Long) As Long

 Chức năng: Định vị ontop cho 1 cửa sổ form

 Các tham số:

Trang 15

III.Một số hàm API – Định vị Form_ontop

 x,y,cx,cy: định vị form Thường là 0

 wFlags: Tham số với các ý nghĩa quy định sẵn.

SWP_NOMOVE = &H2

SWP_NOSIZE = &H1

SWP_SHOWWINDOW = &H40 …

Trang 16

III Một số hàm API – Form nhấp nháy

Private Declare Function FlashWindow Lib

"user32.dll" (ByVal hwnd As Long, ByVal bInvert As Long) As Long

 bInvert kiểu Long giá trị 1 và 0 Tương ứng form

nháy và bình thường

 Thực hiện và mở rộng.

Trang 17

III Một số hàm API – Hiện hộp thoại “RUN”

Private Declare Function SHRunDialog Lib "shell32" Alias "#61" (ByVal hwnd As Long, ByVal

UnknownP1 As Long, ByVal UnknownP2 As Long, ByVal szTitle As String, ByVal szPrompt As String, ByVal uFlags As Long) As Long

 Hiện hộp thoại “Run”

 Các tham số(theo dõi demo)

Trang 18

III.Một số hàm API – Dung lượng đĩa

 Private Declare Function GetDiskFreeSpace Lib "kernel32.dll"

Alias " GetDiskFreeSpaceA " (ByVal lpRootPathName As

String, lpSectorsPerCluster As Long, lpBytesPerSector As

Long, lpNumberOfFreeClusters As Long,

lpTotalNumberOfClusters As Long) As Long

 Chức năng: hiển thị dung lượng đĩa.

 Tham số:

• lpRootPathName: partion cần kiểm tra Vd: c:\,g:\

• lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters là các giá trị nhận được kiểu Long.

 Thực hiện.

Trang 19

III Một số hàm API – Dung lượng đĩa

Private Declare Function GetUserName Lib

"advapi32.dll" Alias "GetUserNameA" (ByVal

lpBuffer As String, nSize As Long) As Long

 Chức năng: lấy tên người dùng đăng nhập hệ

Trang 20

Một số hàm API – Tải file

 Private Declare Function URLDownloadToFile Lib "urlmon"

Alias " URLDownloadToFileA " (ByVal pCaller As Long,

ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

 Chức năng: Tải file từ mạng.

 Tham số:

• pCaller: sử dụng “Microsoft® ActiveX® component” thì giá trị là 0

• szURL: địa chỉ tệp cần tải.

• szFileName: địa chỉ lưu tệp.

• dwReserved: 0

• lpfnCB: Địa chỉ của caller's IBindStatusCallback interface Thường mang giá trị 0.

 Thực hiện.

Trang 21

Một số hàm API - Tải file có hộp thoại

Private Declare Function DoFileDownload Lib

"shdocvw.dll" (ByVal lpszFile As String) As Long

 Chức năng: tải file có hộp thoại như IE

 Tham sô:

• lpszFile : String kieu unicode

 Thực hiện.

Trang 22

III Một số hàm API – Đổi nhãn ổ đĩa

Private Declare Function SetVolumeLabel Lib

"kernel32" Alias "SetVolumeLabelA" (ByVal

lpRootPathName As String, ByVal lpVolumeName

As String) As Long

 Chức năng: đổi nhãn ổ đĩa.

 lpRootPathName: vd: c:\, d:\, g:\

 lpVolumeName: Nhãn mới.

Trang 23

III.Một số hàm API – Phím tắt gọi form

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

 Chức năng: Tạo phím tắt cho ứng dụng

 Tham số:

• wMsg (kiểu thông điệp)

• Hai tham số sau phụ thuộc vào tham số đầu.

 Thực hiện.

Trang 24

III.Một số hàm API – Ẩn hiện taskbar

Private Declare Function FindWindowEx Lib

"user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As

String, ByVal lpWindowName As String) As Long

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long)

As Long

Trang 25

IV Một số hàm API khác

Private Declare Function SetSystemCursor Lib

"user32.dll" (ByVal hcur As _

Long, ByVal id As Long) As Long

 Đặt lại biểu tượng con trỏ chuột

Private Declare Sub GetSystemTime Lib

"kernel32.dll" (lpSystemTime As SYSTEMTIME)

 Lấy giờ hệ thống lpSystemTime.wHour;

lpSystemTime.wMinute; lpSystemTime.wSecond

Private Declare Function DoFileDownload Lib

"shdocvw.dll" (ByVal lpszFile As String) As Long

Trang 26

IV Một số hàm API khác

Declare Function PlaySound Lib "winmm.dll" Alias

"PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

 Phát âm thanh wav

Declare Function midiOutOpen Lib "winmm.dll"

(lphMidiOut As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long

 Phát âm thanh midi

Trang 27

Xin cảm ơn!

www.themegallery.com

Ngày đăng: 23/10/2014, 09:19

TỪ KHÓA LIÊN QUAN

w