Passing Parameters Ada beberapa detail yang seharusnya kita perhatikan dalam passing parameter kepada API function ByVal ataupun ByRef tidak masalah, sebab VB API Text Viewer mendeklarasikan parameter function sebagaimana API menginginkannya
Passing Parameters Umumnya, ketika value dipassing ByVal, maka nilanya-lah yang dipassing. Begitu juga ketika ByRef, maka alamatnya- lah yang dipassing Satu-satunya type yang seharusnya kita perhatikan adalah Any
Passing Parameters Mem-passing String ke dalam API API mendapatkan alamat dari karakter pertama dalam string, kemudian membaca karakter berikutnya hingga mencapai null Ingatlah untuk selalu memassing String secara ByRef
Passing Parameters Kita menginginkan untuk mendapatkan return value dari suatu function
Windows API Umum GetWondowsDirectory GetSystemDirectory GetVersionEx GetUserName ExitWindowsEx GetComputerName
GetWondowsDirectory Mengambil nama folder tempat windows diinstal Deklarasi Public Declare Function GetWindowsDirectory _ Lib "kernel32" _ Alias "GetWindowsDirectoryA" _ (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long Parameter lpBuffer : menampung nama folder dimana windows berada nSize : panjang penampung Kembalian Jika sukses : berisi panjang nama folder yang dikembalikan Jika tidak sukses : berisi 0 (angka nol)
perhatian lpBuffer Bertipe String, dimana pada pemrograman C sebuah string selalu diakhiri oleh sebuah karakter 0 (nol) sehingga panjang buffer harus minimal sepanjang nama folder tempat sistem operasi (windows) ditambah 1
GetSystemDirectory Mengambil nama folder tempat dari folder system atau system32 berada
GetVersionEx Mengambil informasi tentang versi windows yang diinstall Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _ (lpVersionInformation As OSVERSIONINFO) As Long Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 ' Maintenance string for PSS usage End Type
GetUserName Mengambil Nama user window yang log in
ExitWindowsEx Melakukan log off, shutdown, atau reboot komputer Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long uFlags : EWX_LOGOFF, EWX_SHUTDOWN, EWX_REBOOT, EWX_FORCE, EWX_POWEROFF, EWX_FORCEIFHUNG dwReserverd diisi 0
Perhatian uFlags : EWX_LOGOFF, EWX_SHUTDOWN, EWX_REBOOT, EWX_FORCE, EWX_POWEROFF, EWX_FORCEIFHUNG Konstanta untuk uFlags harus dituliskan terlebih dahulu Private Const EWX_LOGOFF = 0 Private Const EWX_SHUTDOWN = 1 Private Const EWX_REBOOT = 2 Private Const EWX_FORCE = 4
GetComputerName Mengambil nama komputer, nama yang terlihat pada network Neighborhood
GetComputerName Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" ( ByVal lpBuffer As String, nSize As Long ) As Long
GetComputerName Parameter pertama adalah long pointer ke String Parameter kedua adalah panjang string.
GetComputerName Jika anda mendeklarasikan variabel sebagai string kemudian mem-passingkan ke dalam function, error muncul Solusinya adalah inisialisasikan dulu
GetComputerName Contoh: Dim Panjang As Long Dim StrCompNm As String Buffer Panjang = MAX_PANJANG_COMPUTERNAME + 1 StrCompNm = String(Panjang, "a") mengambil data GetComputerName StrCompNm, Panjang mengambil data asli StrCompNm = Left(StrCompNm, Panjang) tampilkan data Label1.Caption = StrCompNm
End of Sesion