• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Thay đổi status trong yahoo

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

dactung93
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 496
Joined: Tue 04/11/2008 8:43 am
Has thanked: 6 times
Been thanked: 8 times

Thay đổi status trong yahoo

Postby dactung93 » Tue 08/09/2009 5:32 pm

Cho em hỏi với.

Làm cách nào để tự động thay đổi status của yahoo mesage bằng. Em đã đọc cái hàm sendmessage kỹ lắm rồi mà làm maĩ không được.
Em định làm một tool nhỏ để tự động thay đổi status yahoo cho nó đẹp và sắp tới tặng sinh nhật đứa bạn. Nhưng nghiên cứu mãi cũng chả thấy được. Giúp em với nha

Em xin cảm ơn



User avatar
Rowens
Thành viên năng nổ
Thành viên năng nổ
Posts: 88
Joined: Sun 05/07/2009 10:47 pm
Location: Đồng Nai
Has thanked: 5 times
Been thanked: 5 times
Contact:

Re: Thay đổi status trong yahoo

Postby Rowens » Tue 08/09/2009 7:43 pm

Về SendMessage thì mình hok biết gì hết :D
Nhưng tự động thay đổi status thì mình nghĩ dùng SendKeys là làm được:
- Cho cửa sổ YM active.
- SendKeys để chỉnh sửa status (Alt + M + RightArrow + 3 lần DownArrow + Enter + Nội dung status + Enter)
- Trở lại cửa sổ đang làm việc (Alt + Tab)

p/s: nghiên cứu cách acitve cửa sổ của process đang ở traybar. ;)
Rowens - SharkVN Group
wWw.SharkVn.Org

Uzumaki Naruto
Thành viên danh dự
Thành viên danh dự
Posts: 839
Joined: Mon 30/04/2007 9:55 pm
Location: Sài Gòn
Has thanked: 7 times
Been thanked: 83 times

Re: Thay đổi status trong yahoo

Postby Uzumaki Naruto » Tue 08/09/2009 8:28 pm

Đầu tiên bạn phải ghi status vào key chứa Status của Yahoo trong Registry, cái này tuỳ vào phiên bản Yahoo của bạn, mình xài Yahoo 9 thì đường dẫn như thế này:
HKEY_CURRENT_USER\Software\Yahoo\pager\profiles\[tên nick]\Custom Msgs\1_W
Sau đó bạn dùng SendMessage để cập nhật lại cửa sổ Yahoo.

Code: Select all

  1. YWnd = FindWindow("YahooBuddyMain", vbNullString)
  2. If YWnd <> 0 Then SendMessage(YWnd, &H111, 388, 1&)

Nếu bạn dùng Yahoo 8 thì bạn liên hệ với VBNewbie để biết thêm chi tiết
Cause you're my special thing
I'm flying without wings

dactung93
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 496
Joined: Tue 04/11/2008 8:43 am
Has thanked: 6 times
Been thanked: 8 times

Re: Thay đổi status trong yahoo

Postby dactung93 » Wed 09/09/2009 12:00 pm

Hầu như bây giờ đều là Yahoo 9 rồi. À mà nếu muốn dùng status tiếng việt thì làm sao đây,
Dùng unicode ghi vào register ư ??? sao ghi được
Hay ghi bằng UTF-8 hả bạn ???.

Bạn nếu rảnh có thể làm ví dụ minh hoa chọ mình được không ?

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: Thay đổi status trong yahoo

Postby clarkkent » Wed 09/09/2009 12:35 pm

Yahoo 9 thì ghi thẳng tiếng Việt luôn, dùng hàm chuyển sang tiếng Việt rồi ghi thôi
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

Uzumaki Naruto
Thành viên danh dự
Thành viên danh dự
Posts: 839
Joined: Mon 30/04/2007 9:55 pm
Location: Sài Gòn
Has thanked: 7 times
Been thanked: 83 times

Re: Thay đổi status trong yahoo

