تشغيل الملفات
هناك عدة طرق لتشغيل الملفات في الويندوز من داخل الفيجوال بيسك.
وقد وضعنا في هذا الدرس أهم الطرق لتشغيل الملفات التنفيذية والملفات الأخرى. لعنا نقدم الفائدة لكل مبرمج في الفيجوال بيسك.
نبدأ بتشغيل الملفات التنفيذية ( البرامج EXE)
أولاً - بإستخدام الدالة Shell :
هذه الدالة تستخدمها الفيجوال بيسك لتشغيل الملفات التنفيذية.
صيغتها العمامة كما يلي.
Shell 'File Name Path', WindowsStyle |
File Name Path : مسار الملف التنفيذي المراد تشغيله.
WindowsStyle : طريقة عرض نافذة البرامج المراد تشغيله .
وهذا الشرج يبين الثوابت لهذا الوسيط:
vbHide القيمه 0 تكون النافذة مخفية
vbNormalFocus القيمه 1 تكون النافذة في حجمها الطبيعي مع إعطاء التركيز لها
vbMinimizedFocus قيمتها 2 تكون النافذة في وضع التصغير على شريط المهام وإعطائها التركيز
vbMaximizedFocuse قيمتها 3 تكون النافذة في وضع التكبير مع إعطائها التركيز
vbNormalNoFocus قيمتها 4 تكون النافذة في وضع التصغير دون إعطائها التركيز
vbMinimizedNoFocus قيمتها 5 تكون النافذة في وضع التصغير دون إعطائها التركيز
مثال :
Shell 'notepad.exe', vbNormalFocus |
تشغيل المفكرة في الوضع العادي
لاحظ انه لم نكتب المسار الكامل للمفكرة لأنها داخل مجلد النظام .
ثانياً - بإستخدام إجراءات API .
الدالة WinExec . وهي تشبه الدالة السابقة :
يتم التصريح عن الدالة بالكود التالي في مديول:
Declare Function WinExec& Lib 'kernel32' (ByVal lpCmdLine As String, ByVal nCmdShow As Long) |
التشغيل:
WinExec('Notepad.exe', vbMaximizedFocus) |
تشغيل الملفات الأخرى:
لايمكننا تشغيل الملفات المرتبطة ببرامج خاصة عن طريق الدوال السابقة فوراً .
ولاكن عليك كتابة مسار التطبيق أولاً . ثم مسار الملف المرتبط بالبرنامج. مثال:
Shell 'Notepad.exe c:\windows\faq.txt', vbNormalFocus |
لوفرضنا أنك لم تعرف البرنامج المرتبط بالملف . فالدالة التالية تقوم بمعرفة البرنامج المقترن وتشغيله:
الدالة ShellExecute.
التصريح عنها : في قسم التصريحات General
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 |
وسيطات الدالة :
hwnd : مقبض النافذة.
lpOperation : احدى المعاملين 'Print' للطباعة و 'Open' للفتح.
lpFile : اسم الملف لمراد تطبيق العملية عليه.
lpParameters : الوسيطات المراد تمريرها إلى جوار اسم الملف (في حال وجودها).
lpDirectory : اسم المجلد الذي يقع عليه الملف.
nShowCmd : مطابقة للوسيطة windowstyle التابعة للدالة Shell .
مثال:
ShellExecute hwnd, 'Open', 'Calc.exe', vbNullString, vbNullString, 3 |
لتشغيل كافة الملفات :
ضع هذا التصريح في قسم General بعد التصريح الأساسي للدالة
Sub ShellDocument(FileName As String)
Dim Ret&
Ret = ShellExecute(hwnd, 'Open', FileName, '', '', 1)
If Ret <= 32 Then
Select Case Ret
Case 2&
MsgBox 'لم يتم العثور على الملف'
Case 3&
MsgBox 'المسار غير موجود'
Case 5&
MsgBox 'تعذر الوصول'
Case 8&
MsgBox ' ذاكرة غير كافية'
Case 11&
MsgBox 'هناك خلل في البرنامج'
Case 32&
MsgBox 'مكتبة الربط الديناميكي غير موجودة'
Case 31&
MsgBox 'لايوجد برنامج مقترن لفتح هذا الملف'
Case Else
MsgBox 'خطأ غير معرف '
End Select
End If
End Sub |
للتشغيل هذا الكود :
ShellDocument 'c:\windows\faq.txt' |
إنتهى درسنا نأمل أنكم إستفدتم
وبالتوفيق لل