السؤال في العنوان
كيف اقوم بفتح صفحه من برنامج وايضا كيف اقوم باغلاقها بعد ان تتحمل طبعاً بالبرنامج او بعد وقت معين مثلا بعد 10 ثواني تغلق الصفحه.
ارجو انكم ماتخيبوني.
السؤال في العنوان
كيف اقوم بفتح صفحه من برنامج وايضا كيف اقوم باغلاقها بعد ان تتحمل طبعاً بالبرنامج او بعد وقت معين مثلا بعد 10 ثواني تغلق الصفحه.
ارجو انكم ماتخيبوني.
قم بوضع Command واحد على Form
واجعل اسمه Command1
وكذلك Form1
ثم قم بنسخ ولصق الكود التالي
Private Sub Command1_Click()
Call Shell("start.exe http:www.arabteam2000.com", vbNormalFocus)
End Sub
Private Sub Form_Load()
Command1.Caption = "الفريق العربي للبرمجة"
Command1.ToolTipText = "اضغط هنا للذهاب الى موقع الفريق العربي للبرمجة"
End Sub
ان شاء الله ماكون خيبتك ;)
تحياتي :cool: الدولار:cool:
اما إذا كنت تريد التخلص من اطار Ms-Dos الذي يظهر لك اذا استخدمت الطريقة التي ذكرها الأخ/الدولار، فيمكنك حينها استخدام الدالة ShellExecute
Private Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As _ String, ByVal lpFile As String, ByVal lpParameters As _ String, ByVal lpDirectory As String, ByVal nShowCmd As _ Long) As Long Private Sub Command1_Click() ShellExecute hwnd, "Open", "http://www.arabteam2000.com", "", _ "", vbNormalFocus End Sub
وبالنسبة للاغلاق، فنظرا لصعوبة الحصول على معرف العملية فيفضل الاعتماد على جزء من عنوان النافذة لإغلاقها ... وهذا مثال على صفحة منتديات الفريق العربي .. حيث يقوم بالحصول على عنوان النافذة ثم معرف العملية وبالتالي مقبضها ثم يقوم باغلاق العملية.
Private Const PROCESS_VM_READ = 16
Private Declare Function TerminateProcess Lib "Kernel32" _
(ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "Kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle _
As Long, ByVal dwProcessId As Long) As Long
Private Declare Function FindWindowEx Lib "user32" _
Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal _
hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 _
As String) As Long
Private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal _
lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowThreadProcessId _
Lib "user32" (ByVal hwnd As Long, lpdwProcessId _
As Long) As Long
Function GetWndText(hwnd As Long)
Dim str_Buf$
str_Buf = String(255, Chr(0))
GetWindowText hwnd, str_Buf, 255
str_Buf = Left(str_Buf, InStr(str_Buf, Chr(0)) - 1)
GetWndText = str_Buf
End Function
Sub TerminateExplorerProcess()
Dim lng_hwnd&, hProcess&, ProcessId&
lng_hwnd = FindWindowEx(0, 0, vbNullString, _
vbNullString)
Do
If InStr(GetWndText(lng_hwnd), "منتديات الفريق") Then
GetWindowThreadProcessId lng_hwnd, ProcessId
hProcess = OpenProcess(PROCESS_VM_READ, 0, _
ProcessId)
TerminateProcess hProcess, 0
End If
lng_hwnd = FindWindowEx(0, lng_hwnd, vbNullString, _
vbNullString)
Loop While lng_hwnd
End Sub
Private Sub Command1_Click()
'لفتح النافذة
Shell "explorer http://arabteam.nicmatic.com/vb", 1
End Sub
Private Sub Command2_Click()
'لاغلاقها
TerminateExplorerProcess
End Subوبالطبع هناك طرق اخرى كاستخدام الرسالة WM_Close مع نافذة المتصفح أو ارسال المفتاحين Alt+F4 باستخدام الدالة SendKeys إلا ان الطريقة السابقة اعتقد انها أفضل.
مشكوووووووووررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررر
ومبروك على الترقيه وانتبه بس لايكبر راسك علينا;) ;)
جزااااااااااااك الله خيرا يا استااااااااذ ReadOnly
والله قليل عليك لقب عضو شرف (f)
هذا الموضوع مغلق.