السلام عليكم
انا عندى برنامج بيفتح أكثر من شاشة interent explorer ولكى لا يتضاعف عدد الشاشات التى نفتحها نود ان نغلق بعض هذه الشاشات طبعا انا عارف ال address لكل شاشة ...انا استخدمت هذا الكود على سبيل التجربة لكى يغلق مثلا ال notepad ولكن الكود لا يعمل...نرجو المساعدة
انا وضعت هذا الكود فى module
Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Declare Function PostMessage Lib "user32" Alias _ "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, ByVal lParam As any) As Long Public Const WM_CLOSE = &H10
هذا الكود بيعطى خطأ "AS Any is not supported in declare statements" كيف نعالجه
بعد ذلك بأكتب الكود التالى
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "Notepad")
If winHwnd <> 0 Then
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
If RetVal = 0 Then
MsgBox("خطأ في عملية ارسال الرسالة")
End If
Else
MsgBox("الدفتر مفتوح")
End Ifهذا الكود المفروض انه يغلق برنامج الدفتر ولكنه لا يفعل شئ
وما هو العمل اذا اردنا ان نغلق صفحة انترنت بها رابط ..وهذا الرابط معروف
نرجو المساعدة وشكرا