فتح إصدار معين من Flash بواسطة process.start ()

أستخدم التعليمة البرمجية التالية لفتح flash:

private Process flash = new Process();
flash.StartInfo.FileName = ("Flash.exe");
flash.Start();

يحتوي الجهاز المستهدف على العديد من إصدارات الفلاش مثل flash cs5،4،3. أرغب في فتح الإصدار الأحدث أو السماح للمستخدم بالاختيار ، فكيف يمكنني القيام بذلك؟

0
لا أستطيع أن أفترض أنها مثبتة كلها في مجلد مشترك.
وأضاف المؤلف Amey Bhatkar, مصدر
همهمة ولكن على جهازي هو Flash.exe يوجد مسار Flash cs5 الذي هو الإصدار الوحيد المثبت على الجهاز. ولكن على جهاز الكمبيوتر الخاص بي صديقي هو Flash.exe مع مسار فلاش 8 حيث يوجد فلاش 8 وفلاش CS5 تثبيت على جهازه. حيث لا يكون مسار cs5 في مسارات التطبيق يحتوي على مجلد منفصل في البرنامج باسم adobe ويوجد مسار لـ cs5 و flash 8 هناك
وأضاف المؤلف Amey Bhatkar, مصدر
ولكن هذا أيضًا ليس سلوكًا معينًا لأن صديقي الآخر كان يحتوي على فلاش cs5 و Flash 8 ولكن لا يوجد اسم مجلد يحتوي على adobe في البرنامج
وأضاف المؤلف Amey Bhatkar, مصدر
سؤال سريع: هل يمكنك افتراض أنها كلها مثبتة في مجلد مشترك؟ مثل Adobe/Flash CS3 و Adobe/Flash CS4 وما إلى ذلك؟
وأضاف المؤلف Andrei Bârsan, مصدر
ما الذي يُظهر الانتقال إلى HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion & zwnj؛ \ App Paths ، في ما يتعلق بالفلاش؟ هل هناك Flash.exe واحد فقط هناك؟
وأضاف المؤلف Andrei Bârsan, مصدر
مرحبًا ، لقد وجدت طريقة لجلب جميع البرامج المثبتة في سلسلة محادثات المنتدى (تمامًا كما في مربع حوار إضافة/إزالة البرامج) ، قد يكون مفيدًا لك ، نظرًا لأنه يجعلك قريبًا جدًا من هدفك!
وأضاف المؤلف Andrei Bârsan, مصدر

1 إجابة

عادةً ما تكون جميع عمليات تثبيت الفلاش الأخرى موجودة في مجلدات برنامج مختلفة ، لذلك تحتاج فقط إلى التأكد من أنك تقوم بتشغيل Flash.exe من المجلد الصحيح. على سبيل المثال ، يكمن التثبيت الحالي هنا: C: \ Program Files (x86) \ Adobe \ Adobe Flash CS5 \ Flash.exe ، ولكن يمكن أن يكون البديل البديل في ملفات C: \ Program ( x86) \ Adobe \ Adobe Flash CS4 \ Flash.exe`.

من المهم ملاحظة أن لا يمكنك افتراض أن المستخدم قد ثبّت فلاش CS * في دليله الافتراضي ! يجب عليك دائمًا الاستعلام عن سجل Windows للعثور على قائمة المنتجات المثبتة.

أيضا ، قد يكون إشعار آخر أنك لا تحتاج إلى أقواس حول القيم الحرفية سلسلة. لذلك يمكنك فقط كتابة:

string foo = "Hello!";

بدلا من

string foo = ("Hello!");

تحرير 1:

Hey, I found a similar problem being treated in a forum thread here! I downloaded the code sample and ran it through a vb.net -> C# converter (like this one) and got it to work after a few minor syntax tweaks. Now it's able to output a list of the installed programs with their appropriate version numbers.

سيكون هناك مجموعة من الأساليب التي تحصل على شكل برامج على سبيل المثال. بعض المستخدمين. ثم يتم وضع كل هذه في قائمة مشتركة ، يتم إرجاعها إلى المستخدم. الآن ، هذا يبدو مثاليا ، ولكن هناك عيب واحد فقط - لا يوجد مسار متاح ... حتى الآن!

يمكنك فقط الاستعلام عن UninstallString ، والحصول على مسار لإلغاء التثبيت (وهو IIRC في نفس المجلد مثل Flash.exe). على سبيل المثال ، في GetUninstallKeyPrograms ، بعد

try
{
    IsSystemComponent = Convert.ToInt32(CurrentSubKey.GetValue("SystemComponent", 0));
}

snippet ، يمكنك محاولة الحصول على قيمة UninstallString للحصول على المسار. آمل أن يساعد!

0
وأضاف
شكرا لك الرد. 1) أحتاج إلى الاستعلام عن سجل ويندوز للعثور على قائمة المنتج المثبت. 2) أنا في حاجة لمعرفة عدد إصدار فلاش هناك 3) ثم ما هو أعلى إصدار. [هل يمكن أن تقدم لي رمز لهذا.]
وأضاف المؤلف Amey Bhatkar, مصدر
شكرا على المساعدة
وأضاف المؤلف Amey Bhatkar, مصدر
أحصل على جميع قائمة البرامج مع مسار التثبيت والإصدار.
وأضاف المؤلف Amey Bhatkar, مصدر
الآن أريد أن أقوم بتصفية الإصدارات المختلفة من Adobe Flash حيث أحتاج إلى تجنب Flash Player وتحتاج أيضًا إلى دعم الإصدار القادم بما في ذلك الحالي ، هل يمكنك أن تعطيني بعض التفكير في هذا الأمر.
وأضاف المؤلف Amey Bhatkar, مصدر
مهلا أنا حل هذا لأقوم بتصفية لهم بالاسم Adobe Flash Professional حيث ندعم فقط Adobe Flash Professional cs5 و cs4 و cs3 وإذا كان في المستقبل سيكون cs6 :)
وأضاف المؤلف Amey Bhatkar, مصدر
على الرحب و السعة! هل تمكنت أخيراً من اكتشاف الإصدارات المختلفة من Flash؟
وأضاف المؤلف Andrei Bârsan, مصدر
يمكنك دائمًا استخدام تعبير عادي ليكون دليلاً في المستقبل! : D Regex expression = new Regex (@ "adobe flash professional cs \ d + (\. \ d +)؟"، RegexOptions.IgnoreCase)؛ ثم فقط تحقق من الاسم باستخدام إذا (التعبير .IsMatch (الاسم)) {...
وأضاف المؤلف Andrei Bârsan, مصدر