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).
22-09-2010 Visual Basic 6.0 WINDOWS API Nhóm 4 Nội dung chính 1. Sơ lược về WinAPI 2. Cách sử dụng hàm API 3. Một số hàm API và demo 4. Một số hàm API khác 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). 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 > 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). 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. 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 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 • \Windows\System32 • \Windows\System • \Windows • Đường dẫn đã được khai báo trước II. Cách sử dụng hàm API Các API được tổ chức trong bốn DLL chính: KERNEL32: 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. USER32: 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. II. Cách sử dụng hàm API GDI32: 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. WINNM: 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… [...]...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 III Một số hàm API – Thông tin loại ổ đĩa Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA"... form Các tham số: III.Một số hàm API – Định vị Form_ontop Hwnd: handel Chọn 1 cửa sổ để xử lý(thường là chính form đó) hWndInsertAfter : HWND_BOTTOM = 1 HWND_NOTOPMOST = -2 HWND_TOP = 0 HWND_TOPMOST = -1 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 … III Một số hàm API – Form nhấp nháy Private Declare... 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ệ thống Tham số: • lpBuffer: giá trị trả về là tên của người dùng(cần tạo khoảng trống đủ lớn) • nSize: độ dài của tên cần lấy(Vì chưa biết nên chọn số lớn ~ 100) Thực hiện Một số hàm API – Tải... thường Thực hiện và mở rộng 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) III.Một số hàm API – Dung lượng đĩa Private Declare Function... Drive 3: Harddrive 4: Network Drive 5: Cd-rom 6: Ram 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 II Một số hàm API – Định vị Form_ontop Declare Function SetWindowPos Lib "user32.dll"... caller's IBindStatusCallback interface Thường mang giá trị 0 Thực hiện 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 III Một số hàm API – Đổi nhãn ổ đĩa Private Declare Function SetVolumeLabel Lib "kernel32" Alias... lpVolumeName: Nhãn mới 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 III.Một số hàm API – Ẩn hiện taskbar Private Declare... "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 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"... 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 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 . Basic 6.0 WINDOWS API Nhóm 4 Nội dung chính 1. Sơ lược về WinAPI 2. Cách sử dụng hàm API 3. Một số hàm API và demo 4. Một số hàm API khác I. Sơ lược về Windows API Windows API( Application Programming. 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. 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 >