برنامه نویسی اصولی که به اینجا ربطی نداره!!
همون طور که bermooda گفتند خود پروژه ستاب vs برای شما میتونه اینکارو انجام بده ولی من کلیدهای دقیق رجیستریش هم میگم چون فکر نکنم ستاب برای اضافه کردن یک کلیک راست روی فایل x هم گزینه ای داشته باشه یا من ندیدم. با این حال اینها موضوعات پیچیده ای نیست. در ضمن موضوعات وارد کردن کلید در رجیستری و .. هم بحثی است که اگر سرچ کنید قبلا دوستان کلاسهایی رو قرار دادند. (البته خود دات نت هم توابعی داره ولی یکم زمان بر است. البته کلاسها هم معمولا از همانها استفاده میکنند)
به طور دقیق:
برای اضافه کردن یک گزینه در کلیک-راست ویندوز روی هر فایلی
در ادرس زیر در رجیستری یک کلید بسازید:
HKEY_CLASSES_ROOT\*\shell\
نام کلید را مهم نیست ولی مقدار پیش فرض کلید را نوشته ای بگذارید که میخواهید در زمان کلیک-راست روی فایلها دیده بشود. مثلا Encrypt
سپس یک کلید دیگر در زیر کلید قبلی بسازید به نام command و مقدار پیش فرض آن را به ادرس برنامه با ارگمون مذکور ست کنید مثلا:
"C:\Program Files\ENCSTUDIO\MYPROG.EXE" /enc "%L
"
دقت کنید که بخش "%L" نام فایل هست که به فایل اجرایی شما ارسال میشه.
برای ساخت یک فرمت جدید
پسوند مد نظرتون را در کلید اصلی HKEY_CLASSES_ROOT به صورت ".نام فایل" بسازید. برای مثال:
مقادیری از جمله Content Type از نوع String وجود دارند برای مشخص کردن نوع فایل که میتونید بنوبیسید.
کلید DefaultIcon هم میتونید زیر مجموعه کلید قبلی بسازید و مقدار پیش فرضش رو به ایکون مورد نظرتون ارجاع بدید.
زیر کلید shell هم باید بسازید و مانند موضوع قبلی آن را گسترش بدهید.
در ضمن مقدار پیش فرض زیر کلید اصلی (. اسم فایل) که ساختید هم میتواند اشاره به یک زیر کلید دیگر در همان HKEY_CLASSES_ROOT باشد برای مثال مقدار پیشفرض ENCFile باشد و سایر تنظیمات در ادرس:
HKEY_CLASSES_ROOT\ENCFile
باشد. که البته این موضوع برای گرد اوری همه تنظیمات در یک مکان در صورت وجود چندین فرمت با تنظیمات یکسان استفاده میشود.
برای اضافه کردن راست کلید روی یک فرمت مشخص هم میتونید از روش اضافه کردن راست کلیک در بخش اول برای سایر فرمت ها استفاده کنید.
برای همه این کارها و بعلاوه دینامیک شدن تمام اینها مکیشه تنظیمات یک فرمت رو به یک dll ارجاء داد که یکم حرفه ای میشه و باید حتما C++ را به حد کمال بدونید.