كيف تعمل Open with في Windows. ؟؟

حقاً أنا لا أفهم كيف يحدث هذا, عندما نضغط RightClick علي أي ملف ونفوم مثلا بإختيار Open with

وبعدها نختار علي سبيل المثال Windows media player.

كيف يعرف Windwos media player أن عليه تشغيل هذا الملف وكيف يعرف مساره؟؟؟

شكراً مقدماً

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يستعمل ما يسمى registry

جميع امتدادت الملفات مع البرامج التي تشغلها موجودة كقيم في registry windows وopen with يقرأ تلك القيم

أعرف هذا.

ما أقصده كيف يعرف البرنامج أن علية تشغيل ملف معين انطلاق من الحدث Load الخاص به

megasoft أضف ردا

اظن تستعمل args الموجودة في باراماتر function main

تتحقق من المدخلات اذا كانت ملفات

AhmedSalahAssar أضف ردا

لإضافة البرنامج لقائمة Open With

فهذه قيمة في الرجيستري


كيف يعرف البرنامج مسار الملف ؟

فهذه سهلة هناك شيء مثلاً في VB.net .. تضع كود في ال onload الخاص بالبرنامج

مثل :-

My.Application.CommandLineArgs(0)

هذا يقوم بإرجاع مسار البرنامج إذا قام المستخدم بسحب الملف

لأيقونة البرنامج أو الOpen With أو حتي لو جعل برنامجك الافتراضي

لامتداد معين سوف يرجع قيمة مسار الملف و إذا لم يكن لن يرجع شيء

samer_jabal أضف ردا

لكن كيف نضيف برنامجنا إلى تلك الجداول؟؟

@AhmedSalahAssar

ممكن تشوف هذا المقال :

عندما تختار Windows media player سيقوم نظام التشغيل بتشغيل برنامج Windows media player ويمرر له اسم الملف الذي اخترته...

وفي داخل برنامج Windows media player تكون هناك دالة تقوم بقراءة اسم الملف وثم يقوم بتشغيله...

وكيف يعرف مساره؟؟

بسيطة البرنامج يستعمل دالة GetCommandLine لكي يحصل على مسار الملف الذي اخترته...

شكرأ لك, سأقوم بالتجربة قريبا