Jumlah Memori Yang Tidak terpakai

January 19th, 2008

Untuk mencari tahu jumlah memori yang tidak terpakai anda bisa menggunakan fungsi API GlobalMemoryStatus. Public Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Public Declare Sub GlobalMemoryStatus _
Lib “kernel32″ (lpBuffer As MEMORYSTATUS)
Now, add this code to get the values: Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS)
GlobalMemoryStatus MS
‘ MS.dwMemoryLoad contains percentage memory used
‘ MS.dwTotalPhys contains total amount of physical memory in bytes
‘ MS.dwAvailPhys contains available physical memory
‘ MS.dwTotalPageFile contains total amount of memory in the page file
‘ MS.dwAvailPageFile contains available amount of memory in the page file
‘ MS.dwTotalVirtual contains total amount of virtual memory
‘ MS.dwAvailVirtual contains available virtual memory

Membuat ActiveX Control Untuk Menyembunyikan Taskbar

January 19th, 2008

Buat “new ActiveX Control project”,tambahkan module dan ketikan kode beriku tini:

Declare Function ShowWindow Lib _
“user32″ (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Declare Function FindWindow Lib _
“user32″ Alias “FindWindowA” _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As Long

Properti untuk userControl1

 

[1] Name=”TaskBar”
[2] BorderStyle=1-Fixed Single
[3] CanGetFocus=False
[4] EditAtDesignTime=False
[5] InvisibleAtRuntime=True
[6] Picture= Choose one
[7] ToolBoxBitmap=Choose one

UserControl Code:

‘Creates the property TaskBar.Show
Public Property Let Show(ByVal VShow As Boolean)
TBwnd& = FindWindow(”Shell_traywnd”, “”)

If VShow = True Then
‘if TaskBar.Show=true it shows the TaskBar
ShowWnd& = ShowWindow(TBwnd&, 1)
Else
‘if not it hides the TaskBar
ShowWnd& = ShowWindow(TBwnd&, 0)
End If
End Property

Simpan project anda dengan nama TaskBar dan “Make TaskBar.ocx”. Sekarang buat project baru dengan 2 command button. Ubah masing-masing captionnya menjadi “show” dan “hide”Klik menu-project-components lalu klik browse dan cari TaskBar.ocx yang baru saja anda buat. Klik ok, maka kontrol tersebut akan terlihat pada ToolBox Bitmap. Tempatkan kontrol tersebut pada form anda dan ketikan kode berikut ini:

Private Sub Command1_Click()
taskbar1.Show = True
End Sub

Private Sub Command2_Click()
taskbar1.Show = False
End Sub

Merubah Nama Komputer

January 19th, 2008

Declarations

Pada Module Declare Function SetComputerName Lib “kernel32″ _
Alias “SetComputerNameA” (ByVal lpComputerName As _
String) As Long

Pada form, buat 1 commandbutton dan pada click event ketikan kode berikut ini:

a$ = “Hello World”
b& = SetComputerName(a$)
Lihat hasilnya pada Control Panel/Network/Identification.

Merubah Speed dari Windows Start Menu

January 19th, 2008

Untuk melakukannya kita membuat string baru pada windows registry dengan nama MenuShowDelay dengan nilai antara 1 s/d 1000, pada lokasi HKEY_CURRENT_USER\Control Panel\Desktop

Pada module ketikan kode berikut ini: Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Declare Function ExitWindowsEx Lib “user32″ (ByVal _
uFlags As Long, ByVal dwReserved As Long) As Long
Declare Function RegCreateKey Lib “advapi32.dll” Alias _
“RegCreateKeyA” (ByVal Hkey As Long, ByVal lpSubKey As _
String, phkResult As Long) As Long

Declare Function RegCloseKey Lib “advapi32.dll” (ByVal _
Hkey As Long) As Long

Declare Function RegQueryValueEx Lib “advapi32.dll” Alias _
“RegQueryValueExA” (ByVal Hkey As Long, ByVal lpValueName _
As String, ByVal lpReserved As Long, lpType As Long, _
lpData As Any, lpcbData As Long) As Long

Declare Function RegSetValueEx Lib “advapi32.dll” Alias _
“RegSetValueExA” (ByVal Hkey As Long, ByVal lpValueName _
As String, ByVal Reserved As Long, ByVal dwType As Long, _
lpData As Any, ByVal cbData As Long) As Long

Public Const REG_SZ = 1
Public Const REG_DWORD = 4 Public Sub savestring(Hkey As Long, strPath As String, _
strValue As String, strdata As String)
Dim keyhand
Dim r
r = RegCreateKey(Hkey, strPath, keyhand)
r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal _
strdata, Len(strdata))
r = RegCloseKey(keyhand)
End Sub

Taruh 2 command buttons dan masukan kode berikut ini: Private Sub Command1_Click()
On Error GoTo error
a% = InputBox(”Enter a number between 1 and 1000″, _
“Start Menu Speed”)
‘a is the integer value of the input in the inputbox ‘checking the input If a% > 0 And a% < 1001 Then
‘input is a valid number between 1 and 1000
‘and a (integer) is to be converted in b (string)
b$ = CStr(a%) ‘creating MenuShowDelay with it´s value
‘(if allready exists it just changes the value)
Call savestring(HKEY_CURRENT_USER, _
“Control Panel\Desktop”, “MenuShowDelay”, b$)
‘resetting computer
MsgBox “Reset your Computer”, , “Changes are made”
t& = ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, 0)
Else
‘value is a number but not valid
MsgBox “Not a valid number between 1 and 1000″
End If
Exit Sub
error:
‘error, input was not a valid number
MsgBox “Invalid Data Input”
End Sub
Private Sub Command2_Click()
Unload Me
End Sub

Mengaktifkan Screen Saver Menggunakan API

January 19th, 2008

Contoh dibawah ini adalah untuk mengaktifkan screen saver dari Visual Basic screen saver dengan mengirim Windows message kepada Control-menu box form. Microsoft Windows mengaktifkan screen savers melalui System-menu box form. System-menu box ini juga dikenal sebagai Control-menu box dalam Visual Basic. Kita dapat mengirim Windows messages kepada Control-menu box dengan menggunakan SendMessage Windows API (application programming interface) function. Declarations #If Win32 Then

Private Declare Function SendMessage Lib “user32″ _
Alias “SendMessageA” (ByVal hWnd As Long, ByVal wMsg _
As Long, ByVal wParam As Long, ByVal lParam As Long) _
As Long

Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&

#Else

Private Declare Function SendMessage Lib “User” _
(ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal _
wParam As Integer, lParam As Any) As Long

Const WM_SYSCOMMAND = &H112
Const SC_SCREENSAVE = &HF140&

#End If Code

Untuk mengaktifkan screen saver, gunakan baris perintah sebagai berikut:

Dim result As Long
result = SendMessage(Form1.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)