PDA

View Full Version : یه سوال تخصصی درباره گرفتن هندل پنجره مورد نظر



javid_debugger
سه شنبه 26 آذر 1387, 09:06 صبح
من یه سوال دراین باره داشتم اونم اینکه چه جوری میشه یه کلمه مورد نظر رو در هندل پنجره مد نظر گرفت.مثلا کلمه Yahoo در هر پنجره ای دیده شد بسته شود . حالا چه می خواد Yahoo Massenger باشه.چه Yahoo Massenger Voice Whiteو یا .... باشه. در هر صورت چون کلمه Yahoo در این پنجره ها به کار رفته مثلا باید بسته شود.

اگه کسی کمک کنه ممنون میشم.

m_vb1386
سه شنبه 26 آذر 1387, 09:51 صبح
اين كه خيلي راحته شما تايتل برنامه رو بگير سپس اون مقدار رو بوسيله تابع instr جستجو كن و بعد فوكوس رو به پنجره بده و بعد اون رو ببند

javid_debugger
سه شنبه 26 آذر 1387, 10:16 صبح
میشه یکم بیشتر توضیح بدین

.:KeihanCPU:.
سه شنبه 26 آذر 1387, 10:58 صبح
تا حالا در این باره بحث شده.
جستجو کنید.
یادمه در تایپیکی که احسان گذاشته بود یه چیزایی بود.

m_vb1386
سه شنبه 26 آذر 1387, 12:25 عصر
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
Dim ret_val As Long
ret_val = FindWindow("OMAIN", vbNullString)
If ret_val <> 0 Then
Call OpenClipboard(ret_val)
End If
If ret_val = 0 Then
Call CloseClipboard
End If
End Sub


اين كد اگه فايل اكسس باز باشه اجازه كپي كردن فيلدها رو به كليپ برد رو نميده شما هم ميتونيد با به دست اوردن كلاس پنجره هاي ياهو اين كار رو بكنيد و هم با روشي كه بالا گفتم

r0ot$harp
سه شنبه 26 آذر 1387, 12:48 عصر
تا حالا در این باره بحث شده.
جستجو کنید.
یادمه در تایپیکی که احسان گذاشته بود یه چیزایی بود.

طبق گفته دوست عزیزم قبلا در این مورد خیلی بحث شده است .



http://barnamenevis.org/forum/showthread.php?t=123845



باتشکر احسان