منتديات المبرمجون الاقباط
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

لتشغيل البرامج والملفات في الويندوز من داخل الفيجوال بيسك (هام جدا جدا)

اذهب الى الأسفل

لتشغيل البرامج والملفات في الويندوز من داخل الفيجوال بيسك (هام جدا جدا) Empty لتشغيل البرامج والملفات في الويندوز من داخل الفيجوال بيسك (هام جدا جدا)

مُساهمة من طرف Coptic_Programmer الجمعة يوليو 03, 2009 10:24 am

هناك عدة طرق لتشغيل الملفات في الويندوز من داخل الفيجوال بيسك.

وقد وضعنا في هذا الدرس أهم الطرق لتشغيل الملفات التنفيذية والملفات الأخرى. لعنا نقدم الفائدة لكل مبرمج في الفيجوال بيسك.


نبدأ بتشغيل الملفات التنفيذية ( البرامج 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'

Coptic_Programmer
مشرف برامج
مشرف برامج

المساهمات : 43
تاريخ التسجيل : 29/10/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى