PDA

View Full Version : حرفه ای: ارتباط سی شارپ با Yahoo Messenger



سعید کشاورز
سه شنبه 06 فروردین 1392, 18:52 عصر
سلام دوستان..
آیا میشه با سی شارپ با یاهو مسنجر ارتباط داشت؟
مثلا من الان میخام یه برنامه بنویسم که وقتی کاربر میخاد پیغام بفرسته حروف اول کلمات بزرگ باشه مثل زیر:

Salam Chetori? Che Khabar

آیا امکانش هست که همچین چیزی نوشت؟
یه جوری باید با تکست باکس یاهو که متن رو میگیره ارتباط بر قرار کرد و کنرلش کرد..البته هیچ اطلاعاتی در این زمینه ندارم..ممنون میشم راهنمایی کنید

Veteran
سه شنبه 06 فروردین 1392, 18:57 عصر
بله
امکانش هست
میشه با api اینکارو کرد

سعید کشاورز
سه شنبه 06 فروردین 1392, 19:09 عصر
بله
امکانش هست
میشه با api اینکارو کرد

میشه یکم توضیح بدین چجوریه؟ نمونه سورسی چیزی دارین واسه این کار؟

saman-arsenal
سه شنبه 06 فروردین 1392, 19:53 عصر
موضوع جالبی اگه کسی بلده لطف میکنه اگه توضیح بده یا سورس بذاره :قلب:

ali_habibi1384
سه شنبه 06 فروردین 1392, 20:15 عصر
خب من يه رباط تبليغاتي واسه شركتمون درست كردم و البته اون انگار كار خود مسنجر هم انجام ميده، دقيقا مثل ياهو id , pass ميگيره و آن ميشه، اد ميكنه پي ام ميده پي ام مياد، ميشد بهش ياد داد ، و ...
ولي اينكه شما بخواي يه جا يه چيزي بنويسي بعد اون واست كپي پيست كنه توي پنجره خود ياهو مسنجر انجام ندادم، قطعا كار راحتتري نسبت به ساخت يك مسنجر ياهو هست.

Veteran
سه شنبه 06 فروردین 1392, 23:00 عصر
ولي اينكه شما بخواي يه جا يه چيزي بنويسي بعد اون واست كپي پيست كنه توي پنجره خود ياهو مسنجر انجام ندادم
نیاز به کپی پیست نیست
==========
این کد وی بی
اگر تونستین به سی شارپ تبدیل کنین حالشو ببرین

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Private Sub Timer1_Timer()
ret = GetPressedKey
If ret = " SPACE " Or ret = " Space " Then
CapitalOn
ElseIf ret = "Pressed Key" Then
CapitalOff
End If
End Sub

Function GetPressedKey() As String
Dim Key As Boolean
Dim State As Boolean
Dim k As Long

Key = GetAsyncKeyState(vbKeySpace) And &H8000
State = GetAsyncKeyState(vbKeyShift) And &H8000
If Key Then
If State Then 'shift Pressed
GetPressedKey = " SPACE "
Else
GetPressedKey = " Space "
End If
Exit Function
End If
For iKey = 32 To 255
If (GetAsyncKeyState(iKey) And &H8000) Then
GetPressedKey = "Pressed Key"
Exit Function
End If
Next
GetPressedKey = "Non Key Pressed"
End Function

Private Sub CapitalOn()
Dim CapitalState As Byte

CapitalState = GetKeyState(vbKeyCapital)
If CapitalState <> 1 Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, &H2, 0
End If
End Sub

Private Sub CapitalOff()
Dim CapitalState As Byte

CapitalState = GetKeyState(vbKeyCapital)
If CapitalState = 1 Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, &H2, 0
End If
End Sub

Veteran
سه شنبه 06 فروردین 1392, 23:02 عصر
یه جوری باید با تکست باکس یاهو که متن رو میگیره ارتباط بر قرار کرد و کنرلش کرد..البته هیچ اطلاعاتی در این زمینه ندارم..ممنون میشم راهنمایی کنید
در این مورد هم باید کار با پنجره ها توسط هندل با api رو یادبگیرین.مبحث فوق العاده جالبی هست(برای بنده که بوده هست خواهد بود)(اما بیخیال برنامه نویسی ویندوز !)(فقط وب)

emperor_vb6
چهارشنبه 07 فروردین 1392, 00:51 صبح
نیاز به کپی پیست نیست
==========
این کد وی بی
اگر تونستین به سی شارپ تبدیل کنین حالشو ببرین

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Private Sub Timer1_Timer()
ret = GetPressedKey
If ret = " SPACE " Or ret = " Space " Then
CapitalOn
ElseIf ret = "Pressed Key" Then
CapitalOff
End If
End Sub

Function GetPressedKey() As String
Dim Key As Boolean
Dim State As Boolean
Dim k As Long

Key = GetAsyncKeyState(vbKeySpace) And &H8000
State = GetAsyncKeyState(vbKeyShift) And &H8000
If Key Then
If State Then 'shift Pressed
GetPressedKey = " SPACE "
Else
GetPressedKey = " Space "
End If
Exit Function
End If
For iKey = 32 To 255
If (GetAsyncKeyState(iKey) And &H8000) Then
GetPressedKey = "Pressed Key"
Exit Function
End If
Next
GetPressedKey = "Non Key Pressed"
End Function

Private Sub CapitalOn()
Dim CapitalState As Byte

CapitalState = GetKeyState(vbKeyCapital)
If CapitalState <> 1 Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, &H2, 0
End If
End Sub

Private Sub CapitalOff()
Dim CapitalState As Byte

