كيفية قراءة البارامترات المرسله عند فتح البرنامج (vb.net)
السلام عليكم ورحمة الله وبركاته
هذه التدوينه تتحدث عن كيفية جعل برنامجنا يستقبل بارامترات ويتعامل معها عند فتحه
لمن لايعرف البارامترات عليه ان يضع هذا الكود في نافذة cmd أو تشغيل
firefox.exe alkrsan.net
إذا كان متصفح الثعلب الناري مثبت في جهازك تدخل مباشرة الى بوابه القرصان, تفسير هذا ان البرنامج قراء البارامتر المرفق عند فتحه ونقلنا إليه مباشرةَ.
وللعلم فأن أي برنامج يستطيع إستقبال البارامترات ولكن ليست كل البرامج تستطيع التعامل معها !
التطبيق سيكون بأستخدام لغه vb.net
بدايتاً ماهي الفائدة !
حسناً .. أعتقد انه لايمكنني اقناعك ببساطه لكن الواقع أقعني قبلك , اغلب البرامج الكبيرة في السوق منفصله عن بعضها البعض (البرنامج مكون من أكثر من مشروع exe) والبرنامج الرئيسي وحده يستطيع فتحها على الرغم انها ملفات exe عاديه , وبما انك مبرمج يجب ان تعرف انه يبعث اليها بارامترات لكي يتمكن من فتحها .
إن لم تقتنع فلا تبالي فا بستخدام البارامترات تستطيع إنشاء اسرار لبرنامجك مثل ان تجعله يفتح بدون المطالبة بتسجيل الدخول ولك ان تفكر بكيفية ذلك J.
انا في هذا المثال سأفتح مشروعي وابعث له بارامتر يحمل القيمة hi
تستطيع سحب أي عنصر وافلاته على برنامجك للتجربه 🙂
الآن في حدث فتح الفورم أو ضغط زرسنكتب احد الاكواد التالية
Dim CommandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs
For i As Integer = 0 To CommandLineArgs.Count – 1
MessageBox.Show(CommandLineArgs(i))
Next
————————————————————————
For Each s As String In My.Application.CommandLineArgs
MessageBox.Show(s)
Next
كلا الكودين يقومان بنفس العمل وهو قراءة البارامترات المرسله
لاحظ الرساله تحمل محتوى البارامتر
في المستقبل عندما نصبح أكثر احترافاً سنكتب الكود السابق في حدث
MyApplication_Startup
الموجود في ملف
ApplicationEvents.vb
ونستطيع الحصول على الملف عن طريق الذهاب الى خصائص المشروع ثم
View ApplicationEvents
كودين اضافيين لتشغيل عمليه وارفاق بارامترات لها
Dim p = New Process()
p.StartInfo.CreateNoWindow = True
p.StartInfo.FileName = “firefox.exe”
p.StartInfo.Arguments = “/c alkrsan.net ”
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.RedirectStandardError = True
p.Start()
Process.Start(“firefox.exe“, “alkrsan.net“)
إرسال التعليق