الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل ملف خاجي exe أو com أو bat و أخذ المخرجات

مغلق
بدأه AmR EiSa في 17 ديسمبر 2004 · 12 رد · 1,830 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله و بركاته

أريد تشغيل ملف خارجي تابع لسطر الأوامر مثل أمر edit في الدوس في ويندوز 98 أو 95 أو me علي سبيل المثال أو أمر ftp أو diskpart في xp أو 2000

داخل الفورم أو داخل ريتش بوكس أو تيكست بوكس و المخرجات والمدخلات تكون واضحه داخل الأبلكيشن كما هي في الدوس

وهذا علي أصدرات الويندوز المختلفه

فهل هذا ممكن ؟؟؟؟

ملف ال bat ليس مشكله معضله و هو 4 سطور كود ولكن000000000

لقد قمت بتشغيل أوامر shell في ويندوز 9x أو nt ولكن لا أستطيع تشغيل البرامج الغير موجوده في الذاكرة مثل الأوامر المذكوره أعلاه فهل من مساعد ؟؟؟؟

أخوكم عمرو

#2

قمت بالرد على سؤالك هنا..

/index.php?showtopic=52600

و سأنقل الاجابة هنا::

لفكرة انك تخزن الاوامر في ملف باتش ثم تستدعي الدوس لتنفيذ الاوامر و تخزين الناتج في ملف نصي

يعني هنستخدم الملفات للتفاعل مع الدوس

اما استدعاء محث الدوس فسيتم باستخدم api اسمها shellexecute

حمّل المثال::

windows dos shell.zip

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#3

السلامه عليكم ورحمة الله و بركاته

أخي undo أسئل الله العلي القدير أن يجزيك عني خيرا

و ألف شكر علي حلك الكريم ولكن هذا لا يصلح مع أمر ftp علي سبيل المثال في ويندوز xp أو 2000

ما أريده هو أن تظهر المعطيات و الخرجات علي الفورم في أي من عناصرها كما يحدث في الكونسل

هذا ما أريده و قد تمكنت من تشغيل معظم الأوامر الموجوده في ملف ال cmd.exe ولكن لا أستطيع أستدعاء ملف ذات أمتداد خارجي بالطريق التي أقصدها يا رب يكون مقصدي واضح

أخوك عمرو عيسي

#4

فهمت المشكلة بعد ان قمت بتجربة الاوامر ..

فعلاً الكود الذي كتبته لا يحل مشكلتك و للاسف لا يمكنني مساعدتك لكن ساحاول ان اعثر على طريقة ما..

هناك سؤال ما:: هل يمكنك تمرير مجموعة من الاوامر الى الftp او الdiskpart؟؟

يعني بدل ان تكتب الاوامر بصورة متتاعبة ثم تكتب exit في النهاية هل هناك طريقة اخرى تسمح لك بتمرير ملف باتش مثلاً الى الftp لكي يقوم بتنفيذها و الخروج الياً؟؟

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#5

السلام عليكم ورحمة الله و بركاته

أخي undo جزاك الله عني خيرا

يوجد طريقة في diskpart وهي diskpart /s وهي أختصار ل script

ولكن المشكلة ليست في ذلك المشكلة أني أريد تشغيل جميع الملفات الخارجية التابعة لبيئة الأوامر داخل البرنامج وهذا ما أحاو القيام به وكما أوضحت من قبل لقد تمكنت من تشغيل جميع الأوامر الداخلية مثل ping ولكني لم أتمكن بعد من التحكم في أمر dir أو cd علي سبيل المثال فأنا أعامل ال user32 وال kernel32 عن طريق ال api و تعاملي معه في مجال المحث الموجد هو app.path ولم أتمكن حتي الأن من تغيره لدرجة أني أستعنت بأدوات فيجوال بيسك من أجل أيجاد حل مؤقت لهذه المشكلة و لكن ما يؤرقني فعلا هو تشغيل ملف خارجي داخل عناصر الفورم و العنصر الذي أعمل عليه لعملية الأخراج و الأدخال هو richtextbox حتي الأن و أسئل الله النجاح في ما أسعي إلي تحقيقه

أخوك عمرو عيسي

#6

السلام عليكم

اعتقد ان هناك شئ لا افهمه في مشكلتك..

الطريقة التي كتبتها تعتمد على تخزين الاوامر في ملفات باتش ثم استدعاء محث الدوس لتنفيذها ..

يعني ينفع تشغّل من خلالها dir و cd و غيرها و قمت بالتجربة و نجحت..

بالنسبة للdiskpart .. ارى ان المشكلة ايضا محلولة ما دام يمكنك تخزين الاوامر في ملف سكربت ثم استدعاء محث الدوس لتنفيذ diskpart /s:filename

ايه رأيك:: لو اعطيتني مثال عمّا تريد تنفيذه؟؟ يعني اكتب لي شوية اوامر انت عايز تنفذها من الdiskpart و انا هاجرب ..

بالمناسبة .. فايدته ايه الdiskpart??

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#7

السلام عليكم ورحمة الله و بركاته

أخي العزيز undo ال diskpart هو برنامج تقسيم الهاردات من تحت ويندوز 2000 و xp

ولكن ليست هذه المشكلة المشكلة أني أريد في أخر الأمر عمل برنامج يمكن تنفيذ الأوامر تحت سطر الأوامر تحت الشبكة أو النتورك

معني هذا أنك علي سبيل المثال تعمل علي ويندوز 98 و انا أعمل xp و نريد العمل علي برنامج من جهازك مثل ال fdisk تعديل شيء ما في القرص الصلب عندك فهذا بطريق ال bat مستحيل تمام

أخوك عمرو عيسي

#8

بالنسبة لأوامر ال diskpart

هي :-

Microsoft DiskPart version 5.1.3565

Copyright © 1999-2003 Microsoft Corporation.

On computer: r0ot

Microsoft DiskPart syntax:

diskpart [/s <script>] [/?]

/s <script> - Use a DiskPart script.

/? - Show this help screen.

C:\Documents and Settings\EiSa>diskpart

Microsoft DiskPart version 5.1.3565

Copyright © 1999-2003 Microsoft Corporation.

On computer: CMD

DISKPART> help

Microsoft DiskPart version 5.1.3565

ADD - Add a mirror to a simple volume.

ACTIVE - Marks the current basic partition as an active boot partition.

ASSIGN - Assign a drive letter or mount point to the selected volume.

BREAK - Break a mirror set.

CLEAN - Clear the configuration information, or all information, off the

disk.

CONVERT - Converts between different disk formats.

CREATE - Create a volume or partition.

DELETE - Delete an object.

DETAIL - Provide details about an object.

EXIT - Exit DiskPart

EXTEND - Extend a volume.

HELP - Prints a list of commands.

IMPORT - Imports a disk group.

LIST - Prints out a list of objects.

INACTIVE - Marks the current basic partition as an inactive partition.

ONLINE - Online a disk that is currently marked as offline.

REM - Does nothing. Used to comment scripts.

REMOVE - Remove a drive letter or mount point assignment.

REPAIR - Repair a RAID-5 volume.

RESCAN - Rescan the computer looking for disks and volumes.

RETAIN - Place a retainer partition under a simple volume.

SELECT - Move the focus to an object.

#9

السلام عليكم

لم افهم لماذا لا يمكن تخزين الاوامر في ملف سكربت ثم استدعاء الdiskpart لتنفيذ الاوامر كلها مرة واحدة ثم الخروج من محث الدوس..

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#10

السلام عليكم و رحمة الله و بركاته

أخي لم أقصد ال diskpart كشيء أساسي ولكن كملف تنفيذي يعمل علي سطر الأوامر يحتاج إلي تشغيل داخل المشروع أو الكاونسل و أي وسيلة لتشغيله

و أن كنت تقصد أنك لم تفلح في عمل أسكربت له

فهذا العنوان من الممكن أن يساعدك

C:\WINDOWS\Help\ntcmds.chm

هذا بالطبع أزي كان ويندوز xp عندك في ال c

المشكلة هنا أن ما أرغب به في نهاية الأمر هو مشروع سطر الأوامر عبر الشبكة و هذا لا يمكن تحقيقه من خلال نظام واحد فمثلا أنا أعمل علي xp و غيري يعمل علي 98 و يريد أن أقوم ببعض الأوامر علي جهازه عن طريق ال lan أو ال net فلا يمكن عمل أسكربت لل fdisk في ويندوز 9x علي سبيل المثال لأنه لا يدعم هذا

هذه هي مشكلتي

أخوك عمرو عيسي

#11

للاسف فلا اعرف اكثر من ذلك.. :( :( :( :(

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#12

السلام عليكم و رحمة الله و بركاته

ألف شكر أخي undo جزاك الله عني خيرا

و يا ريت أي أخ من الأخوان في المنتدي يساعد أزي كان يعلم

أخوك عمرو عيسي

#13

السلام عليكم ورحمة الله و بركاته

أعتقد أني حصلت عما أريد عن طريق ال api و عندما أنتهي من المشروع سوف أنشر هذه الجزئية أن شاء الله

أخوكم عمرو عيسي

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…