PDA

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



HOSSEINONLINE7
جمعه 04 مرداد 1392, 16:16 عصر
سلام دوستان من میخوام به منوی راست کلیک ویندوز در جاهای مختلف دسترسی پیدا کنم مثلا وقتی که روی فایل ها راست کلیک میشه یک آیتم توی اون منو نشان داده بشه و بعضی مواقع هم در حالت های مختلف آیتم من غیر فعال باشه و خلاصه در جاهای مختلف بتونم از منوی راست کلیک استفاده کنم و کاربر بتونه آیتم برنامه ی من را ببینه و استفاده کنه .

لطفا راهنمایی بفرمایید .
تشکر

abdullah20
جمعه 04 مرداد 1392, 17:02 عصر
میخواید نام برنامه متون مثلا در منوی راست کلیک پوشه ها باشه و وقتی روش کلیک کردید برنامتون اجرا بشه؟

aliagamon
جمعه 04 مرداد 1392, 17:42 عصر
از طریق ریجستری میشه اضافه کرد که روی فایل یا فولدر کلیک میکنه یه ایتم به اسم برنامه شما باشه:چشمک:

abdullah20
جمعه 04 مرداد 1392, 18:57 عصر
با کد زیر میتونید اسم برنامه را به منوی راست کلیک پوشه ها اضافه کنید :

RegistryKey regf = Registry.ClassesRoot.OpenSubKey(@"Directory\shell", true);
string MenuNamef = "Directory\\shell\\program_name";
string Commandf = "Directory\\shell\\program_name\\command";
RegistryKey regmenuf = null;
RegistryKey regcmdf = null;
regmenuf = Registry.ClassesRoot.CreateSubKey(MenuNamef);
regcmdf = Registry.ClassesRoot.CreateSubKey(Commandf);
if (regmenuf != null)
regmenuf.SetValue("", "program_name");
regmenuf.SetValue("Icon", Application.StartupPath + "\\a.ico");
if (regcmdf != null)
regcmdf.SetValue("", Application.StartupPath + "\\program_name.exe");

09178525592
جمعه 04 مرداد 1392, 20:04 عصر
با کد زیر میتونید اسم برنامه را به منوی راست کلیک پوشه ها اضافه کنید :

RegistryKey regf = Registry.ClassesRoot.OpenSubKey(@"Directory\shell", true);
string MenuNamef = "Directory\\shell\\program_name";
string Commandf = "Directory\\shell\\program_name\\command";
RegistryKey regmenuf = null;
RegistryKey regcmdf = null;
regmenuf = Registry.ClassesRoot.CreateSubKey(MenuNamef);
regcmdf = Registry.ClassesRoot.CreateSubKey(Commandf);
if (regmenuf != null)
regmenuf.SetValue("", "program_name");
regmenuf.SetValue("Icon", Application.StartupPath + "\\a.ico");
if (regcmdf != null)
regcmdf.SetValue("", Application.StartupPath + "\\program_name.exe");


ببخشید این کد کجای برنامه باید اضافه بشه؟

hojjatshariffam
جمعه 04 مرداد 1392, 20:20 عصر
ببخشید این کد کجای برنامه باید اضافه بشه؟
باید یه جایی از برنامه اضافه کنی که اون موقع می خوای اضافه شدن به منو انجام بشه
یا باید در موقع نصب این کار رو بکنی، یا اینکه در تنظیمات برنامت بزاری و یا اینکه مثل در موقع اجرای برنامت چک کنی که اگه این کلید در رجیستری وجود نداشت اضافه کنه
هر جور که خودت نیازته باید عمل کنی

HOSSEINONLINE7
شنبه 05 مرداد 1392, 00:15 صبح
با کد زیر میتونید اسم برنامه را به منوی راست کلیک پوشه ها اضافه کنید :

RegistryKey regf = Registry.ClassesRoot.OpenSubKey(@"Directory\shell", true);
string MenuNamef = "Directory\\shell\\program_name";
string Commandf = "Directory\\shell\\program_name\\command";
RegistryKey regmenuf = null;
RegistryKey regcmdf = null;
regmenuf = Registry.ClassesRoot.CreateSubKey(MenuNamef);
regcmdf = Registry.ClassesRoot.CreateSubKey(Commandf);
if (regmenuf != null)
regmenuf.SetValue("", "program_name");
regmenuf.SetValue("Icon", Application.StartupPath + "\\a.ico");
if (regcmdf != null)
regcmdf.SetValue("", Application.StartupPath + "\\program_name.exe");

ممنون . من میخوام وقتی که کاربر روی فایلی کلیک راست کرد یک منوی paste سفارشی داشته باشم و لیست داده هایی که توی برنامه ی من هست به اون منو اضافه بشه و بتونه هر آیتمی که خواست را انتخاب کنه تا paste بشه .