Postby Uzumaki Naruto » Wed 09/09/2009 3:47 pm

Tại em viết bên VB.NET nên nó sẵn sàng hết mọi thứ, còn bên VB6 phải dùng API ghi vào registry mà VB6 không hỗ trợ Unicode nên em chưa thử.
Cause you're my special thing
I'm flying without wings

User avatar
thuongall
Quản trị
Quản trị
Posts: 456
Joined: Wed 26/01/2005 8:05 am
Location: Quê hương Đồng Khởi
Been thanked: 9 times
Contact:

Re: Thay đổi status trong yahoo

Postby thuongall » Wed 09/09/2009 8:20 pm

Vẫn có thể dùng API ghi chuỗi Unicode vào Registry được, nếu không thì chương trình này sao có thể chạy được với Y!M: viewtopic.php?f=41&t=7881

dactung93
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 496
Joined: Tue 04/11/2008 8:43 am
Has thanked: 6 times
Been thanked: 8 times

Re: Thay đổi status trong yahoo

Postby dactung93 » Thu 10/09/2009 9:53 am

Cái chương trình Danh Ngôn của ThuongAll thì em biết rồi nhưng mà các kỹ thuật về Register đọc mãi chả hiểu, kỹ năng còn lỏng lẻo về các hàm quá. Hay làm hộ em cái demo cái, về em nghiên cứu, chứ từ trước đến nay có sử dụng gì nhiều đến mấy cái kỹ thuật này đâu mà chắc cho được

User avatar
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Posts: 1641
Joined: Wed 16/04/2008 11:25 am
Location: Chợ Lách - Bến Tre
Been thanked: 31 times
Contact:

Re: Thay đổi status trong yahoo

Postby clarkkent » Thu 10/09/2009 10:19 am

Đây là 1 ví dụ ghi unicode vào registry :D

Form (ghi 1 giá trị unicode vào khóa HKEY_CLASSES_ROOT\.aaa)

Code: Select all

  1. Const ANSI$ = "a1 ,a2 ,a3 ,a4 ,a5 ,a6 ,a8 ,a61,a62,a63,a64,a65,a81,a82,a83,a84,a85,A1 ,A2 ,A3 ,A4 ,A5 ,A6 ,A8 ,A61,A62,A63,A64,A65,A81,A82,A83,A84,A85,e1 ,e2 ,e3 ,e4 ,e5 ,e6 ,e61,e62,e63,e64,e65,E1 ,E2 ,E3 ,E4 ,E5 ,E6 ,E61,E62,E63,E64,E65,i1 ,i2 ,i3 ,i4 ,i5 ,I1 ,I2 ,I3 ,I4 ,I5 ,o1 ,o2 ,o3 ,o4 ,o5 ,o6 ,o7 ,o61,o62,o63,o64,o65,o71,o72,o73,o74,o75,O1 ,O2 ,O3 ,O4 ,O5 ,O6 ,O7 ,O61,O62,O63,O64,O65,O71,O72,O73,O74,O75,u1 ,u2 ,u3 ,u4 ,u5 ,u7 ,u71,u72,u73,u74,u75,U1 ,U2 ,U3 ,U4 ,U5 ,U7 ,U71,U72,U73,U74,U75,y1 ,y2 ,y3 ,y4 ,y5 ,Y1 ,Y2 ,Y3 ,Y4 ,Y5 ,d9 ,D9 "
  2. Const UNI$ = "E1,E0,1EA3,E3,1EA1,E2,103,1EA5,1EA7,1EA9,1EAB,1EAD,1EAF,1EB1,1EB3,1EB5,1EB7,C1,C0,1EA2,C3,1EA0,C2,102,1EA4,1EA6,1EA8,1EAA,1EAC,1EAE,1EB0,1EB2,1EB4,1EB6,E9,E8,1EBB,1EBD,1EB9,EA,1EBF,1EC1,1EC3,1EC5,1EC7,C9,C8,1EBA,1EBC,1EB8,CA,1EBE,1EC0,1EC2,1EC4,1EC6,ED,EC,1EC9,129,1ECB,CD,CC,1EC8,128,1ECA,F3,F2,1ECF,F5,1ECD,F4,1A1,1ED1,1ED3,1ED5,1ED7,1ED9,1EDB,1EDD,1EDF,1EE1,1EE3,D3,D2,1ECE,D5,1ECC,D4,1A0,1ED0,1ED2,1ED4,1ED6,1ED8,1EDA,1EDC,1EDE,1EE0,1EE2,FA,F9,1EE7,169,1EE5,1B0,1EE9,1EEB,1EED,1EEF,1EF1,DA,D9,1EE6,168,1EE4,1AF,1EE8,1EEA,1EEC,1EEE,1EF0,FD,1EF3,1EF7,1EF9,1EF5,DD,1EF2,1EF6,1EF8,1EF4,111,110"
  3.  
  4.  
  5. Private Sub Command1_Click()
  6.  
  7. Dim tr As Long
  8. Dim hResult As Long
  9. Dim sRegDes As String
  10. sRegDes = VNI_2_UNI("Ghi tie61ng Vie65t Unicode vào Registry - Nguye64n Trung Ti1n")
  11.  
  12. tr = RegCreateKey(KeyCoSo.HKEY_CLASSES_ROOT, ".aaa", 0)
  13. tr = RegOpenKeyEx(KeyCoSo.HKEY_CLASSES_ROOT, ".aaa", 0, KeyTruyxuat.KEY_ALL_ACCESS, hResult)
  14. tr = RegSetValueExW(hResult, "", 0, KeyGiatri.REG_SZ, StrPtr(sRegDes), LenB(sRegDes))
  15.  
  16. End Sub
  17.  
  18. Public Function VNI_2_UNI(str$) As String
  19.     Dim i%, sTem$, sUni$, arrUNI() As String
  20.     arrUNI = Split(UNI, ",")
  21.     For i = 1 To Len(str)
  22.     If IsNumeric(Mid(str, i + 1, 1)) = False Then
  23.     sUni = sUni & Mid(str, i, 1)
  24.     Else
  25.     sTem = IIf(IsNumeric(Mid(str, i + 2, 1)), Mid(str, i, 3), Mid(str, i, 2) & " ")
  26.     i = i + IIf(IsNumeric(Mid(str, i + 2, 1)), 2, 1)
  27.     If InStr(ANSI, sTem) > 0 Then sTem = ChrW$("&h" & arrUNI(InStr(ANSI, sTem) \ 4))
  28.     sUni = sUni & RTrim(sTem)
  29.     End If
  30.     Next
  31.         VNI_2_UNI = sUni
  32. End Function
  33.  


Module (chôm của ai đó :D)

Code: Select all

  1. Option Explicit
  2.  
  3. Public Type SECURITY_ATTRIBUTES
  4.          nLength As Long 'Chie^`u dài cu?a chuo^?i ba?o ma^.t
  5.          lpSecurityDescriptor As Long ' Chuo^?i ba?o ma^.t
  6.          bInheritHandle As Long ' hanle
  7. End Type
  8.  
  9. Private Declare Function RealizePalette Lib "gdi32" (ByVal hdc As Long) As Long
  10.  
  11. Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
  12. Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  13. Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long
  14. Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
  15. Public Declare Function RegSetValueExW Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Long, ByVal cbData As Long) As Long       ' Note that if you declare the lpData parameter as String, you must pass it By Value.
  16. Public Declare Function RegSetValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long       ' Note that if you declare the lpData parameter as String, you must pass it By Value.
  17. Public Declare Function RegDeleteKeyA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
  18.  
  19. Public Enum KeyCoSo
  20.      HKEY_CLASSES_ROOT = &H80000000
  21.      HKEY_CURRENT_CONFIG = &H80000005
  22.      HKEY_LOCAL_MACHINE = &H80000002
  23.      HKEY_CURRENT_USER = &H80000001
  24.      HKEY_USERS = &H80000003
  25. End Enum
  26. Public Enum KeyTruyxuat
  27.     KEY_ALL_ACCESS = &HF003F 'Mo.i kie^?u truy xua^'t
  28.     KEY_CREATE_LINK = &H20 ' Quye^`n ta.o liên ke^'t ký hie^.u
  29.     KEY_CREATE_SUB_KEY = &H4 'Quye^`n ta.o khóa con
  30.     KEY_ENUMERATE_SUB_KEYS = &H8 '‘Quye^`n lie^.t kê khóa con
  31.     KEY_EXECUTE = &H20019 'Quye^`n ?o.c
  32.     KEY_NOTIFY = &H10
  33.     KEY_QUERY_VALUE = &H1
  34.     KEY_READ = &H20019 'Quye^`n ?o.c
  35.     KEY_SET_VALUE = &H2 'Quye^`n ?a(.t giá tri.
  36.     KEY_WRITE = &H20006 'Quye^`n vie^'t du+~ lie^.u
  37. End Enum
  38. Public Enum KeyGiatri
  39.     REG_BINARY = 3  'Mo^.t chuo^?i nhi. phân
  40.     REG_DWORD = 4   ' Mo^.t so^' nguyên 32 bit
  41.     REG_DWORD_BIG_ENDIAN = 5  'So^' nguyên 32 bit
  42.     REG_DWORD_LITTLE_ENDIAN = 4  'So^' nguyên 32 bit
  43.     REG_EXPAND_SZ = 2   'Mo^.t chuo^?i ke^'t thúc bo+?i Null
  44.     REG_LINK = 6  'Liên ke^'t Unicode
  45.     REG_MULTI_SZ = 7 ' Nhie^`u chuo^?i ke^'t ho+.p bo+?i kt Null
  46.     REG_NONE = 0   ' Không ro? kie^?u
  47.     REG_SZ = 1 ' Mo^.t chuo^?i
  48.     REG_RESOURCE_LIST = 8 ' Danh sách tài nguyên
  49. End Enum
  50.  
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

User avatar
VBNewbie
Thành viên tích cực
Thành viên tích cực
Posts: 113
Joined: Sat 29/03/2008 7:13 pm
Location: Computer
Been thanked: 3 times
Contact:

Re: Thay đổi status trong yahoo

Postby VBNewbie » Thu 10/09/2009 5:27 pm

Em làm dc ct hỗ trợ 8 va 9 nhưng có một điều là nếu tạo hiệu ứng chạy chữ thì chạy dc 30 giây là Yahoo chấm dứt việc thay đổi Status của bạn . T - T

Pác nào có cách chạy chữ dc lâu pày em với ! :D
-------[[[[[[[ VMind - PM trắc nghiệm đa năng ]]]]]]]]------
http://vmind.co.cc/vmind
-------[[[[ Diễn đàn trí tuệ Việt Nam ! ]]]]]]]]-----
http://vmind.co.cc

gatoi_it
Thành viên trung thành
Thành viên trung thành
Posts: 207
Joined: Wed 26/03/2008 6:10 pm
Location: Quê cha đất tổ
Been thanked: 4 times
Contact:

Re: Thay đổi status trong yahoo

Postby gatoi_it » Thu 10/09/2009 5:29 pm

VBNewbie wrote:Em làm dc ct hỗ trợ 8 va 9 nhưng có một điều là nếu tạo hiệu ứng chạy chữ thì chạy dc 30 giây là Yahoo chấm dứt việc thay đổi Status của bạn . T - T

Pác nào có cách chạy chữ dc lâu pày em với ! :D


mạng mày chuối, 1mb/s mà đòi chạy thì chạy cái gì
giải pháp là lúc thay thì cho nó sleep 1 lúc đi (chém 1 tí)
XFARM.CC

User avatar
VBNewbie
Thành viên tích cực
Thành viên tích cực
Posts: 113
Joined: Sat 29/03/2008 7:13 pm
Location: Computer
Been thanked: 3 times
Contact:

