• فيجوال بيسك
  • 2181
  • 20-3-2008
  • تشغيل الملفات
    هناك عدة طرق لتشغيل الملفات في الويندوز من داخل الفيجوال بيسك. وقد وضعنا في هذا الدرس أهم الطرق لتشغيل الملفات التنفيذية والملفات الأخرى. لعنا نقدم الفائدة لكل مبرمج في الفيجوال بيسك. نبدأ بتشغيل الملفات التنفيذية ( البرامج 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:windowsfaq.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:windowsfaq.txt\'
    إنتهى درسنا نأمل أنكم إستفدتم وبالتوفيق للجميع
    كن أول من يقيم الموضوع
    12345