CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API

65 2.7K 5
CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API

Đ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ư viện API, lập trình API 1 CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API Giáo viên bộ môn: Phạm Văn Hưởng Sinh viên thực hiện: 1.Đỗ Khắc Tâm 2.Nguyễn Xuân Minh 3.Lê Văn Sơn 4.Nguyễn Thị Xuân Thư viện API, lập trình API2 CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API Tổng quan về API 1 Các thư viện chính trong API 2 Lập trình sử dụng API 3 Thư viện API, lập trình API3 Tổng quan về API 1. API là gì? 2. Chức năng của Windows API. 3. Windows API nằm ở đâu? 4. Các thành phần của windows API 5. Cách dùng các hàm API 6. Các thư viện API phổ biến Thư viện API, lập trình API4 Tổng quan về API 1. API là gì? API là viết tắt của Application Programming Interface(giao diện lập trình ứng dụng). Nó là một giao tiếp phầm mềm, dùng bởi nhiều ứng dụng khác nhau. 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. Thư viện API, lập trình API5 Tổng quan về API 2. Chức năng của Windows API  Nói một cách cơ bản, Windows API quản lý mọi vấn đề làm ra Windows, bao gồm cả những vấn đề như truy xuất đĩa, cấp phát bộ nhớ, hiển thị trên màn hình…  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 trên nền Windows ví dụ: các hộp thoại thông dụng (Open, Save As, Choose Font, …), các thiết lập hệ điều hành, các sự kiện, … Thư viện API, lập trình API6 Tổng quan về API 3. Windows API nằm ở đâu?  Hầu hết các hàm Windows API được chứa trong các file *.DLL (Dynamic Link Library ) chứa trong thư mục hệ thống của Windows (thường là C:\Windows\System\).  Các file DLL cho phép các chương trình bên ngoài sử dụng các hàm của chúng. Thư viện API, lập trình API7 Tổng quan về API 4. Các thành phần của windows API  Các hàm (function): Các hàm chính là hạt nhân của Window API. Là các đoạn mã lệnh để hoàn thành các công việc khác nhau, chúng được chứa trong các file .dll  Cấu trúc (structure): Là sự kết hợp của nhiều biến riêng biệt, nhóm các thông tin liên quan đến nhau thành một nhóm.  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). 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ác hàm gọi lại (callback function): Được định nghĩa trong chương trình và được API gọi lại khi thực thi một tác vụ. Nó tương tự như con trỏ hàm (pointer function) trong C/C++. Thư viện API, lập trình API8 Tổng quan về API 5. Cách dùng các hàm API Cách khai báo  Khai báo cho hàm có trị trả về Declare Function < tên hàm API > Lib < Tên thư viện > [Alias < tên bí danh >] ([danh sách các đối số]) as < kiểu dữliệu >  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 các đối số])  Ví dụ Hàm API "AddfontResource " 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 AddFontResource Lib "gdi32" Alias "AddFont" (ByVal lpFileName As String) As Long Thư viện API, lập trình API9 Tổng quan về API 6. Các thư viện API phổ biến  Advapi32.dll: Thư viện dịch vụ cao cấp API hỗ trợ rất nhiều các API bao gồm bảo mật và các lời gọi Registry.  Comdlg32.dll: Các thư viện API Dialog phổ biến  Gdi32.dll: Các hàm giao tiếp thiết bị đồ họa  Kernel32.dll: Các hàm của HĐH  Shell32.dll: Các hàm hệ vỏ Windows  User32.dll: Các hàm giao diện người dùng  Ntdll.dll: Thư viện đa phương tiện của Windows Thư viện API, lập trình API10 [...]... 0; Ntdll.dll 1 Giới thiệu về Ntdll.dll  Các hàm native API (kernel level functions) được lưu trữ trong một tập tin gọi là ntdll.dll Các thư viện Win32 API sử dụng tập tin này để làm việc với phần cứng  Ntdll.dll là một DLL có mục đích đặc biệt, nó cung cấp các hàm nội bộ và gửi các dịch vụ hệ thống cơ bản đến các hàm thực thi  Ntdll.dll ánh xạ các yêu cầu API tới dịch vụ Kernel tương ứng thông qua...Bốn thư viện chính của Window API 1 USER32.dll: Chứa các hàm liên quan đến việc quản lý cửa sổ, cho người dùng nhập dữ liệu 2 GDI32.dll: Cung cấp các chức năng đồ hoạ cần thiết 3 Ntdll.dll: Cung cấp các hàm nội bộ 4 KERNEL32.dll: Xử lý quản lý bộ nhớ, xử lý đa nhiệm của các chương trình đang chạy USER32.DLL 1 Định nghĩa - User32.dll là một trong các thư viện liên kết động quan... hạn như Desktop, cửa sổ và menu - Nó cho phép các chương trình thực hiện một giao diện đồ hoạ người dùng(GUI) phù hợp với Windows USER32.DLL 3 Hoạt động - Chương trình gọi các hàm từ Windows USER để thực hiện các hoạt động như: + tạo và quản lý các cửa sổ + cửa sổ nhận tin nhắn (chủ yếu là người sử dụng đầu vào như các sự kiện chuột và bàn phím, cũng như các thông báo từ hệ điều hành) + hiển thị văn... ACCESS_MASK cung cấp các loại có thể truy cập cho các thread ObjectAttributes [in]: Trỏ tới cấu trúc OBJECT_ATTRIBUTES, xác định các thuộc tính có thể được áp dụng cho các đối tượng ObjectName của cấu trúc này phải là NULL ClientId [in]: Trỏ tới cấu trúc CLIENT_ID để xác định các thread cần được mở ra  Kiểu trả về: NTSTATUS Ntdll.dll 2 Các hàm cơ bản 2.3 NtQueryObject  Chức năng:lấy các loại thông tin... sau minh họa quá trình chuyển một lời gọi hàm từ User mode vào Kernel mode: Ntdll.dll 1 Giới thiệu về Ntdll.dll Ntdll.dll 1 Giới thiệu về Ntdll.dll  Thư viện Ntdll.dll có thể được coi là “lá chắn” cuối cùng của tầng User mode tiếp giáp với Kernel mode  Các đoạn mã thực sự thi hành các dịch vụ của hệ điều hành nằm trong file ntoskrnl.exe Ntdll.dll chỉ làm nhiêm vụ phơi bày một số hàm API mà ntoskrnl.exe... Ntdll.dll chủ yếu liên quan đến các tác vụ của hệ thống Ntdll.dll 2 Các hàm cơ bản 2.1 NTClose  Chức năng:đóng các handle cụ thể, hàm NTClose được thay thế bằng hàm CloseHandle trong kernel32.dll  Khai báo: NTSTATUS WINAPI NtClose( _In_ HANDLE Handle );  Các tham số: Handle [in]: Handle bị đóng  Kiểu trả về: NTSTATUS STATUS_SUCCESS: Handle đã được đóng Ntdll.dll 2 Các hàm cơ bản 2.2 NtOpenThread... DestroyWindow Cú pháp: BOOL WINAPI DestroyWindow( _In_ HWND hWnd ); Các tham số: hWnd: handle của cửa sổ cần phá huỷ Kiểu trả về: BOOL Chức năng: Phá huỷ các cửa sổ được chỉ định USER32.DLL 4 Một số hàm tiêu biểu có trong User32.dll 4.6 GetGUIThreadInfo Cú pháp: BOOL WINAPI GetGUIThreadInfo ( _In_ DWORD idThread, _Inout_ LPGUITHREADINFO lpgui ); Các tham số: idThread: định danh cho các cửa sổ hoặc chủ đề... PUBLIC_OBJECT_TYPE_INFORMATION Ntdll.dll 2 Các hàm cơ bản 2.3 NtQueryObject ObjectInformation [out, optional]: Một con trỏ cho một bộ đệm mà các thông tin yêu cầu là để được trả lại ObjectInformationLength [in]: Kích thư c của bộ đệm được trỏ đến bởi tham số ObjectInformation ReturnLength [out, optional]: Một con trỏ tùy chọn đến một vị trí nơi mà các hàm ghi kích thư c thực tế của các thông tin được yêu cầu  Kiểu... phải sử dụng hàm LoadLibrary hoặc GetProcAddress để tự động liên kết đến Ntdll.dll  Khai báo: NTSTATUS NtQueryObject ( _In_opt_ HANDLE Handle, _In_ OBJECT_INFORMATION_CLASS ObjectInformationClass, ObjectInformation, _In_ ULONG ObjectInformationLength, _Out_opt_ PULONG ReturnLength ); _Out_opt_ PVOID Ntdll.dll 2 Các hàm cơ bản 2.3 NtQueryObject  Các tham số: Handle [in, optional]: Handle của các đối... cửa sổ là một cửa sổ con, cửa sổ cha liên quan đến cửa sổ con được kích hoạt Sử dụng hàm BringWindowToTop để phát hiện ra cửa sổ bất kỳ bị che khuất một phần hoặc hoàn toàn bị che khuất bởi các cửa sổ khác USER32.DLL 4 Một số hàm tiêu biểu có trong User32.dll 4.4 CloseWindow Cú pháp: BOOL WINAPI CloseWindow( _In_ HWND hWnd ); Các tham số: hWnd: handle của cửa sổ cần thu nhỏ Kiểu trả về: BOOL Chức năng: . Xuân Thư viện API, lập trình API2 CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API Tổng quan về API 1 Các thư viện chính trong API 2 Lập trình sử dụng API 3 Thư viện API, lập trình API3 Tổng quan về API 1 API 1. API là gì? 2. Chức năng của Windows API. 3. Windows API nằm ở đâu? 4. Các thành phần của windows API 5. Cách dùng các hàm API 6. Các thư viện API phổ biến Thư viện API, lập trình API4 Tổng. String) As Long Thư viện API, lập trình API9 Tổng quan về API 6. Các thư viện API phổ biến  Advapi32.dll: Thư viện dịch vụ cao cấp API hỗ trợ rất nhiều các API bao gồm bảo mật và các lời gọi Registry.  Comdlg32.dll:

Ngày đăng: 11/04/2015, 13:59

Từ khóa liên quan

Mục lục

  • Slide 1

  • CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API

  • CÁC THƯ VIỆN API, LẬP TRÌNH SỬ DỤNG API

  • Tổng quan về API

  • Tổng quan về API

  • Tổng quan về API

  • Tổng quan về API

  • Tổng quan về API

  • Tổng quan về API

  • Tổng quan về API

  • Bốn thư viện chính của Window API

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

  • USER32.DLL

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

Tài liệu liên quan