Contoh yang dijelaskan dalam artikel ini adalah API untuk VB untuk membaca memori, thread, dan pegangan. Ini merupakan bantuan tertentu untuk pemrograman VB yang melibatkan operasi dasar sistem. API ini dapat memperoleh ID thread, memori tulis, termasuk pegangan proses, alamat area memori ByVal, data, panjang total, panjang selesai, dan proses baca, termasuk pegangan proses, alamat area memori ByVal, dan lokasi penyimpanan data baca. Panjang yang akan dibaca, panjang yang telah dibaca, alokasi memori (pegangan proses, alamat [cukup masukkan angka 0 sepertinya sudah cukup], panjang, izin 1 [MEM_COMMIT], izin 2 [PAGE_READWRITE]) kembali: memori yang dialokasikan mulai Alamat awal dan fungsi lainnya.
Kode implementasi spesifiknya adalah sebagai berikut:
Atribut VB_Name = "API"Option ExplicitPublic Declare Function GetDesktopWindow Lib "User32.DLL"() As LongPublic Deklarasi Fungsi FindWindow Lib "User32.DLL" Alias "FindWindowA" (ByVal ClassName As String, ByVal Caption As String) As LongPublic Declare Fungsi GetWindow Lib "User32.DLL" (ByVal hwnd Selama, ByVal wCmd As Long) As LongPublic Deklarasikan Fungsi GetWindowText Lib "User32.DLL" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As LongPublic Const GW_CHILD = (5)Public Const GW_HWNDNEXT = ( 2) Fungsi Deklarasi Publik GetWindowThreadProcessId Lib "User32.DLL" (ByVal hwnd As Long, ProcessId As Long) As Long' Dapatkan ID thread (pegangan, kembalikan ID thread) Fungsi Deklarasi Publik OpenProcess Lib "Kernel32.DLL" (izin operasi ByVal Selama, warisan ByVal menangani Selama , ID Thread ByVal Selama) Selama Fungsi Deklarasikan Publik Panjang ReadProcessMemory Lib "Kernel32.DLL" (ByVal Proses menangani Selama, Lokasi Memori ByVal Selama, Buffer Seperti Apa Pun, Panjang ByVal Selama, lpNumberOfBytesWritten Selama) Proses Selama 'Baca (pegangan proses, alamat area memori ByVal, baca lokasi penyimpanan data, untuk membaca Panjang yang diambil, panjang yang telah dibaca [0]) Fungsi Deklarasi Publik WriteProcessMemory Lib "Kernel32.DLL" (Proses ByVal menangani Selama, lokasi memori Seperti Apa Pun, Buffer Seperti Apa Pun, Panjang ByVal Selama, lpNumberOfBytesWritten As Long) Sebagai Memori Long'Write (pegangan proses, alamat area memori ByVal, data, panjang total, panjang selesai [0]) Fungsi Deklarasi Publik CloseHandle Lib "Kernel32.DLL" (ByVal proses menangani Selama) Selama 'Rilis (pegangan proses)' akan menyebabkan kesalahan jika tidak dirilis Public Const STANDARD_RIGHTS_REQUIRED = &HF0000Public Const SYNCHRONIZE = &H100000Public Const RRAD_WRITE = &H1F0FFFPublic Const PROCESS_VM_OPERATION = &H8&Public Const Read = &H10&Public Const Write = &H20&'---------Variabel ConversionAPIPublic Declare Sub MOV Lib "Kernel32.D akan" Alias "RtlMoveMemory" (Variabel 1 Seperti Apa Pun, Variabel 2 Seperti Apa Pun, Panjang ByVal Selama)'--------- Rilis alokasi perlindungan memori Fungsi Deklarasi Publik VPE Lib "Kernel32.DLL" Alias " VirtualProtectEx" (Proses ByVal menangani Selama, Alamat Apapun, Panjang ByVal Selama, ByVal flNewProtect Selama, lpflOldProtect Selama) Selama LongPublic Deklarasikan Fungsi VAE Lib "Kernel32.DLL" Alias "VirtualAllocEx" (Proses ByVal menangani Selama, Alamat ByVal Selama, Panjang ByVal Selama, ByVal flAllocationType Selama, ByVal flProtect Selama) Sebagai Alokasi memori yang panjang (pegangan proses, alamat [hanya masukkan 0 ke dalamnya sepertinya sudah cukup], panjang, izin 1 [MEM_COMMIT], izin 2 [PAGE_READWRITE]) mengembalikan: alamat awal memori yang dialokasikan Fungsi Deklarasi Publik VFE Lib "Kernel32 .DLL" Alias "VirtualFreeEx" (Proses ByVal menangani Selama, Alamat ByVal Selama, Panjang ByVal Selama, Jenis rilis ByVal Selama) Selama LongPublic Const MEM_COMMIT = &H1000Public Const PAGE_READWRITE = &H4Public Const STILL_ACTIVE = &H103&Public Const INFINITE = &HFFFF'---------Dapatkan lokasi fungsi modul APIPublic Declare Function GetModuleHandle Lib "Kernel32.DLL" Alias "GetModuleHandleA" (ByVal ModuleName As String) Sebagai LongPublic Deklarasikan Fungsi LoadLibrary Lib "Kernel32.DLL" Alias "LoadLibraryA" (ByVal ModuleName As String) Sebagai LongPublic Deklarasikan Fungsi GetProcAddress Lib "Kernel32.DLL" (ByVal hModule As Long, ByVal ProcName As String) Sebagai LongPublic Deklarasikan Fungsi CreateRemoteThread Lib " Kernel32.DLL" (proses ByVal menangani As Panjang, lpThreadAttributes Seperti Apa Pun, ByVal dwStackSize Selama, ByVal lpStartAddress Selama, lpParameter Seperti Apa Pun, ByVal dwCreationFlags Selama, lpThreadID Selama) Selama Fungsi Deklarasi Publik GetTickCount Lib "kernel32" () Selama