المساعد الشخصي الرقمي

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


محمد بن أحمد أبو حذيفة
06-09-2011, 08:48 AM
اريد مساعدة عاجلة ان امكن

صممت اسطوانة واريدها عند الاقلاع

تثبت برنامج او اكثر في حالة عدم توفرها الجهاز اما ان كان موجود تتجاهل الامر

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



مثل هذا البرنامج flashplayer_10_ax_debug لا يظهر في C:\Program Files فكيف يتم الكشف عنه عند اقلاع الاسطوانة وتثبيت ان عدم وجوده وتجاهله ان وجد

محمد بن أحمد أبو حذيفة
06-09-2011, 09:43 AM
استعملت هذا الكود لكنه لم ينجح


if File.Find("C:\\Program Files\\adobe\reader 10.0", "adobereader.exe", false, false, nil, nil) then
-- ?C EEEE C?E??C??
else File.Open("AutoPlay\\Docs\\AdbeRdr1010_fr_FR", "", SW_SHOWNORMAL);

end

azizsoft
06-09-2011, 05:22 PM
بسم الله الرحمان الرحيم

بسيطة جدا العملية ولا تحاتج الى أي كود أو تعقيد واليك أخي الكريم الطريقة:

مطوري برنامج الأتوبلاي اهتموا بهاته المسألة ووضعوا قائمة لكل البرامج
الهامة التي يحتاجها البرنامج وتجد القائمة بالضغط على التبويب projects ثم
dependencies وكل ما عليك أخي " محمد " التأشير على برنامج أو أكثر ان شئت
لاشعار المستخدم بأهمية وجود هاته البرامج وستظهر عند الاقلاع " نافذة " تنبه المستخدم بهذا
الأمر . ومن التبويب " dialog " تستطيع تغيير عنوان الرسالة " windows title " الى أي عنوان
ملائم حسب رغبتك وكذلك تستطيع وضع رسالة في نافذة " message " ولك أن تغير في كل خصائص
الــ dialog ثم الضغط على ok . تستطيع أن تقوم بتجربة مثلا التأشير على برنامج غير منصب بجهازك
ووضع رسالة معينة ثم اضغط F5 .

بالتوفيق ان شاء الله .

محمد بن أحمد أبو حذيفة
06-09-2011, 05:27 PM
بارك الله فيك ’ جزاك الله خيرا

هذه الطريقة اعرفها لكن لا تطيك خيار تثبيت البرنامج من جهازك بل من الانترنت والاسطوانة التي اعمل عليها موجه لم له انترنت ومن ليس له انترنت

فهل من اكواد

azizsoft
06-09-2011, 05:58 PM
بارك الله فيك ’ جزاك الله خيرا

هذه الطريقة اعرفها لكن لا تعطيك خيار تثبيت البرنامج من جهازك بل من الانترنت والاسطوانة التي اعمل عليها موجه لم له انترنت ومن ليس له انترنت

فهل من اكواد



يا أخي محمد مطوري البرنامج سبق أن فكروا في سؤال " أبو حذيفة " وقالوا لك
أن هاته الطريقة تعطي أيضا خيار تثبيت البرنامج من الجهاز .
اذن وصلنا الى العنصر dialog وقلنا انك تستطيع ادراج رسالة وعنوان
الان فعل خيار show help button ... في نافذة abort button text
اكتب خروج وفي نافذة continue button text اكتب واصل بدون تثبيت البرنامج
وفي نافذة help button text اكتب تثبيت البرنامج ومن نافذة help button link
تجد الخيارين :abc_051: :abc_051: اضغط الان على browse وحدد البرنامج الذي تريده
من جهازك ياطيب ثم ok.

بالتوفيق ان شاء الله

النصل القاطع
06-09-2011, 06:04 PM
هذا الكود يحل المشكل
adobe = File.DoesExist("C:\\Program Files\\Adobe\Reader 10.0\\Reader\\Adobe Reader ?.exe")
if not adobe then
Dialog.Message("no", "Adobe Reader ? dose not exist ..", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
File.Run("AutoPlay\\Docs\\AdbeRdr1010_fr_FR.exe", "", "", SW_SHOWNORMAL, true);
else
Dialog.Message("ok", "Adobe Reader ? exist.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
en
و ضع مكان علامات الإستفهام الإصدار الصحيح

محمد بن أحمد أبو حذيفة
06-09-2011, 06:55 PM
يا أخي محمد مطوري البرنامج سبق أن فكروا في سؤال " أبو حذيفة " وقالوا لك
أن هاته الطريقة تعطي أيضا خيار تثبيت البرنامج من الجهاز .
اذن وصلنا الى العنصر dialog وقلنا انك تستطيع ادراج رسالة وعنوان
الان فعل خيار show help button ... في نافذة abort button text
اكتب خروج وفي نافذة continue button text اكتب واصل بدون تثبيت البرنامج
وفي نافذة help button text اكتب تثبيت البرنامج ومن نافذة help button link
تجد الخيارين :abc_051: :abc_051: اضغط الان على browse وحدد البرنامج الذي تريده
من جهازك ياطيب ثم ok.

بالتوفيق ان شاء الله




كذلك هذه اعرفها لكن عند الضغط على

browse

ياخذ البرنامج الذي تحدده لك البرامج ولا يمكن تحديد لكل برنامج ماتريده

azizsoft
06-09-2011, 07:00 PM
هذا الكود يحل المشكل
adobe = File.DoesExist("C:\Program Files\Adobe\Reader 10.0\Reader\\Adobe Reader ?.exe")
if not adobe then
Dialog.Message("no", "Adobe Reader ? dose not exist ..", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
File.Run("AutoPlay\\Docs\\AdbeRdr1010_fr_FR.exe", "", "", SW_SHOWNORMAL, true);
else
Dialog.Message("ok", "Adobe Reader ? exist.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
en
و ضع مكان علامات الإستفهام الإصدار الصحيح


عفوا أخي الكريم هذا الكود لايحل المشكل :abc_022: لمذا ؟؟؟؟
1/ اذا كان نظام التشغيل مثلا منصب بمسار مغاير لـــ c وهنا يجب تصحيح المسار
ليتم التعرف على النظام بأي مسار ولاحظ هنا السطر الأول من الكود الذي أدرجته
("C:\Program Files\Adobe\Reader 10.0\Reader\\Adobe Reader ?.exe")
2/ هذا الكود يخص برنامج واحد ؟؟؟ اذا اردنا تنبيه المستخدم لعدة برامج ماالعمل ؟؟؟

محمد بن أحمد أبو حذيفة
06-09-2011, 07:01 PM
هذا الكود يحل المشكل
adobe = file.doesexist("c:\program files\adobe\reader 10.0\reader\\adobe reader ?.exe")
if not adobe then
dialog.message("no", "adobe reader ? Dose not exist ..", mb_ok, mb_iconinformation, mb_defbutton1);
file.run("autoplay\\docs\\adberdr1010_fr_fr.exe", "", "", sw_shownormal, true);
else
dialog.message("ok", "adobe reader ? Exist.", mb_ok, mb_iconinformation, mb_defbutton1);
enو ضع مكان علامات الإستفهام الإصدار الصحيح



الكود يكتشف عدم وجود البنرامج لكن يبقى يخبرك بعدم بوجود البرنامج حتى بعد تثبته

النصل القاطع
06-09-2011, 07:08 PM
ثبت البرنامج يدويا أولا
إذهب للمسار
c:\program files\adobe\reader 10.0\reader\adobe reader ?.exe

قم بعمل كوبى لإسم الملف الصحيح و أضف له نقطة ثم exe ليحل الكلمة المكتوبة بالأحمر
هذا هو الإسم هو الذى ستبحث عنه فعلا و ليس المذكور بالمثال
و لو كان المسار مختلف عندك فقم بتصحيح المسار فى الكود
مع مراعاة ان \ فى المسار تتحول الى \\ فى الكود
و الكود كان به خطأ بسيط و تم تصحيحه
adobe = file.doesexist("c:\\program files\\adobe\\reader 10.0\\reader\\adobe reader ?.exe")
if not adobe then
dialog.message("no", "adobe reader ? Dose not exist ..", mb_ok, mb_iconinformation, mb_defbutton1);
file.run("autoplay\\docs\\adberdr1010_fr_fr.exe", "", "", sw_shownormal, true);
else
dialog.message("ok", "adobe reader ? Exist.", mb_ok, mb_iconinformation, mb_defbutton1);
en

محمد بن أحمد أبو حذيفة
06-09-2011, 07:12 PM
اتقصد هذا

adobe = File.DoesExist("C:\Program Files\Adobe\Reader 10.0\Reader\\Adobe Reader 10.exe")
if not adobe then
Dialog.Message("no", "Adobe Reader 10 dose not exist ..", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
File.Run("AutoPlay\\Docs\\AdbeRdr1010_fr_FR.exe", "", "", SW_SHOWNORMAL, true);
else
Dialog.Message("ok", "Adobe Reader 10 exist.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end

النصل القاطع
06-09-2011, 07:18 PM
راجع مشاركتى السابقة فبها تعديل
و لو كنت وضعت اسم البرنامج الصحيح الماخوذ من program files فسيعمل بدون مشاكل

النصل القاطع
06-09-2011, 07:22 PM
اخى عزيز
السائل يريد كود الكشف عن تثبيت برنامج ثم تثبيته
فقط لعدم التعقيد لم أشأ ان أكتبه بالصيغة العامة فهى خارج نطاق سؤاله

و بالنسبة لو اراد ان يثبت اكثر من برنامج
فلا اعتقد ان الكود سيعترض حتى لو تم تكراره 100 مرة
:abc_152:

محمد بن أحمد أبو حذيفة
06-09-2011, 07:31 PM
الصورة مرفقة

http://www.abc4web.net/vb/attachment.php?attachmentid=1591&d=1315330188

azizsoft
06-09-2011, 07:47 PM
كذلك هذه اعرفها لكن عند الضغط على

browse

ياخذ البرنامج الذي تحدده لك البرامج ولا يمكن تحديد لكل برنامج ماتريده




أخي محمد بداية يجب أن نتفق على أن كل البرامج التي يحتاجها برنامج الأتوبلاي
مدرجة بنافذة dependecies كما لاحظت واعتقد أنه لاداعي مثلا لبرنامج آخر

ثانيا : ضع البرامج التي تريدها كلها بمجلد بالمسار التالي :
AutoPlay Media Studio 8\Projects\My Project\CD_Root\AutoPlay\Docs
وقم طبعا بالتأشير عليها بقائمة البرامج وعند الضغط على browse
حدد مسار المجلد .

أظن أن الطريقة سهلة جدا وسبق أن اعتمدتها وبالتالي يتمكن المستخدم من تنصيب البرنامج أو البرامج
في صورة عدم التحقق من وجودها بالجهاز بخاصية dependecies .

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

محمد بن أحمد أبو حذيفة
06-09-2011, 08:04 PM
بارك الله فيك ’ جزاك الله خيرا

اذن الطريقة

هي فتح المجلد والمستخدم يتولى التثبيت اليدوي اليس كذلك

azizsoft
06-09-2011, 08:18 PM
بالضبط أخي محمد هذه هي الطريقة

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

azizsoft
06-09-2011, 08:50 PM
اخى عزيز
السائل يريد كود الكشف عن تثبيت برنامج ثم تثبيته
فقط لعدم التعقيد لم أشأ ان أكتبه بالصيغة العامة فهى خارج نطاق سؤاله

و بالنسبة لو اراد ان يثبت اكثر من برنامج
فلا اعتقد ان الكود سيعترض حتى لو تم تكراره 100 مرة
:abc_152:


مرحبا أخي النصل القاطع

أوكد لك أنه لا تجود أي طريقة في هذا الموضوع أفضل من dependecies
ولك أن تلقى نظرة هنا لمعرفة بعض المعطيات .

http://www.indigorose.com/webhelp/suf80/Users_Guide/Chapter_9_Dependencies.htm

محمد بن أحمد أبو حذيفة
06-09-2011, 09:02 PM
بارك الله فيك ’ جزاك الله خيرا

ننتظر الشرح اخي عزيز

محمد بن أحمد أبو حذيفة
07-09-2011, 10:38 PM
ثانيا : ضع البرامج التي تريدها كلها بمجلد بالمسار التالي :
AutoPlay Media Studio 8\Projects\My Project\CD_Root\AutoPlay\Docs
وقم طبعا بالتأشير عليها بقائمة البرامج وعند الضغط على browse
حدد مسار المجلد .







اظن انه لا يمكن استخدام هذا المسار لانه سيتغير فيما بعد

اما اذا اخذنا

AutoPlay\Docs


فانه لا يتغير

ثامر أبو بلقيس
14-10-2016, 02:47 PM
موفق بإذن الله ... لك مني أجمل تحية .