Download - Manganalisa Source Code Mesin Penjawab Otomatis Y!M Versi 8, 9 & 10 _ __ Coding4ever's Blog _
-
>> Coding4ever's Blog Visual Basic > Manganalisa source code mesin penjawab otomatis Y!M versi 8, 9 & 10
Manganalisa source code mesin penjawab otomatis Y!M versi 8,9 & 10
February 22, 2010AdminLeave a commentGo to comments
Kalo pada artikel sebelumnya kita sudah mengetahui bagaimana cara menganalisa bagian-bagian penting
program Y!M untuk mendapatkan informasi yang kita butuhkan guna membuat program mesin penjawab
otomatis Y!M ini maka pada artikel kali ini kita akan membahas full semua source code penting untuk
membuat aplikasi ini.
Sebenarnya saya sudah lama ingin mengupload source code ini tapi berhubung waktu itu baru support untuk
Y!M 8 saya jadi males nguploadnya, tapi setelah melakukan sedikit penyesuaian untuk mendukung Y!M 9dan 10 akhirnya saya bisa dengan tenang mengupload source code ini .
Seperti pada artikel sebelumnya untuk melanjutkan pembahasan ini kita harus mengetahui urutan windows
parent->anak baik untuk membaca pesan yang masuk atau membalasnya.
Berikut adalah urutannya :
1. Y!M 8
YSearchMenuWndClass -> IMClass -> YHTMLContainer -> Internet Explorer_Server (membaca
pesan yang masuk)
YSearchMenuWndClass -> IMClass -> YIMInputWindow (membalas pesan)
2. Y!M 9
ATL:007C07F0 -> YHTMLContainer -> Internet Explorer_Server (membaca pesan yang masuk)
ATL:007C07F0 -> YIMInputWindow (membalas pesan)
3. Y!M 10
CConvWndBase -> YHTMLContainer -> Internet Explorer_Server (membaca pesan yang masuk)
CConvWndBase -> YIMInputWindow (membalas pesan)
-
Telihat ada sedikit perbedaan nama class/window untuk Y!M 8, 9 dan 10 dan jika Anda lupa bagaimanacara untuk mendapatkan informasi tersebut silahkan mampir kesini dulu.
Karena aplikasi kita kali ini akan mendukung 3 versi Y!M otomatis kita harus mempunyai sebuah fungsi untukmengecek versi Y!M yang terinstall di komputer, salah satu cara termudah untuk mendapatkan informasi
tersebut adalah via registry windows dan setelah melakukan sedikit investigasi saya mendapatkan lokasi
berikut di registry windows :
Fungsinya akan terlihat seperti berikut :
Cara yang kedua dengan memanfaatkan registry berikut :
dan jika kita lihat nilai dari key tersebut lebih kurang seperti berikut :
Loh mana informasi versi Y!Mnya ? Versi Y!Mnya bisa langsung kita dapatkan dari file
YahooMessenger.exe jadi dengan cara kedua ini kita membutuhkan referensi Microsoft Scripting Runtimeuntuk membuat fungsi getYMVersion.
1234567
;Y!M 8 dan 9Key : HKEY_LOCAL_MACHINE\SOFTWARE\Yahoo\pagerName : ProductVersion ;Y!M 10Key : HKEY_CURRENT_USER\Software\yahoo\pagerName : Version
12345678910111213141516171819
Private Function getYMVersion() As String Dim ymVersion As String Dim arrYMVersion() As String 'cek key Y!M 8 dan 9 ymVersion = getFromWindowsRegistry(HKEY_LOCAL_MACHINE, "SOFTWARE\Yahoo\pager" 'Y!M 10 'jika pengecekan key Y!M versi 8 dan 9 masih kosong coba cek key Y!M If Not (Len(ymVersion) > 0) Then ymVersion = getFromWindowsRegistry(HKEY_CURRENT_USER, If Len(ymVersion) > 0 Then arrYMVersion = Split(ymVersion, ".") ' ex : 10.0.0.1102, kita ambil mayor versionnya aja = Else ReDim arrYMVersion(0) End If getYMVersion = arrYMVersion(0)End Function
1 HKEY_CLASSES_ROOT\ymsgr\shell\open\command
1 "C:\Program Files\Yahoo!\Messenger\YahooMessenger.exe" %1
12345
Private Function getYMVersion() As String Dim fso As Scripting.FileSystemObject Dim YMExe As String Dim arrYMVersion() As String
-
Dari 2 fungsi getYMVersion tersebut terserah Anda mau menggunakan yang mana, yang jelas hasilnya sama.
Selanjutnya kita tinggal panggil fungsi tersebut seperti berikut :
Oke sampai disini kita sudah punya fungsi pengecekan versi Y!M langkah berikutnya adalah mendapatkanymID yang sedang chat dengan kita.
Informasi ymID ini nanti digunakan untuk memudahkan kita memparsing pesan yang masuk.
Satu-satunya cara yang saat ini saya ketahui untuk mendapatkan informasi ymID adalah dengan membaca
informasi Title Bar Y!M, tetapi informasi Title Bar ini tidak fix tergantung kondisi berikut :
1. Versi Y!M
2. Lawan chat sudah terdaftar Messenger List/belum
berikut cuplikannya
67891011121314151617181920
YMExe = getFromWindowsRegistry(HKEY_CLASSES_ROOT, "ymsgr\shell\open\command" YMExe = Replace(YMExe, " %1", "") 'hapus karakter spasi+%1 YMExe = Replace(YMExe, Chr(34), "") 'hapus karakter petik " If Len(YMExe) > 0 Then Set fso = New Scripting.FileSystemObject arrYMVersion = Split(fso.GetFileVersion(YMExe), ".") ' ex : Set fso = Nothing Else ReDim arrYMVersion(0) End If getYMVersion = arrYMVersion(0)End Function
1234567891011
Public Sub Main() Dim ymVersion As String ymVersion = getYMVersion If Not (Len(ymVersion) > 0) Then MsgBox "Y!M belum terinstall, aplikasi tidak bisa dilanjutkan" End End If 'TODO : tampilkan form utama disiniEnd Sub
-
Berdasarkan gambar diatas kita bisa dengan mudah membuat fungsi untuk mendapatkan ymID.
Contoh penggunaan fungsi getYMID
123456789101112131415161718192021222324252627282930
Private Function getYMID(ByVal hwndYMMainClass As Long) As String Dim titleBar As String Dim ymID As String Dim arrTitleBar() As String Dim pos As Long titleBar = String$(100, Chr$(0)) GetWindowText hwndYMMainClass, titleBar, 100 titleBar = Left$(titleBar, InStr(titleBar, Chr$(0)) - 1) If InStr(1, titleBar, " (") > 0 Then 'lawan chat terdaftar di Messenger List 'ex YM8 : KoKom Armag3d0n (k4m4r82) - Instant Message ' YM9/10 : KoKom Armag3d0n (k4m4r82) arrTitleBar = Split(titleBar, " (") ymID = arrTitleBar(0) Else Select Case ymVersion Case "8" 'ex : KoKom Armag3d0n - Instant Message arrTitleBar = Split(titleBar, " - ") ymID = arrTitleBar(0) Case "9", "10" 'ex : KoKom Armag3d0n ymID = titleBar End Select End If getYMID = ymIDEnd Function
1234567
Private Sub cmdGetYMID_Click() Dim hwndYMMainClass As Long Dim ymID As String Select Case ymVersion Case "8": hwndYMMainClass = FindWindow("YSearchMenuWndClass" Case "9": hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString)
-
Fungsi berikutnya yang akan kita buat adalah fungsi untuk membaca pesan yang masuk, kondisinya juga sama
seperti Title Bar informasinya tidak fix tergantung :
1. Versi Y!M
2. Lawan chat sudah terdaftar Messenger List/belum
Kalo penasaran lihat gambar berikut :
Contoh beberapa variasi pesan yang masuk setelah dibaca di program
8910111213
Case "10": hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) End Select ymID = getYMID(hwndYMMainClass) MsgBox "YM ID : " & ymIDEnd Sub
-
Terlihat dengan jelas perbedaan antara Y!M 8 dan Y!M 9/10 pada saat pembacaan pesan yang masuk,
dimana untuk Y!M 9 dan 10 menambahkan informasi tanggal dan jam pesan masuk.
Berikut adalah fungsi untuk menghandle semua variasi tersebut.
123456789101112131415
Private Function getYMMessage(ByVal hwndYMMainClass As Long) As String Dim hwndIMClass As Long Dim hwndYHTMLContainer As Long Dim hwndIEServer As Long Dim ymID As String Dim msg As String Dim arrMsg() As String Dim arrValidMsg() As String Dim validMsg As String Dim i As Long Select Case ymVersion Case "8"
-
161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
'urutkan kelas yg harus dilalui untuk membaca pesan yang masuk 'YSearchMenuWndClass -> IMClass -> YHTMLContainer -> Internet Explorer_Server If hwndYMMainClass 0 Then ymID = getYMID(hwndYMMainClass) hwndIMClass = FindWindowEx(hwndYMMainClass, 0&, "IMClass" hwndYHTMLContainer = FindWindowEx(hwndIMClass, 0&, hwndIEServer = FindWindowEx(hwndYHTMLContainer, 0&, msg = getIEText(hwndIEServer) arrMsg = Split(msg, Chr(10)) For i = LBound(arrMsg) To UBound(arrMsg) If Len(arrMsg(i)) > 0 Then If Left(arrMsg(i), Len(ymID) + 2) = ymID & arrValidMsg = Split(arrMsg(i), ": ") validMsg = arrValidMsg(UBound(arrValidMsg)) Exit For End If End If Next i validMsg = Replace(validMsg, Chr(13), "") getYMMessage = validMsg End If Case "9", "10" 'urutkan kelas yg harus dilalui untuk membaca pesan yang masuk 'Y!M 9 : ATL:007C07F0 -> YHTMLContainer -> Internet Explorer_Server 'Y!M 10 : CConvWndBase -> YHTMLContainer -> Internet Explorer_Server If hwndYMMainClass 0 Then ymID = getYMID(hwndYMMainClass) hwndYHTMLContainer = FindWindowEx(hwndYMMainClass, hwndIEServer = FindWindowEx(hwndYHTMLContainer, 0&, msg = getIEText(hwndIEServer) arrMsg = Split(msg, Chr(10)) For i = LBound(arrMsg) To UBound(arrMsg) If Len(arrMsg(i)) > 0 Then If Left(arrMsg(i), Len(ymID) + 2) = ymID & arrValidMsg = Split(arrMsg(i), "): ") validMsg = arrValidMsg(UBound(arrValidMsg)) Exit For End If End If Next i validMsg = Replace(validMsg, Chr(13), "") getYMMessage = validMsg End If Case Else 'silahkan coba sendiri versi ym yg lain
-
Contoh penggunaan fungsi getYMMessage
Fungsi terakhir adalah fungsi untuk mengirim pesan ke lawat chat
Contoh penggunaan fungsi ymChatSend
7374
End SelectEnd Function
12345678910111213
Private Sub cmdGetYMMessage_Click() Dim hwndYMMainClass As Long Dim ymMessage As String Select Case ymVersion Case "8": hwndYMMainClass = FindWindow("YSearchMenuWndClass" Case "9": hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString) Case "10": hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) End Select ymMessage = getYMMessage(hwndYMMainClass) MsgBox "Pesan masuk : " & ymMessageEnd Sub
1234567891011121314151617181920212223242526
Private Sub YMChatSend(ByVal hwndYMMainClass As Long, ByVal msgToSend As String) Dim hwndIMClass As Long Dim hwndYIMInputWindow As Long Select Case ymVersion Case "8" 'urutkan kelas yg harus dilalui untuk membalas pesan yang masuk 'YSearchMenuWndClass -> IMClass -> YIMInputWindow If hwndYMMainClass 0 Then hwndIMClass = FindWindowEx(hwndYMMainClass, 0&, "IMClass" hwndYIMInputWindow = FindWindowEx(hwndIMClass, 0&, End If Case "9", "10" 'urutkan kelas yg harus dilalui untuk membalas pesan yang masuk 'Y!M 9 : ATL:007C07F0 -> YIMInputWindow 'Y!M 10 : CConvWndBase -> YIMInputWindow If hwndYMMainClass 0 Then hwndYIMInputWindow = FindWindowEx(hwndYMMainClass, End Select If hwndYIMInputWindow 0 Then Call SendMessageByString(hwndYIMInputWindow, WM_SETTEXT, 0&, msgToSend) Call SendMessage(hwndYIMInputWindow, WM_KEYDOWN, VK_RETURN, End IfEnd Sub
1234
Private Sub cmdSendMessage_Click() Dim hwndYMMainClass As Long Dim msg As String
-
Akhirnya selesai juga dan potongan kode diatas sudah saya susun menjadi program sederhana dengan
kasus Tes Bahasa Inggris yang bisa didownload disini.
Kalo males download kita lihat aja trailernya
567891011121314
Select Case ymVersion Case "8": hwndYMMainClass = FindWindow("YSearchMenuWndClass" Case "9": hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString) Case "10": hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) End Select msg = "Hallo bro gue udah selesai nih nGebuatin mesin penjawab otomatis Y!Mnya" "Tinggal maem-maemnya ya !!!" Call ymChatSend(hwndYMMainClass, msg)End Sub
-
Selamat mencoba
Be the first to like this.
Like
Categories: Visual BasicTags: ATL:007C07F0, CConvWndBase, Internet Explorer_Server, mesin penjawabotomatis, source code mesin penjawab otomatis, YHTMLContainer, YM! Answering Machine,
YSearchMenuWndClass
You May Like
1.
About these ads
Related
RTFM !!! Pembuatan Aplikasi Client Serve Membuat Wi-Fi Profiles sendiriWith 9 comments In ".NET Remoting" In "Visual C# .NET"
-
Comments (79)Trackbacks (0)Leave a commentTrackback
1. azka
April 7, 2010 at 1:19 pm | #1
Reply | Quote
maaf ni mas ,mw tanya lagi,yg satu ini (Manganalisa source code mesin penjawab otomatis Y!M
versi 8, 9 & 10) sy jg bener2 bingung cara pakenya mas / maksudnya sprt apa ya????????
coz stlh sy buka programnya n DB nya ko banyak ttng soal2 gitu2.???
gmn cara y.
2.
Admin
April 7, 2010 at 2:50 pm | #2
Reply | Quote
Klo mau coba samplenya harus pake 2 komputer yg terhubung dg internet dan masing2x komputer
harus aktif YMnya dan tentunya dg YM ID yg berbeda, seperti contoh diatas saya online
menggunakan YM ID : k4m4r82 sedangkan komputer 1 lagi login dengan YM ID agenym01
Setelah itu sy tinggal mengetikkan keyword : about
Otomatis akan mendapatkan jawaban YM! Answering Machine bla bla seperti gambar diatas,
dan jangan lupa sample programnya harus dijalankan terlebih dulu di komputer sebelah sebelummengetikkan keyword tersebut.
Selamat mencoba
3. azka
April 8, 2010 at 4:40 pm | #3Reply | Quote
mas sy sdh coba dng 2 PC , msh blm bs , tuk ID YM nya dibuka di YM yg ada di PC or kitamasukan lagi ID di YM!Answering Machine ,
logika/alurnya msh blm nyambung niii mas
4. Admin
April 8, 2010 at 10:52 pm | #4Reply | Quote
Gampangnya gini aja (ini mas/mba ya? )1. Mba punya teman chatingkan ?
2. Sebelum chat buka dulu source code program YM! Answering Machine trus di jalankan (F5)
-
3. Login ke Y!M sampai online
4. Minta temannya memulai chat, misal dg mengetikkan hallo. Mbanya ngGa usah ngapa2xin dandudux maniz aja biarkan program YM! Answering Machine yg ngejawab, dan seharusnya
temannya akan mendapat jawaban Keyword hallo tidak terdaftar. Ketik BANTUAN untukinformasi lebih lanjut.
5. Jika sampai langkah 4 sudah oke, berarti sudah bisa mencoba keyword2x lainnya : bantuan, about,mulai, soal de el el.
Jadi program YM! Answering Machine ini berfungsi sama seperti program SMS Gateway yang
membaca pesan masuk dan membalasnya, hanya medianya saja yg berbeda.
Selamat mencoba
5. azka
April 9, 2010 at 7:39 am | #5Reply | Quote
klo yg mas maksud posisi Y!M yahoo kondisi ON dan YM! Answering jg ON sdh sy lakukan tapi ko
tetap aja pesan yg dikirim oleh teman sy itu ga masuk k YM! Answering ,knp y mas?//?
6.
AdminApril 9, 2010 at 8:24 am | #6
Reply | Quote
Wah klo gitu sy nyerah mba , emg pake Y!M brp ? Soalnya udah sy coba di beberapakomputer/laptop sukses maniz
Atau mungkin aja ini bug mba dan sy senang banget klo mba mengirimkan screenshot Y!Mnya sepertiyang diSINI.
7. azkaApril 14, 2010 at 3:02 am | #7
Reply | Quote
mas tolong dibantu doong mas , gmn caranya yaaaa,
8. Admin
April 14, 2010 at 4:18 am | #8Reply | Quote
azka :
mas tolong dibantu doong mas , gmn caranya yaaaa,
-
Mungkin bisa dicoba di komputer lain dulu, soalnya sy belum punya gambaran penyebab programnyagagal membaca pesan YM yang masuk.
9. zhenAugust 11, 2010 at 3:31 am | #9
Reply | Quote
om, ini harus sama2 pakek YM ya om?? . . . kok saya coba, 1 pakek YM, satu pakek pidgin
kasusnya sama kaya mbak/mas azka itu . . . pesan chat-nya langsung masuk ke chat window-nya YM,trus gak ada auto reply yang masuk ke pidgin?? . . . bingung dah . . .
10.
syamsyNovember 14, 2010 at 8:36 am | #10
Reply | Quote
mantap , scriptnya jalan ,
tapi ada beberapa pembaharuan untuk YM 10,
nice share .
AdminNovember 14, 2010 at 9:18 am | #11
Reply | Quote
Wah si om bikin penasaran nih , pembaharuan untuk YM 10 apa ya? Biar sy bs update
artikel ini.
Tq
11.
ChandraJanuary 9, 2011 at 7:22 am | #12
Reply | Quote
Saya sudah coba , dan waktu trace ada masalah di :Case 9
hwndYMMainClass = FindWindow(ATL:007C07F0, vbNullString)
Case didapat 9 benar
tapi findwindows nya tidak ditemukan
Ym yang saya pakai 9dan windows vista
apa ada beda di findwindow ?
-
Admin
January 9, 2011 at 8:49 am | #13Reply | Quote
Coba meluncur ke postingan saya yg disini om, untuk mengecek benar enggak class windowsYMnya ATL:007C07F0.
Mana tau ada sedikt perbedaan, walaupun sama2x versi 9
12. Ahmad
January 30, 2011 at 3:15 pm | #14Reply | Quote
bisa ga mas kasih contoh untuk ngerubah fungsi case nya?
misal case nya membaca xxx.text yg ada di form?
Select Case UCase$(keyword)Case (isi keyword text di form)
msg = Replace(ABOUT, , appVersion)
Case (isi keyword text di form)msg = Replace(BANTUAN, , appVersion)
contoh nya seperti ini
[img]http://i53.tinypic.com/fncxll.jpg[/img]
makasih sebelum nya
AdminJanuary 31, 2011 at 1:39 am | #15
Reply | Quote
Ya tinggal gini aja lagi om
Ahmad
January 31, 2011 at 2:53 am | #16
1234567
Select Case UCase$(keyword) Case Text1.Text msg = Text3.Text Case Text2.Text msg = Text4.TextEnd Select
-
Reply | Quote
makasih om..dah bisa
Admin
January 31, 2011 at 3:01 am | #17Reply | Quote
Sama2x om
13. HERMAWAN
February 11, 2011 at 10:37 am | #18Reply | Quote
mas klo jawabannya gini kenapa yahKeyword halooBookmark tidak terdaftar. Ketik BANTUAN untuk informasi lebih lanjut
saya pake ym versi 10
Admin
February 12, 2011 at 1:09 am | #19Reply | Quote
Sudah ada yg nanya om, coba cek di artikel Menganalisa dan membuat mesin penjawab
otomatis Y!M dibagian comment #47
Selamat mencoba
14. HERMAWAN
February 12, 2011 at 7:14 am | #20Reply | Quote
masih belom bisa mas,maklum pemula,mungkin ada yg salah lagi yah..:d
Admin
February 12, 2011 at 9:55 am | #21Reply | Quote
Emg om udah coba sejauh mana? Coba copas ke sini kode yg udah om modifikasi biar ketauansalahnya dimana?
-
15.
ChandraApril 17, 2011 at 7:33 am | #22Reply | Quote
Bro, kalau saya mau send ym ke misalkan ID_NAMA1 didaftar list kita, bisa gak ? kalau selama inisaya lihat dan baca codingnya, itu cuma bisa direspond aja kalau di send message oleh pihak luar, tapi
kalau misalkan saya mau kirim pesan pada jam 1 berupa Sudah Jam 1 ini pak anton keID_Anton_Di_Yahoo .. untuk itu coding :
Jam 1 gak ? kalau jam 1 kirim pesan ke : ID_Anton_di_Yahoo (nah proses kirim ini gimana caranya ?)
AdminApril 18, 2011 at 1:15 am | #23
Reply | Quote
Iya nih belum sempat dicoba, jadi PR dulu ya om
Ini ada beberapa link yang bisa dicoba om :
1. YCC Trainer Tutorial for Yahoo! Messenger2. Little Yahoo Messenger Version 1.0
16. karwan
May 14, 2011 at 1:12 pm | #24Reply | Quote
Mas kalau untuk YM 11 gimana.. mohon di bantu ya!!
Admin
May 15, 2011 at 7:07 am | #25Reply | Quote
Wedewww si om males coba nih, padahal YM 11 itu sama seperti YM 10, jadi kode berikut :
1234567891011
Select Case ymVersion Case "8" hwndYMMainClass = FindWindow("YSearchMenuWndClass" Case "9" hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString) Case "10" hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) End Select
-
diubah menjadi :
AzharryMay 24, 2011 at 2:38 pm | #26
Reply | Quote
Wuih cantik tuh program thx berat atas pencerahanya. cuma ada satu masalah ini, kita
sdh online YM nya cuma window chat belum dibuka, nah gimana codingnya membukajendela chating dengan id YM lawan chating tertentu. mohon pencerahanya lagi ganmksh.
Admin
May 25, 2011 at 3:35 am | #27Reply | Quote
Ini om hasil riset sementara kodenya belum sempat saya rapikan :
Alur program :1. Mengaktifkan dialog Send an Instant Message
2. Otomatis fokus ke tab Other Contact3. Otomatis mengisikan YM ID (Ex : k4m4r82)
4. Otomatis menekan tombol Enter5. Otomatis mengetikan pesan (Ex : Tes ngirim pesan via Instant Message)
Baru di sy test di YM ver 10.0.0.1270
1234567891011
Select Case ymVersion Case "8" hwndYMMainClass = FindWindow("YSearchMenuWndClass" Case "9" hwndYMMainClass = FindWindow("ATL:007C07F0", vbNullString) Case "10", "11" ' DAFTARKAN VERSI 11 NYA DISINI hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) End Select
1234567891011
Option Explicit Private Declare Function FindWindow Lib "user32"Private Declare Function FindWindowEx Lib "user32" Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function GetSubMenu Lib "user32"Private Declare Function GetMenuItemID Lib "user32" Private Declare Function PostMessage Lib "user32"Private Declare Function DestroyWindow Lib "user32"
-
121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Private Declare Function SendMessageByString Lib Private Declare Function SendMessage Lib "user32" Private Const WM_COMMAND As Long = &H111Private Const WM_SETTEXT As Long = &HCPrivate Const WM_KEYDOWN As Long = &H100Private Const VK_RETURN As Long = &HDPrivate Const TCM_SETCURFOCUS As Long = &H1330& Private Sub ymChatSend(ByVal hwndYMMainClass As Long, ByVal msgToSend As String) Dim hwndYIMInputWindow As Long 'urutkan kelas yg harus dilalui untuk membalas pesan yang masuk 'Y!M 10 : CConvWndBase -> YIMInputWindow Do While hwndYIMInputWindow = 0 hwndYIMInputWindow = FindWindowEx(hwndYMMainClass, DoEvents Loop If hwndYIMInputWindow 0 Then Call SendMessageByString(hwndYIMInputWindow, WM_SETTEXT, Call SendMessage(hwndYIMInputWindow, WM_KEYDOWN, VK_RETURN, End IfEnd Sub Private Sub cmdTestSendInstantMsg_Click() Dim hwndYMMainClass As Long Dim YHandle As Long Dim hMain As Long Dim hSub As Long Dim SelectItemID As Long Dim hwndMsgrBuddyTab As Long Dim hWndInstantMsg As Long Dim hwnd32770 As Long Dim hwndEdit As Long Dim i As Integer Dim ymIDTarget As String Dim ymMsg As String YHandle = FindWindow("YahooBuddyMain", vbNullString) hMain = GetMenu(YHandle) hSub = GetSubMenu(hMain, 2) ' cek dialog Send Instant Message hWndInstantMsg = FindWindow("#32770", "Send an Instant Message" ymIDTarget = "k4m4r82" ymMsg = "Tes ngirim pesan via Instant Message"
-
69707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
If hWndInstantMsg = 0 Then ' klo dialog Send Instant Message belum diaktfkan SelectItemID = GetMenuItemID(hSub, 0&) PostMessage YHandle, WM_COMMAND, SelectItemID, Do While hWndInstantMsg = 0 hWndInstantMsg = FindWindow("#32770" DoEvents Loop Do While hwndMsgrBuddyTab = 0 hwndMsgrBuddyTab = FindWindowEx(hWndInstantMsg, DoEvents Loop ' fokus ke tab other contact For i = 1 To 30 SendMessage hwndMsgrBuddyTab, TCM_SETCURFOCUS, DoEvents Next i ' cek class #32770, karna objek text untuk mengetikkan YM ID merupakan child dari class ini hwnd32770 = FindWindowEx(hWndInstantMsg, hwndEdit = FindWindowEx(hwnd32770, 0&, "Edit" ' tulis target YM ID Call SendMessageByString(hwndEdit, WM_SETTEXT, ' tekan tombol enter PostMessage hwndEdit, WM_KEYDOWN, VK_RETURN, Do While hwndYMMainClass = 0 hwndYMMainClass = FindWindow("CConvWndBase" DoEvents Loop ' kirim pesan Call ymChatSend(hwndYMMainClass, ymMsg) Else hwndMsgrBuddyTab = FindWindowEx(hWndInstantMsg, ' fokus ke tab other contact SendMessage hwndMsgrBuddyTab, TCM_SETCURFOCUS, ' cek class #32770, karna objek text untuk mengetikkan YM ID merupakan child dari class ini hwnd32770 = FindWindowEx(hWndInstantMsg, hwndEdit = FindWindowEx(hwnd32770, 0&, "Edit" ' tulis target YM ID Call SendMessageByString(hwndEdit, WM_SETTEXT, ' tekan tombol enter PostMessage hwndEdit, WM_KEYDOWN, VK_RETURN,
-
Selamat mencoba
Azharry
May 26, 2011 at 4:36 am | #28Reply | Quote
SEMPURNA!.
Cuma tambahan sedikit. karena pak dosen menggunakan yang Y!M 10
versi bahasa inggris jadihWndInstantMsg = FindWindow(#32770, Send an Instant Message)
kalo pake yang bahasa indonesianya tinggal di ganti
hWndInstantMsg = FindWindow(#32770, Kirim Pesan Instan)sesuai dengan titel barnya.
makasih.makasihmakasih.
Admin
May 26, 2011 at 5:33 am | #29Reply | Quote
Oke om tq info tambahannya
17.
AzharryMay 26, 2011 at 6:41 am | #30Reply | Quote
pak dosen. ada artikel ttg koneksi Y!M dengan winsock?
Admin
126127128129130131132133134135136137
Do While hwndYMMainClass = 0 hwndYMMainClass = FindWindow("CConvWndBase" DoEvents Loop ' kirim pesan Call ymChatSend(hwndYMMainClass, ymMsg) End IfEnd Sub
-
May 26, 2011 at 11:39 am | #31Reply | Quote
Coba ke planetsourcecode om
18.
miarthaAugust 22, 2011 at 8:10 am | #32Reply | Quote
Pak dosen minta petunjuk, cara membuka ID ym yang ada dikontak, u. kirim pesan
AdminAugust 22, 2011 at 9:52 am | #33Reply | Quote
Sudah sy jawab di komentar #27 diatas
19.
irfanAugust 22, 2011 at 8:33 am | #34
Reply | Quote
mas admin sy pake wind 7 (laptop) , trus sudah sy coba pakai ym ver,8,9,10,11 gak jalan sama sekali.tp di wind XP (PC kantor yg tak seberapa) bisa,,,,, mohon bantuan ilmunya mas admin untuk di wind
7 (laptop sy tercinta)after that tq mas admin.
Admin
August 22, 2011 at 9:53 am | #35Reply | Quote
Emg yg enggak bisanya nerima taw balas om ?
20. miartha
August 23, 2011 at 3:41 am | #36Reply | Quote
Pak DosenSetelah Kotak dialog Send Instant Message diaktfkantarget id YM sudah ditentukansetelah Chat muncul kenapa pesan tidak otomatis terkirim
1 '................ Code............
-
Mohon Bantuannya
miarthaAugust 23, 2011 at 3:51 am | #37Reply | Quote
dan Juga ID Ym tidak otomatis di cariPadahal Menu Kontak sudah muncul
Terima Kasih
2345678910111213141516171819202122232425262728293031323334353637383940414243
If hWndInstantMsg = 0 Then ' klo dialog Send Instant Message belum diaktfkan SelectItemID = GetMenuItemID(hSub, 0&) PostMessage YHandle, WM_COMMAND, SelectItemID, 0& Do While hWndInstantMsg = 0 hWndInstantMsg = FindWindow("#32770", "Send an Instant Message" DoEvents Loop Do While hwndMsgrBuddyTab = 0 hwndMsgrBuddyTab = FindWindowEx(hWndInstantMsg, 0&, DoEvents Loop ' fokus ke tab other contact For i = 1 To 30 SendMessage hwndMsgrBuddyTab, TCM_SETCURFOCUS, 1&, 0& DoEvents Next i ' cek class #32770, karna objek text untuk mengetikkan YM ID merupakan child dari class ini hwnd32770 = FindWindowEx(hWndInstantMsg, 0&, "#32770" hwndEdit = FindWindowEx(hwnd32770, 0&, "Edit", vbNullString) ' tulis target YM ID Call SendMessageByString(hwndEdit, WM_SETTEXT, 0&, ymIDTarget) ' tekan tombol enter PostMessage hwndEdit, WM_KEYDOWN, VK_RETURN, 0& Do While hwndYMMainClass = 0 hwndYMMainClass = FindWindow("CConvWndBase", vbNullString) DoEvents Loop ' kirim pesan Call ymChatSend(hwndYMMainClass, ymMsg)end if
-
AdminAugust 24, 2011 at 2:16 am | #38Reply | Quote
Klo ini memang belum support
AdminAugust 24, 2011 at 2:19 am | #39Reply | Quote
Memang dibaris keberapa yang enggak jalan ?
Trus Y!Mnya pake versi brp?
21. handoyoSeptember 19, 2011 at 3:49 pm | #40
Reply | Quote
Makasih om buat tutorialnya..Mantapzz..
AdminSeptember 20, 2011 at 1:49 am | #41
Reply | Quote
Sama2x om, tq udah mampir
22. handoyoSeptember 20, 2011 at 4:03 pm | #42
Reply | Quote
om,sy coba jalanin aplikasinya,sy pakai versi 11,sy udh tmbh2in di code nya utk versi 11,pas syrun,tmn kirim pesan tp bkn di keyword yg tersedia,ga berhasil.Apa yg salah ya kira2?thx
23.
handoyoSeptember 20, 2011 at 4:16 pm | #43Reply | Quote
om,sy udh download code nya n sy tes,sy pakai ym versi 11,ga berhasil euy.Apa hrs pakai keyword?Atau apa kira2 yg salah?thx
-
24. handoyo
September 20, 2011 at 4:27 pm | #44Reply | Quote
sori om,sdh bisa,ada yg salah td.hehehe
Admin
September 21, 2011 at 1:54 am | #45Reply | Quote
Oke om sippp
sandhy sanjayaMay 16, 2013 at 7:51 am | #46Reply | Quote
OM Bagi2 Source code untuk ym 11 dong.
25.
handoyoSeptember 21, 2011 at 3:58 pm | #47Reply | Quote
Oya om,kl misalkan offline message ga bs diproses ya?Harus ol baru bs proses autorespondnya?Tq
AdminSeptember 22, 2011 at 3:10 am | #48Reply | Quote
Iya om soalnya class dari dialog pesan offline dan online itu beda, untuk ngetesnya gini aja cobatambahkan 2 fungsi berikut ke modul modYM :
123456789101112
Public Function getYMIDOfflineMessage(ByVal offlineMsg As Dim ymID As String Dim arrMsg() As String If InStr(1, offlineMsg, "SpamReply") > 0 Then arrMsg = Split(offlineMsg, "SpamReply") ymID = arrMsg(0) End If getYMIDOfflineMessage = ymIDEnd Function
-
kemudian set properties Enable timer yg ada di frmMain menjadi false, tambahkan 1 commandbutton n copas kode berikut :
Kode diatas sy test di YM 10, jangan lupa utk ngetes kode diatas harus ada sample window
offline messagenya
26. handoyoSeptember 24, 2011 at 2:40 pm | #49
Reply | Quote
Saya udh tes om,ada error di kode arrMsg(1) = Replace(arrMsg(1), SpamReply, )
1314151617181920212223242526272829303132333435363738394041
Public Function getYMOfflineMessage(ByVal hwndYMMainClass Dim msg As String Dim arrMsg() As String Dim validMsg As String Dim hwnd2 As Long Dim hwnd3 As Long Dim hwnd4 As Long Dim hwnd5 As Long If hwndYMMainClass 0 Then 'CMerlinWndBase -> ATL:0088EC78 -> Shell Embedding -> Shell DocObject View -> Internet Explorer_Server 'hwnd1 hwnd2 hwnd3 hwnd4 hwnd5 hwnd2 = FindWindowEx(hwndYMMainClass, 0&, "ATL:0088EC78" hwnd3 = FindWindowEx(hwnd2, 0&, "Shell Embedding", vbNullString) hwnd4 = FindWindowEx(hwnd3, 0&, "Shell DocObject View" hwnd5 = FindWindowEx(hwnd4, 0&, "Internet Explorer_Server" msg = getIEText(hwnd5) ymID = getYMIDOfflineMessage(msg) arrMsg = Split(msg, ymID) arrMsg(1) = Replace(arrMsg(1), "SpamReply", "") validMsg = Right(arrMsg(1), Len(arrMsg(1)) - 13) getYMOfflineMessage = validMsg End IfEnd Function
12345678910
Private Sub Command1_Click() Dim hwndYMMainClass As Long Dim msg As String Dim ymID As String hwndYMMainClass = FindWindow("CMerlinWndBase", vbNullString) msg = getYMOfflineMessage(hwndYMMainClass, ymID) MsgBox "YM ID : " & ymID & vbCrLf & "Pesan : " & msgEnd Sub
-
Thanks..
AdminSeptember 26, 2011 at 4:14 am | #50Reply | Quote
Oke om selamat berburu bug
27. yonghan79October 1, 2011 at 3:58 pm | #51Reply | Quote
Ok om,tq,btw ijin blajar rubah codenya jd activex dll ya om..Hehehe
AdminOctober 2, 2011 at 4:16 am | #52Reply | Quote
Silahkan om
28. putu arthaOctober 9, 2011 at 5:00 pm | #53Reply | Quote
om gmn caranya hapus recent messages YM, mohon bantuannya
AdminOctober 10, 2011 at 8:32 am | #54Reply | Quote
Maksudnya pesan yg ada di archive ya om ?
29. putu arthaOctober 10, 2011 at 8:53 am | #55Reply | Quote
Betul..
-
AdminOctober 10, 2011 at 11:23 am | #56Reply | Quote
Coba sini om.
30. putu arthaOctober 10, 2011 at 2:58 pm | #57Reply | Quote
Apa bisa di dilakukan dgn VB6 Om..
AdminOctober 11, 2011 at 6:07 am | #58Reply | Quote
Bisa om, kan udah ketauan folder nyimpan arsipnya dimana trus untuk ngapusnya pake ajafungsi Kill.
31. TumadiNovember 3, 2011 at 1:15 pm | #59
Reply | Quote
Aplikasinya SANGAT MENARIK om, saya suka banget dengan aplikasi ini (sekedar untuk belajar)tapi saya belum bisa Connect ke data basenya nich. Mohon pencerahan di bagian modDatabase,fungsi konekToServer, dan setiap ketemu conn.Execute strSql , debug nya = Run-time error 3704
Operation is not allowed when the object is closed.saya masih awam banget nih di VB, saya biasa koding di .asp clasic ya mirip sama vb karena memangbahasanya juga vbscript. Tapi di vb pas ada error bingung nelusurinya. Sudah otak-atik belum nemunih. Trimakasih banyak Om..
AdminNovember 4, 2011 at 5:50 am | #60Reply | Quote
Coba prosedur konekToServer dinonaktifkan on error handlernya
TumadiNovember 15, 2011 at 2:48 am | #61Reply | Quote
-
Sudah Om.. eror programnya ketika conn.open jadi nggak bisa buka data basenya. path-
nya sudah benar, kesalahannya dimana ya? masih otak-atik belum nemu nich. Sudahnyoba-nyoba script connection dari om Google juga blm bisa. Apa ada setting dikomputernya ya?
AdminNovember 15, 2011 at 12:53 pm | #62Reply | Quote
Gini aja om, mendingan buat aplikasi kecil untuk ngetes koneksi kedatabasenya.
TumadiNovember 16, 2011 at 4:35 am | #63Reply | Quote
Terimakasih Om, setelah puyeng selama 2 minggu ini akhirnya terjawabsudah, kemarin saya pakai VB yang portable. Setelah saya install yang vb
beneran,, ternyata semua berjalan dengan baik. Saya sudah test bikinaplikasi yang kecil hanya untuk Connect ke mdb saja pakai VB-Portabletetep gak jalan.Terimakasih, sekali lagi Semoga Om selalu menebar ilmu yang
bermanfaat untuk sesama sebagai sarana ibadah..
AdminNovember 16, 2011 at 8:54 am | #64Reply | Quote
Amin
32. akhiagusNovember 5, 2011 at 3:55 am | #65Reply | Quote
Pak DOsen source code ini gak support utk menerima dan mengirim pesan ke nomor HP melalu noHP mohon penbambahan kode untuk mengirim dan menerima dari no hp. Terimakasih
AdminNovember 5, 2011 at 5:54 am | #66
Reply | Quote
Coba om baca komentar #27 saya diatas, semoga mendapat pencerahan
-
sman1peunaronNovember 5, 2011 at 7:29 am | #67
Reply | Quote
Ok. Terimakasih. pak Dosen sekarang sudah paham, jadi untuk menerima atau mengirimsms pake ym, tinggal mengganti seluruh property handle window yang ada pada scriptprogram tersebut, dari CConvWndBase Menjadi YTabbedIMParent.
terimakasih pak atas share script progragramnya.salamdariAgus Triono, S.PdAceh Timur
AdminNovember 5, 2011 at 7:53 am | #68Reply | Quote
Nah itu dia om, siippp
33. classix16mattFebruary 7, 2012 at 11:39 am | #69Reply | Quote
om saya coba download kok file zipnya eror yah?g ada filenya..
bisa dibantu?
Admin
February 7, 2012 at 12:04 pm | #70Reply | Quote
Sy baru coba link download diatas masih bisa kok om, coba deh didownload lagi
34. klonoa
June 18, 2012 at 1:21 am | #71Reply | Quote
om saya pake YM versi 11.5, sudah cek pake spy++ tapi kok YHTMLContainer gak ada y , sudahcoba bgini CTabbedIMHost(Versi 11.5) -> Internet Explorer_Server ndak bisa , cuman bisa dapet idnya saja
-
35. klonoaJune 18, 2012 at 9:56 am | #72Reply | Quote
sudah bisa ternyata begini
Y!M 11.5 : CTabbedIMHost -> CConvWndBase -> YHTMLContainer -> Internet Explorer_Server
AdminJune 18, 2012 at 3:43 pm | #73
Reply | Quote
Siipp om, lumayan buat tambahan informasi
36. IrfanSeptember 18, 2012 at 4:14 pm | #74
Reply | Quote
Mantap, omini yang ane pengen..Izin download dan mempelajari
37.
faizDecember 21, 2012 at 11:03 am | #75Reply | Quote
masih blom ngerti,, dimana cara masukin username dan password nya, hehe.. lom pernah make VB
38.
Pak DeJanuary 3, 2013 at 12:35 pm | #76Reply | Quote
assalamu alaikum
saya mau coba bikin aplikasi informasi khs dengan ym penjawab otomatis.
saya berharap anda bisa mempermudah ide saya. dengan minta saran dan kritik.untuk mempermudah saya mohon ym anda biar mudah koneksinya.trimsJazakallohu
wasalam
-
39. sandhy sanjaya
May 15, 2013 at 10:19 am | #77Reply | Quote
maspunya saya sudah jalan tapi yang muncul di programnya hanya nama pengirim sajaItu saya ganti dengan Kata2 di koment #66
Karena saya ingin membuat semacam sms gateway dengan vb6
Mohon pencerahannya
40. cahyaOctober 11, 2013 at 3:06 pm | #78
Reply | Quote
pak kalau di windows 7 kan jika ada pesan yg masuk formnya kan berkedip2 itu ndak bisa langsungdibaca pesanyakalau formnya ym diklik dulu baru bisa dibaaca sama program vb6, bagaimana mengatasi seperti itu
pak
AdminOctober 12, 2013 at 10:58 am | #79Reply | Quote
Tambahkan pengecekan form Y!Mnya kemudian langsung diaktifkan, untuk contohnya bisa omcek disini.
1. No trackbacks yet.
Leave a Reply
Menambahkan icon pada menu standar VB Cara mudah dan gampang membuat aplikasi service
dengan VB6RSS feed
Enter your comment here...
-
Info Seputar Islam
SalafiDB - Free Software Islami dengan Beragam Fungsi
Kajian.Net
Koleksi Ceramah Islam MP3
Rasulullah shallallahu alaihi wa sallam bersabda, Barangsiapa menempuh suatu jalan untuk menuntutilmu (syari), maka Allah akan memudahkan jalan baginya menuju surga. (HR. Muslim no: 2699 dari Abi Hurairah)
Rasulullah shallallahu alaihi wa sallam bersabda, Barang siapa yang Allah kehendaki kebaikanpadanya maka akan dipahamkan dalam masalah agama. (HR. Bukhari dan Muslim)
Rasulullah shallallahu alaihi wa sallam bersabda, Barangsiapa yang mengajak kepada petunjuk, makabaginya ada pahala yang sama dengan pahala orang yang mengikutinya dan tidak dikurangisedikitpun juga dari pahala-pahala mereka.
-
(HR Muslim no. 2674).
Al Fudlail bin Iyyadl berkata : "Ikutilah jalan-jalan petunjuk! Dan tidak akan merugikanmumeskipun sedikit orang yang menempuhnya. Sebaliknya jauhilah jalan-jalan kesesatan! Danjangan tertipu dengan banyaknya orang-orang yang celaka di dalamnya." (Al I'tisham 1/112)
"Islam & Iman adalah nikmat terbesar seorang muslim dari Allah ta'ala" Seandainya nikmattersebut dicabut, pastilah kita menjadi orang-orang yang merugi.
Kategori
Database (16)Firebird (11)MySQL (3)
SQL Server 2000 (1)SQLite (3)
Freeware (7)Jaringan (1)Tools Installer (8)
Inno Setup (6)NSIS (2)
Uncategorized (15)Visual Basic (74)
Active Report (4)
Winsock (6)Visual Basic .NET (10)Visual C# .NET (23)
.NET Remoting (9)
Dapper .NET (3)
Blog Stats
659,767 hits
Artikel Favorit
Source Code
Membuat sms gateway itu gampang, jangan dipersulit !!!Mengenal lebih dekat database SQLiteMenembus pertahanan database Firebird yang diproteksiMembuat paket instalasi vb + mysql dengan inno setupMembuat aktivasi dongle bagian 1 - Simple think
Tutorial Active Report bagian 1Menyimpan dan menampilkan foto di ms accessRTFM !!!Belajar Winsock bagian 2 - Membuat aplikasi chat sederhana 1:1
-
Artikel Terbaru
RTFM !!!
Menembus pertahanan database Firebird yang diproteksi bagian 2Dapper .NET Micro-ORM Part 3Dapper .NET Micro-ORM Part 2Dapper .NET Micro-ORM Part 1
ToDo ListDatabase Firebird versi EmbeddedUpdate Smart Library School 07-08-2012The Power of Firebird EventsMenggunakan library .NET di VB 6
Pembuatan Aplikasi Client Server dengan Arsitektur 3-tier Part 5Berlindung di belakang SYSDBA :D
Arsip
September 2013 (1)June 2013 (1)March 2013 (1)February 2013 (2)
January 2013 (2)August 2012 (1)July 2012 (1)June 2012 (1)May 2012 (4)
April 2012 (1)March 2012 (2)February 2012 (3)January 2012 (2)December 2011 (3)
November 2011 (3)October 2011 (1)September 2011 (2)August 2011 (1)
July 2011 (2)June 2011 (4)March 2011 (2)February 2011 (2)January 2011 (4)
December 2010 (7)November 2010 (3)October 2010 (3)September 2010 (3)
August 2010 (4)July 2010 (3)June 2010 (5)May 2010 (4)
-
April 2010 (8)
March 2010 (12)February 2010 (9)January 2010 (23)December 2009 (10)
Recent Comments
husnul adviana on Smart Library School Stableananda91 on Membuat sms gateway itu gampan
ananda91 on Mengenal lebih dekat data
Andris on Mereset menu program
Andris on Beberapa komponen Tab yang waj
Djaelani Philippe on Source code sistem informasi
Topa Dista on RTFM !!!
Aha on Source Code
Hardi on Belajar Winsock bagian 1
taufiq on Menyimpan dan menampilkan foto
taufiq on Menyimpan dan menampilkan foto
Rudi on Menampilkan data dalam format
cah kalem newbee on Belajar Winsock bagian 4 Mem
cah kalem newbee on Belajar Winsock bagian 2
cah kalem newbee on Belajar Winsock bagian 2
Teman
Amikom CeriaAgoesAgung NovianAsep Hibban
AveefChairil AzwarCimahi-One LabsDjuliar Heart's
Dunia zHenYusuf IrzanIndonesia Best GenerationMaster CodenGOpre-X Community
QieSeruling Malam
Top Clicks
code.griyariset.comsqliteexpert.com/SQLiteExpertPcomponentone.com
-
djuliar.blogspot.com
.net remoting Active Report aktivasi dongle AT COMMAND backup c# class Command commandbutton CRUD
CTRL+ALT+DEL dao Database Data Siswa dcl DELETE dml FindWindow firebird firebird odbc fungsifungsi API ibexpert IKG inno setup INSERT instalasi Internet Explorer_Server isql java kajian kelas keyasciiklien ListView mdi form membuat menu menampilkan gambar menu mesin penjawab otomatis Microsoft Scripting Runtime
Minimize ms access Ms Excel Multiple Connection mysql MySQL Connector/Net nsis paket instalasiPictureBox properties restore sdi form server SmartLibraryLib Smart Library School SmartLibraryServersource code Spy++ sqlite stok barang store procedure SYSDBA TextBox trigger UPDATE update program VB .NETvbAccelerator vbAccelerator VB6 Explorer Bar vbAccelerator VB6 Subclassing and Timer Assistant vbsmart menu xp view
windows API WinsockTopBlog at WordPress.com.Blog at WordPress.com. The INove Theme.