نمایش نتایج 1 تا 21 از 21

نام تاپیک: ارسال پی ام یاهو

  1. #1

    ارسال پی ام یاهو

    سلام ببخشید من یک مشکلی دارم اونم این هست که نمیدونم چجوری به یاهو پی ام ارسال کنم مثلا یک کد هست =

     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Sub Command1_Click()
    ShellExecute Me.hwnd, "open", "ymsgr:sendIM?" + Text1.Text + "&m=" + Text2.Text, 0&, App.Path, 0&
    SendKeys "{enter}"
    End Sub
    اما وقتی اجرا میکنم پروژه رو پنجره پی ام یاهو باز میشه و متنی که میخوام نوشته میشه اما کلید send کلیک نمیشه یعنی با sendkeys "{enter}" نمیشه این دکمه رو فشار داد چیکار میشه کرد؟

  2. #2
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    باید فوکوس روی کلید باشه تا کد ارسال شه

  3. #3
    ببین این جواب میده
     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Sub Command1_Click()
    ShellExecute Me.hwnd, "open", "ymsgr:sendIM?" + Text1.Text + "&m=" + Text2.Text, 0&, App.Path, 0&
    Doevents
    SendKeys "{enter}"
    End Sub

  4. #4
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    فکر میکنم با استفاده از هندل پنجره و هندل کلید راحت تر بتونی کار کنی

  5. #5
    این کد بعد ازاجرا پیغام رو سند میکنه به شرطی که فوکوس رو از روش بر نداری
     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Sub Command1_Click()
    ShellExecute Me.hwnd, "open", "ymsgr:sendIM?" + Text1.Text + "&m=" + Text2.Text, 0&, App.Path, 0&
    Doevents
    SendKeys "{enter}"
    End Sub

    اما میتونی با تابع Findwindow هندل همین پنجره رو بگیری بعد با تابع SetForegroundWindow اونو بیاری جلو بعد کلید اینتر رو سند کنی

  6. #6
    بله جواب داد ممنون فقط یک سوال داشتم که هندل یک دکمه خاصی رو چجوری میشه گیر آورد یا مثلا هندل یه تکست باکس و اینجور چیزا ؟ اگه یک کمکی هم در اینباره بکنید ممنونتون می شم

  7. #7
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    من یه مقاله دارم واست میفرستم

  8. #8
    نقل قول نوشته شده توسط amirsadeghi مشاهده تاپیک
    من یه مقاله دارم واست میفرستم
    اگه میشه برای منم بفرست

  9. #9
    نقل قول نوشته شده توسط alireza-th مشاهده تاپیک
    بله جواب داد ممنون فقط یک سوال داشتم که هندل یک دکمه خاصی رو چجوری میشه گیر آورد یا مثلا هندل یه تکست باکس و اینجور چیزا ؟ اگه یک کمکی هم در اینباره بکنید ممنونتون می شم
    خوب کلاس تکس باکسها "Edit" !
    حالا مثلا چه تکس باکسی رو هندلشو میخوای بگیری شاید بتونم کدشو برات بنویسم

  10. #10
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    چشم پیداش کردم همین جا میزارم

  11. #11
    یه سر به فوروم andreaVB بزن و عبارت yahoo booter رو سرچ کن. سالها پیش برنامه اش رو که مینوشتم به همین مشکلها برخورده بودم. همونجا به جواب سوالاتت میرسی.

  12. #12
    ممنون از همگی البته من منظورم هندل یه تکست باکس خاصی نبود منظورم کلا بدست آوردن هندل کلید تکست باکس لیبل و ... هست که تو برنامه ها استفاده میشه

  13. #13
    خوب به عنوان مثال من تکست باکس پسورد یاهو رو این طوری پیدا میکنم (تست شده رو یاهو 8)
     
    yhwnd = FindWindow("YahooBuddyMain", vbNullString)
    yhwnd = GetWindow(yhwnd, GW_CHILD)
    yhwnd = FindWindowEx(yhwnd, ByVal 0&, "Edit", vbNullString)
    yhwnd = GetWindow(yhwnd, GW_HWNDNEXT) 'اینجا هندل لیبیل پسورد رو بهت میده
    yhwnd = GetWindow(yhwnd, GW_HWNDNEXT) 'اینجا هم که هندل تکست باکس پسورد توش قرار میگیره

    حالا با داشتن هندلش هر کاری بخوای میتونی باش بکنی !!!

  14. #14
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    تو نرم افزارهای دیگه چی ؟

  15. #15
    خوب باید اول بدنه ی اصلی اونو پیدا کنی بعد پنجره ی Child رو پیدا کنی بعد هم مثل بالا با FindWindowEx و GetWindow میری تا به تکست باکس برسی

  16. #16

    Sub ClickSend()
    Dim imclass As Long, Button As Long
    imclass = FindWindow("imclass", vbNullString)
    Button = FindWindowEx(imclass, 0&, "button", vbNullString)
    Button = FindWindowEx(imclass, Button, "button", vbNullString)
    Button = FindWindowEx(imclass, Button, "button", vbNullString)
    Button = FindWindowEx(imclass, Button, "button", vbNullString)
    Call SendMessageLong(Button, WM_KEYDOWN, VK_SPACE, 0&)
    Call SendMessageLong(Button, WM_KEYUP, VK_SPACE, 0&)
    End Sub

  17. #17
    البته اول

    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Public Declare Function SendMessageLong& Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
    Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
    Public Const WM_SETTEXT = &HC
    Public Const WM_KEYDOWN = &H100
    Public Const WM_KEYUP = &H101
    Public Const VK_SPACE = &H20

  18. #18
    کاربر دائمی آواتار amirsadeghi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    system32\amir.ocx
    پست
    514
    نمونه کد ندارید؟

  19. #19
    بابا همین یه نمونست دیگه

  20. #20
    برو تو قسمت معرفی OCX تا واست چند تا برنامه بزارم

  21. #21
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    Tab
    پست
    110

    !

    با اینا نمیشه عزیز ...
    نقل قول نوشته شده توسط amirsadeghi مشاهده تاپیک
    نمونه کد ندارید؟
    دیدم خیلی ها این مشکل رو دارن گفتم یه برنامه کوچیک بنویسم .
    اینو ببین مشکلت حل میشه :

    برای دانلود اینجا را کلیک کنید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •