PDA

View Full Version : هندل پنجره فعال!



alireza-th
یک شنبه 09 اردیبهشت 1386, 12:54 عصر
سلام به بر و بچه های کار درست برنامه نویس
راستش من یک مشکلی دارم در مورد پیدا کردن هندل پنجره های فعال
کد زیر رو نوشتم برای اینکه به مدت 30 ثانیه هندل پنجره هایی که فعال میشن رو در لیستی ثبت کنه اما مشکل اینجاس که فقط و فقط هندل همون صفحه برنامه رو مینویسه و در صورتی که مثلا Notepad فعال باشه هندلش رو 0 ثبت میکنه!

این کدش :




Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Sub Timer1_Timer()
i = i + 1
If i <= 30 Then
List1.AddItem GetActiveWindow
End If
End Sub



نمیدونم مشکلش چیه اگه کمک کنید در این مورد ممنون میشم یعنی اینکه چطوری کد رو بنویسم که هندل پنجره های فعال رو درست بنویسه نه اینکه فقط هندل صفحه برنامه رو درست بنویسه و اگه پنجره دیگه ای فعال بود 0 ثبت کنه! متشکرم

__siavash__
یک شنبه 09 اردیبهشت 1386, 13:00 عصر
GetActiveWindow این تابع فقط برای پنجره هایی هست که توسط برنامه شما ایجاد شده شما میتونی از تابع GetForegroundWindow استفاده کنی که هندل پنجره ای رو که در بالاترین سطح قرار دارد (پنجره فعال) رو برمیگردونه !