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

أريد تشغيل ملف تنفيذي للعبة من برنامجي

مغلق
بدأه mostbar في 22 يوليو 2006 · 8 رد · 812 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

اريد أن أشغل لعبة مثل FIFA2005 مثلا من برنامجي ... لكن عن طريق Shell و Process لا تعمل اللعبة مع العلم أنهما تعملان مع الملفات التنفيذية الأخرى غير الألعاب .. و أيضا اللعبة تعمل من Run .. و أيضا من برنامج CMD حيث إذا كتبت مسارها تعمل بشكل طبيعي .. فما الحل لتمرير الأوامر لبرنامج RUN أو لـلــCMD

#3

الالعاب تعمل مثلها مثل اي برنامج من خلال الايعازات اتي ذكرتها

انا اظن انه في مشكلة ما في البرنامج

#4

إخواني الكرام .. ارجوكم تجريب تشغيل أي لعبة وسترون ما سيحدث :

على العموم هذا هو الكود :

  Process.Start(TextBox1.Text)

والآخر :

	Shell(TextBox1.Text)

ما يحدث هو أن الشاشة تتحول للأسود ( كأن اللعبة ستبدأ ) ثم يعود مرة أخرى للونيدوز

#5

أولا- يفضل استخدام Process.start وليس Shell

ثانيا - Process.start تملك عدة صيغ يمكنك استخدام ما تراها مناسبة لبرنامجك خمس أشكال - Overloading

Process.Start (ProcessStartInfo)

Process.Start (String) 

Process.Start (String, String)

Process.Start (String, String, SecureString, String) 

Process.Start (String, String, String, SecureString, String)

ثالثا - تمت تجربة Process.start على أكثر من لعبة وهي تعمل بشكل جيد مثلا Demonstar

ومع أنني شخصيا أفضل الصيغة Process.Start (ProcessStartInfo) حيث تمنحك قدرا أكبر من التحكم بما تريد تنفيذه ويمكنك الاطلاع على تفاصيل هذه الصيغ بالتفصيل في مكتبة MSDN المرفقة مع فيجول ستوديو أو على موقع msdn.microsoft.com

كما أضمن إجابتي أيضا نفس المثال المذكور في مكتبة MSDN المرفقة مع فيجول ستوديو

Imports System
Imports System.Diagnostics
Imports System.ComponentModel


Namespace MyProcessSample
	_
   '/ <summary>
   '/ Shell for the sample.
   '/ </summary>
   Class MyProcess 
	  '/ <summary>
	  '/ Opens the Internet Explorer application.
	  '/ </summary>
	  Public Sub OpenApplication(myFavoritesPath As String)
		 ' Start Internet Explorer. Defaults to the home page.
		 Process.Start("IExplore.exe")

		 ' Display the contents of the favorites folder in the browser.
		 Process.Start(myFavoritesPath)
	  End Sub 'OpenApplication


	  '/ <summary>
	  '/ Opens urls and .html documents using Internet Explorer.
	  '/ </summary>
	  Sub OpenWithArguments()
		 ' url's are not considered documents. They can only be opened
		 ' by passing them as arguments.
		 Process.Start("IExplore.exe", "www.northwindtraders.com")

		 ' Start a Web page using a browser associated with .html and .asp files.
		 Process.Start("IExplore.exe", "C:\myPath\myFile.htm")
		 Process.Start("IExplore.exe", "C:\myPath\myFile.asp")
	  End Sub 'OpenWithArguments


	  '/ <summary>
	  '/ Uses the ProcessStartInfo class to start new processes, both in a minimized 
	  '/ mode.
	  '/ </summary>
	  Sub OpenWithStartInfo()

		 Dim startInfo As New ProcessStartInfo("IExplore.exe")
		 startInfo.WindowStyle = ProcessWindowStyle.Minimized

		 Process.Start(startInfo)

		 startInfo.Arguments = "www.northwindtraders.com"

		 Process.Start(startInfo)
	  End Sub 'OpenWithStartInfo


	  Shared Sub Main()
		 ' Get the path that stores favorite links.
		 Dim myFavoritesPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

		 Dim myProcess As New MyProcess()

		 myProcess.OpenApplication(myFavoritesPath)
		 myProcess.OpenWithArguments()
		 myProcess.OpenWithStartInfo()
	  End Sub 'Main 
   End Class 'MyProcess
End Namespace 'MyProcessSample

تم تعديل هذه المشاركة بواسطة samerselo في 22 يوليو 2006 في 23:02

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#6

فعلى سبيل المثال استخدام الكود التالي سيفشل في تشغيل لعبة DemonStar SM2

Process.Start("J:\DemonStarSM2\ds.exe")

ولكن الكود التالي سيقوم بتشغيلها بنجاح

		' تعريف متغير يشير للفئة ProcessStartInfo
		Dim si As New System.Diagnostics.ProcessStartInfo
		' تحديد اسم البرنامج
		si.FileName = "J:\DemonStarSM2\ds.exe"
		' تحديد دليل العمل
		si.WorkingDirectory = "J:\DemonStarSM2"
		' تشغيل البرنامج
		Process.Start(si)

والسبب في ذلك هو الخيارات الإضافية التي يمكنك تحديدها عند استخدام الفئة ProcessStartInfo كوسيط للدالة Process.Start بدلا من تمرير مسار الملف التنفيذي للبرنامج فقط وهنا مجرد تحديد دليل العمل حل المشكلة لدينا

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#7

فعلا أخي الكريم ... ما كان ينقص هو هذا السطر تماما :

si.WorkingDirectory = "J:\DemonStarSM2"

جزاك الله كل خير وجعله في ميزان حسناتك

#8

شكرا يا باشا 100/100 شرح ممتاز

ولكن لى استفسار بسيط بالنسبه Process.Start كيف يمكنها من فتح برنامج يطلب كلمه سر و اسم مستخدم و ذلك بفتحو و تمرير له البيانات المطلوبه .

و هل يمكن استخدم نفس الطريقه مع المواقع ؟

#9
mostbar كتب:
فعلا أخي الكريم ... ما كان ينقص هو هذا السطر تماما :

si.WorkingDirectory = "J:\DemonStarSM2"

جزاك الله كل خير وجعله في ميزان حسناتك

لا شكر على واجب

ويسعدني أن الكود اشتغل معك تمام

half angel كتب:
شكرا يا باشا 100/100 شرح ممتاز

ولكن لى استفسار بسيط بالنسبه Process.Start كيف يمكنها من فتح برنامج يطلب كلمه سر و اسم مستخدم و ذلك بفتحو و تمرير له البيانات المطلوبه .

و هل يمكن استخدم نفس الطريقه مع المواقع ؟

جواب سؤالك موجود في خصائص System.Diagnostics.ProcessStartInfo فالمعروض هنا فقط مايحتاجه سؤال الأخ mostbar راجع مكتبة MSDN للحصول على شرح كامل مفصل

ونعم Process.Start تستخدم لكل شئ برامج - ملفات معروفة النوع - مواقع - بريد الكتروني ----- الخ

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

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

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

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

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

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

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