PDA

View Full Version : سوال: اضافه کردن یک عمل جدید به راست کلیک ویندوز



ttvd94
سه شنبه 20 آبان 1393, 13:53 عصر
هر جا رو گشتم آموزشی برای اضافه کردن عمل جدید به راست کلیک نبود و فقط روش اضافه کردن SHORTCUT برنامه‌ها رو آموزش داده بودن.

می‌خوام یک برنامه بنویسم ﴿ترجیحا با C#﴾ و اونو به منوی راست کلیک ویندوز اضافه کنم. مثل همون کاری که آنتی ویروس‌ها انجام میدن و میشه با راست کلیک روی فایل، اونو اسکن کرد.
برنامم قراره آدرس فایل راست کلیک شده رو بگیره و کاری مثل کپی انجام بده.

En_MK
سه شنبه 20 آبان 1393, 18:21 عصر
سلام
شاید یه ایده بده برای کدنویسی
اینجا ویزاردی گفته
نمونه اول (http://www.howtogeek.com/howto/windows-vista/add-any-application-to-the-desktop-right-click-menu-in-vista/)
نمونه دوم (http://www.askvg.com/add-cascading-menus-for-your-favorite-programs-in-windows-7-desktop-context-menu/)

rasoolf
سه شنبه 20 آبان 1393, 22:09 عصر
هر جا رو گشتم آموزشی برای اضافه کردن عمل جدید به راست کلیک نبود و فقط روش اضافه کردن SHORTCUT برنامه‌ها رو آموزش داده بودن.

می‌خوام یک برنامه بنویسم ﴿ترجیحا با C#‎‎‎‎﴾ و اونو به منوی راست کلیک ویندوز اضافه کنم. مثل همون کاری که آنتی ویروس‌ها انجام میدن و میشه با راست کلیک روی فایل، اونو اسکن کرد.
برنامم قراره آدرس فایل راست کلیک شده رو بگیره و کاری مثل کپی انجام بده.


سلام، یه نمونه کد برای اتصال به رجیستری و نوشتن در اون که باعث میشه کلمه notepad به راست کلیک اضافه شه و با کلیک روی اون برنامه notepad اجرا میشه. فقط بدیش اینه که برنامه حتماً باید run as administrator اجرا بشه.




string root = "DesktopBackground\\Shell\\";

RegistryKey rKey = Registry.ClassesRoot.OpenSubKey(root, true);
rKey = rKey.CreateSubKey("NotePad");
rKey.SetValue("", "&NotePad");
rKey=rKey.CreateSubKey("command");
rKey.SetValue("", "C:\\Windows\\System32\\notepad.exe");

سوداگر
پنج شنبه 22 آبان 1393, 23:52 عصر
گشتم. نبود. نگرد. نیست :لبخند:
این کار با shell extension ها انجام میشه و ابداْ با رجیستری و به سادگی که فکر میکنید قابل انجام نیست...
نمونه: http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus

rasoolf
جمعه 23 آبان 1393, 15:19 عصر
گشتم. نبود. نگرد. نیست :لبخند:
این کار با shell extension ها انجام میشه و ابداْ با رجیستری و به سادگی که فکر میکنید قابل انجام نیست...
نمونه: http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus

بنده خودم انجام دادم جواب داد شما هم انجام بده جواب میگیری
قطعا برای هرکاری راه حل های متفاوت وجود داره و انسان نیز بسته به نیاز خودش تشخیص میده که کدوم راه حل مناسب تره
در کل از راهنمایی شما متشکرم.

سوداگر
جمعه 23 آبان 1393, 23:21 عصر
بنده خودم انجام دادم جواب داد شما هم انجام بده جواب میگیری
قطعا برای هرکاری راه حل های متفاوت وجود داره و انسان نیز بسته به نیاز خودش تشخیص میده که کدوم راه حل مناسب تره
در کل از راهنمایی شما متشکرم.

با رجیستری نمیشه... اگه امکانش هست یه نمونه آپلود کنید یه نگاه بندازم چون این سوال 6-7 ماه پیش خودم بود به shell extension رسیدم. جواب آقای موسوی مدیر تالار هم همین بود...

rasoolf
شنبه 24 آبان 1393, 14:54 عصر
با رجیستری نمیشه... اگه امکانش هست یه نمونه آپلود کنید یه نگاه بندازم چون این سوال 6-7 ماه پیش خودم بود به shell extension رسیدم. جواب آقای موسوی مدیر تالار هم همین بود...

سلام
قطعا شما باتجربه تر از بنده هستید و تست کردید ولی اگه دقت کرده باشید من گفته بودم که برنامه در حالت run as administrator باید اجرا بشه

همون تکه کدی که خدمتتون بالا نوشتم را داخل visual studio وارد کنید جواب میگیرید البته حتما برنامه را در حالت Run as Administrator اجرا کنید تا بهتون اجازه نوشتن در رجیستری را بده باتشکر