PDA

View Full Version : سوال: چطوری می تونم هندل یک برنامه خاص رو پیدا کنم و ببندمش؟



javadt
پنج شنبه 30 مهر 1388, 23:56 عصر
چطوری می تونم هندل یک برنامه خاص رو پیدا کنم و اون برنامه رو ببندمش؟

saeedvir
جمعه 01 آبان 1388, 09:21 صبح
سلام:


Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_CLOSE = &H10

Dim hwnd As Long

hwnd = FindWindow(vbNullString, "my computer")
If hwnd <> 0 Then '************'
PostMessage hwnd, WM_CLOSE, 0&, 0&
End If

javadt
جمعه 01 آبان 1388, 20:59 عصر
اما این کد کار نکرد

shedayat
جمعه 01 آبان 1388, 21:17 عصر
اما این کد کار نکرد

یه تایمر توی فرمت بزار و Interval اون رو 1 کن بعد کد زیر رو روی جنرال فرمت کپی کن :چشمک:


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_CLOSE = &H10

Private Sub Timer1_Timer()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "my computer")
If hwnd <> 0 Then '************'
PostMessage hwnd, WM_CLOSE, 0&, 0&
End If
End Sub

javadt
جمعه 01 آبان 1388, 23:34 عصر
با تشکر دوست عزیز
کد قبلی از Const WM_CLOSE = &H10 ایراد می گرفت
--
خوب این فقط Mycomputer رو میبنده
من می خوام هر پنجره ای که باز بود رو ببنده برای این کار باید چی کارش کنم؟
با تشکر

alirezabahrami
شنبه 02 آبان 1388, 11:53 صبح
چطوری می تونم هندل یک برنامه خاص رو پیدا کنم و اون برنامه رو ببندمش؟
با سلام
بنده هم در همين رابطه يك سؤال داشتم و آن اينكه چگونه از داخل يك فايل اجرائي ، فايل اجرائي ديگر كه در حال اجرا بوده و در مسير فايل اجرائي اصلي (جاري) مي باشد را ببنديم ؟
باتشكر

shedayat
شنبه 02 آبان 1388, 21:07 عصر
با تشکر دوست عزیز
کد قبلی از Const WM_CLOSE = &H10 ایراد می گرفت
--
خوب این فقط Mycomputer رو میبنده
من می خوام هر پنجره ای که باز بود رو ببنده برای این کار باید چی کارش کنم؟
با تشکر

برای این کد Const WM_CLOSE = &H10 بعد از کپی کردن در وی بی خط آندر لاین(_) رو پاک کن و دوباره بنویس.
برای سوال بعدیت هم دیگه نیاز نیست که هندل پنجره رو داشته باشیم. توی تایمر فقط دستور بستن پنجره رو فراخوانی کن.

javadt
شنبه 02 آبان 1388, 22:16 عصر
خوب اینجوری اول از همه خودش رو میبنده
راهی هست که پنجره ها رو ببنده نه خودش رو
برنامه همیش اجراست و آن تاپ هست

r0ot$harp
یک شنبه 03 آبان 1388, 01:16 صبح
دوست عزیز از مقاله بنده استفاده کنید . کمکتون می کنه .

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


باتشکر احسان