CapitalState = GetKeyState(vbKeyCapital)
If CapitalState = 1 Then
keybd_event vbKeyCapital, 0, 0, 0
keybd_event vbKeyCapital, 0, &H2, 0
End If
End Sub

اين كدا كه نوشتيد قراره چيكار كنه اونوقت؟كد سي شارپ بذاريد از عنوان تالار و سوال مشخصه كه درباره سي شارپه نه وي بي!

Veteran
چهارشنبه 07 فروردین 1392, 00:58 صبح
=========
عزیزم خودم گفتم که تبدیل کنین به سی شارپ !

کد جلو روی شماس.بعد حوصله ندارین تبدیل کنین ؟؟؟؟
عجب !
من vs نصب ندارم !
هرموقعه تبدیل کردید میفهمین کارش چیه

RED-C0DE
چهارشنبه 07 فروردین 1392, 08:53 صبح
از کتابخانه ی اوپن سورس YCS (http://sourceforge.net/projects/ycs/) ک مخصوص کار با Yahoo! Messenger هست هم میتونید استفاده کنید

سعید کشاورز
یک شنبه 11 فروردین 1392, 19:01 عصر
در این مورد هم باید کار با پنجره ها توسط هندل با api رو یادبگیرین.مبحث فوق العاده جالبی هست(برای بنده که بوده هست خواهد بود)(اما بیخیال برنامه نویسی ویندوز !)(فقط وب)
در این رابطه هر چی سرچ کرم به نتیجه نرسیدم..میشه راهنمایی کنید؟
من فقط میخام یه جوری TextBox یاهو مسنجر رو کنترل کنم..
درباره api هم سرچ کردم اما در رابطه با یاهو مسنجر چیزی گیرم نیومد..

ali_habibi1384
یک شنبه 11 فروردین 1392, 19:30 عصر
در این رابطه هر چی سرچ کرم به نتیجه نرسیدم..میشه راهنمایی کنید؟
من فقط میخام یه جوری TextBox یاهو مسنجر رو کنترل کنم..
درباره api هم سرچ کردم اما در رابطه با یاهو مسنجر چیزی گیرم نیومد..
عزيزم خودتو خسته نكن. از كامپوننت YMSGMod.OCX واسه كنترل ياهو مسنجر استفاده ميشه. اگر راه اصولي ميخواي از اين ابزار استفاده آيدي تو باز ميكنه پي ام هات ميره و مياد دقيقا همه امكاناتي كه توي ياهو مسنجر هست ميتونيد استفاده كنيد. كاري رو هم كه شما ميخوايد با كد نويسي توي پيامهاي در حال ارسال ديگه كاري نداره.
برنامه كار با ياهومسنجر رو من چند سال پيش با VB6 نوشتم وگرنه اينجا ميذاشتم.

سعید کشاورز
دوشنبه 12 فروردین 1392, 00:18 صبح
عزيزم خودتو خسته نكن. از كامپوننت YMSGMod.OCX واسه كنترل ياهو مسنجر استفاده ميشه. اگر راه اصولي ميخواي از اين ابزار استفاده آيدي تو باز ميكنه پي ام هات ميره و مياد دقيقا همه امكاناتي كه توي ياهو مسنجر هست ميتونيد استفاده كنيد. كاري رو هم كه شما ميخوايد با كد نويسي توي پيامهاي در حال ارسال ديگه كاري نداره.
برنامه كار با ياهومسنجر رو من چند سال پيش با VB6 نوشتم وگرنه اينجا ميذاشتم.
آقا ممنون..اینی که گفتین واسه vb6 هستش ؟ درسته؟
واسه سی شارپ نداریم همچین چیزی؟

ali_habibi1384
دوشنبه 12 فروردین 1392, 00:31 صبح
آقا ممنون..اینی که گفتین واسه vb6 هستش ؟ درسته؟
واسه سی شارپ نداریم همچین چیزی؟
نه عزيز. ابار ابزاره ديگه چه فرقي ميكنه توي چه محيطي باشه. همه جا كار ميكنه.

_behnam_
جمعه 17 خرداد 1392, 19:52 عصر
عزيزم خودتو خسته نكن. از كامپوننت YMSGMod.OCX واسه كنترل ياهو مسنجر استفاده ميشه. اگر راه اصولي ميخواي از اين ابزار استفاده آيدي تو باز ميكنه پي ام هات ميره و مياد دقيقا همه امكاناتي كه توي ياهو مسنجر هست ميتونيد استفاده كنيد. كاري رو هم كه شما ميخوايد با كد نويسي توي پيامهاي در حال ارسال ديگه كاري نداره.
برنامه كار با ياهومسنجر رو من چند سال پيش با VB6 نوشتم وگرنه اينجا ميذاشتم.
راه اصولی؟
بعد اگه ایشون برنامه با YMSGpro.OCX نوشتن و اون کامپوننت از کار افتاد چی؟
اگه بنا به لاگین یاهو باشه خوب سوکت اصولیه اگه هم پروتکل از کار افتاد دوباره میشه آپدیت کرد.
بعدشم این اصلا ربطی به کار دوستمون نداره.
اگه بگید هدف اصلیتون واسه برنامه چیه شاید راه های بهتری باشه.

mrcoder01
پنج شنبه 31 اردیبهشت 1394, 04:08 صبح
سلام اقا بچه ها میگن میشه با api متن رو ارسال کرد به برنامه یاهو مسنجر خب
بنظر من قبل از اینکه متن رو بفرستی یک فانکشن براش بنویس که اول هر کلمه رو بزرگ کنه بعد داخل یک تابع بریزه و اون تابع رو به عنوان متن به یاهو مسنجر ارسال کنه.