Re: Thay đổi status trong yahoo

Postby VBNewbie » Thu 10/09/2009 5:30 pm

Ac, cap wang 3mb/s nha ong !

Muon nghi thi phai nghi 1 phut, hic nghi vay thi khoi lam ! T - T
-------[[[[[[[ VMind - PM trắc nghiệm đa năng ]]]]]]]]------
http://vmind.co.cc/vmind
-------[[[[ Diễn đàn trí tuệ Việt Nam ! ]]]]]]]]-----
http://vmind.co.cc

gatoi_it
Thành viên trung thành
Thành viên trung thành
Posts: 207
Joined: Wed 26/03/2008 6:10 pm
Location: Quê cha đất tổ
Been thanked: 4 times
Contact:

Re: Thay đổi status trong yahoo

Postby gatoi_it » Thu 10/09/2009 5:33 pm

VBNewbie wrote:Ac, cap wang 3mb/s nha ong !

Muon nghi thi phai nghi 1 phut, hic nghi vay thi khoi lam ! T - T


cáp quang cơ à, mày chơi sang hơn anh mà suốt ngày ra quán tải :-?
nghỉ gì 1 phút cơ chú em? khoảng 10 giây
à mà thằng này ko viết có dấu, đề nghị cán bộ xử lí
XFARM.CC

User avatar
VBNewbie
Thành viên tích cực
Thành viên tích cực
Posts: 113
Joined: Sat 29/03/2008 7:13 pm
Location: Computer
Been thanked: 3 times
Contact:

Re: Thay đổi status trong yahoo

Postby VBNewbie » Wed 16/09/2009 9:30 pm

Pác nào có code ghi vào subkeyvalue registry chử unicode hok , share em với, cái của pác Tín chỉ lưu vào Key thui :D
-------[[[[[[[ VMind - PM trắc nghiệm đa năng ]]]]]]]]------
http://vmind.co.cc/vmind
-------[[[[ Diễn đàn trí tuệ Việt Nam ! ]]]]]]]]-----
http://vmind.co.cc

User avatar
thuongall
Quản trị
Quản trị
Posts: 456
Joined: Wed 26/01/2005 8:05 am
Location: Quê hương Đồng Khởi
Been thanked: 9 times
Contact:

Re: Thay đổi status trong yahoo

Postby thuongall » Wed 16/09/2009 10:11 pm

Ghi Unicode vào SubKey hay Key cũng như nhau, vấn đề mấu chốt là thay các hàm A sang W mà thôi, còn lại thì code như bình thường.

User avatar
VBNewbie
Thành viên tích cực
Thành viên tích cực
Posts: 113
Joined: Sat 29/03/2008 7:13 pm
Location: Computer
Been thanked: 3 times
Contact:

Re: Thay đổi status trong yahoo

Postby VBNewbie » Sat 19/09/2009 9:36 pm

:D Cảm ơn pác đã trả lời ! Em làm dc rùi !
Sửa

tr = RegSetValueExW(hResult, "", 0, KeyGiatri.REG_SZ, StrPtr(sRegDes), LenB(sRegDes))

thành

tr = RegSetValueExW(hResult, StrPtr(Subkeyname), 0, KeyGiatri.REG_SZ, StrPtr(sRegDes), LenB(sRegDes))

và sửa

Public Declare Function RegSetValueExW Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Long, ByVal cbData As Long) As Long

thành

Public Declare Function RegSetValueExW Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As Long, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Long, ByVal cbData As Long) As Long


:D :D :D Thế là dc rùi ! :D
-------[[[[[[[ VMind - PM trắc nghiệm đa năng ]]]]]]]]------
http://vmind.co.cc/vmind
-------[[[[ Diễn đàn trí tuệ Việt Nam ! ]]]]]]]]-----
http://vmind.co.cc


Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Who is online

Users browsing this forum: No registered users and 2 guests