Biasanya untuk melakukan pengiriman pesan pada lokal jaringan sering menggunakan
tool net send yang disediakan oleh window.
NET SEND {name | * | /DOMAIN[:name] | /USERS} message
tapi disini penulis akan membahasnya menggunakan visual basic sebagai media
pengirimnya. huh nyantai aja bro, kita akan coba ngirim pesan tapi tanpa
mp3 reang
mengirimkan
identitas pengirimnya (emang bisa?). Dulu sih nggak bisa, tapi sekarang bisa dengan
menggunakan beberapa fungsi APi yang tersedia kita dapat melakukanya.
Ok gua rasa udah cukup, untuk kata-kata pembukanya. Bagi para newbies yg belum
paham tentang fungsi-fungsi APi sebaiknya belajar dari sekarang.
Fungsi yang kita gunakan ialah:
- GetVersionExA
Fungsi ini terdapat pada file kernel32.dll yang digunakan untuk mendapatkan versi window yang digunakan
- GetComputerNameA
Fungsi ini terdapat pada file kernel32.dll yang digunakan untuk mendapatkan nama komputer
- NetMessageBufferSend
Fungsi ini terdapat pada file netapi32.dll yang digunakan untuk mengirimkan pesan Yang perlu disiapkan ialah menambahkan module pada project kita dan menuliskan beberapa baris perintah berikut ini: Sebagai catatan saja bahwa fungsi ini hanyaberjalan pada sistem operasi win2000/XP atau yang lebih tinggi.
'//- Fungis Api,Tipe & Konstanta untuk Mengambil versi window
ConstVER_PLATFORM_WIN32_NT As Long= 2
TypeOSVERSIONINFO
OSVSize As Long
dwVerMajor As Long
dwVerMinor As Long
dwBuildNumber As Long
PlatformID As Long
szCSDVersion As String* 128
End Type
Declare FunctionGetVersionEx Lib"kernel32" Alias"GetVersionExA" _
(lpVersionInformation AsOSVERSIONINFO) As Long
'//- Fungis Api,Tipe & Konstanta untuk Mengambil nama komputer _
yang digunakan
Public ConstMAX_COMPUTERNAME_LENGTH As Long= 31
Declare FunctionGetComputerName Lib"kernel32" Alias"GetComputerNameA" _
(ByVallpBuffer As String, nSize As Long) As Long
'//- Fungsi Api,Tipe & Konstanta untuk Mengrimkan Pesan
ConstERROR_ACCESS_DENIED As Long= 5
ConstERROR_BAD_NETPATH As Long= 53
ConstERROR_INVALID_PARAMETER As Long= 87
ConstERROR_NOT_SUPPORTED As Long= 50
ConstERROR_INVALID_NAME As Long= 123
ConstNERR_BASE As Long= 2100
ConstNERR_SUCCESS As Long= 0
ConstNERR_NetworkError As Long= (NERR_BASE + 36)
ConstNERR_NameNotFound As Long= (NERR_BASE + 173)
ConstNERR_UseNotFound As Long= (NERR_BASE + 150)
TypeNetMessageData
sServerName As String
sSendTo As String
sSendFrom As String
sMessage As String
End Type
Declare FunctionNetMessageBufferSend Lib"netapi32" (ByValservername _
As String, ByValmsgname As String, ByValfromname As String, _
ByValmsgbuf As String, ByRef msgbuflen As Long) As Long
'Fungsi ini digunakan untuk memeriksa versi windows
'Nilai yang dekambalikan ialah True/False
FunctionIsWinNT() AsBoolean
#IfWin32 Then
mp3 reang
Dim OSV AsOSVERSIONINFO
OSV.OSVSize = Len(OSV)
IfGetVersionEx(OSV) = 1 Then
IsWinNT = (OSV.PlatformID = VER_PLATFORM_WIN32_NT)
End If
#End If
End Function
'Fungsi ini digunakan untuk mendapatkan nama lokal komputer
'Nilai yang dekambalikan ialah Nama Komputer
FunctionGetComName() As String
Dim dwLen As Long
Dim strString As String
dwLen = MAX_COMPUTERNAME_LENGTH + 1
strString =String(dwLen, Chr(0))
GetComputerName strString, dwLen
GetComName = Left(strString, InStr(1, strString, Chr(0)) - 1)
End Function
'Fungsi ini digunakan untuk mendapatkan Status pengiriman pesan
'Nilai yang dekambalikan ialah Nama Komputer
FunctionGetNetSendMessageStatus(nError As Long) As String
Dim msg As String
Select CasenError
CaseNERR_SUCCESS: msg = "Pesan berhasil dikirim"
CaseNERR_NameNotFound: msg = "Nama Tujuan Tidak Ditemukan"
CaseNERR_NetworkError: msg = "Jaringan error !!"
CaseNERR_UseNotFound: msg = "Koneksi Tidak Ditemukan!!"
CaseERROR_ACCESS_DENIED: msg = "Akses Ke Komputer Di Tolak!!"
CaseERROR_BAD_NETPATH: msg = "Nama Pengirm Tidak Ditemukan"
CaseERROR_INVALID_PARAMETER: msg = "Spesifikasi Parameter Salah"
CaseERROR_NOT_SUPPORTED: msg = "Permintaan tidak mendukung."
CaseERROR_INVALID_NAME: msg = "Format NamaKarakter salah"
Case Else: msg = "Kesalahan tidak diketahui."
End Select
GetNetSendMessageStatus = msg
End Function
'Fungsi ini digunakan untuk mengirimkan pesan
'Nilai yang dekambalikan ialah olehfungsi ialah status pengiriman
FunctionNetSendMessage(msgData AsNetMessageData) As String
Dim success As Long
IfIsWinNT() Then'Periksa versi windows yang digunakan
WithmsgData
If.sSendTo = "" Then
NetSendMessage = GetNetSendMessageStatus(_
ERROR_INVALID_PARAMETER)
Exit Function
Else
mp3 reang
IfLen(.sMessage) Then
.sSendTo = StrConv(.sSendTo, vbUnicode)
.sMessage = StrConv(.sMessage, vbUnicode)
IfLen(.sServerName) > 0 Then
.sServerName = StrConv(.sServerName, vbUnicode)
Else: .sServerName = vbNullString
End If
IfLen(.sSendFrom) > 0 Then
.sSendFrom = StrConv(.sSendFrom, vbUnicode)
Else: .sSendFrom = vbNullString
End If
Screen.MousePointer = vbHourglass
success = NetMessageBufferSend(.sServerName, .sSendTo, _
.sSendFrom, .sMessage, ByValLen(.sMessage))
Screen.MousePointer = vbNormal
NetSendMessage = GetNetSendMessageStatus(success)
End If
End If
End With
End If
End Function
Selesai untuk fungsi pada module, Untuk Penggunaan dapat dilakukan dengan
mengambil fungsi NetSendMessage
Contoh:
Option Explicit
Private SubCommand1_Click()
Dim msg AsNetMessageData
msg.sSendFrom = "Invisible id"
msg.sSendTo = "vbBego"
msg.sMessage = "Testing Pengiriman Dengan Nama Komputer Palsu"
msg.sServerName = GetComName & Chr(0)
Label1.Caption = NetSendMessage(msg)
End Sub
Ok bro hanya itu, semoga bermanfaat...
No comments:
Post a Comment