واضح آرشیو وب فارسی:سایت ریسک: View Full Version : ساخت یه شاخه توی ریجستری mohsen_329-07-2009, 11:25 AMمن یه برنامه ساختم که می خوام مثل برنامه های دیگه با یه کلیک روی فایل های که با اون برنامه ایجاد شده توسط برنامه خونده بشه مثل همه ی برنامه های دیگه و دیگه مجبور نباشم برنامه رو اجرا کنم و بعد اون فایل رو Open کنم چطوری می تونم اینکارو بکنم ؟ C# _H2_29-07-2009, 12:47 PMسلام به تاپیک زیر مراجعه کنید: 201439 mohsen_329-07-2009, 05:06 PMممنون کارم تا حدی راه افتاد ولی چه طوری باید بگم که فایل با برنامه من اجرا بشه نه Calclutor توی این مثال Microsoft.Win32.Registry.SetValue("HKEY_CLASSES_ROOT.ali", "", "aliclassname") Microsoft.Win32.Registry.SetValue("HKEY_CLASSES_ROOTaliclassnameshell ewmenu", "", "منوی جدید") Microsoft.Win32.Registry.SetValue("HKEY_CLASSES_ROOTaliclassnameshell ewmenucomma nd", "", "calc.exe") mahdi7s29-07-2009, 07:01 PMسلام در کد زیر بجای calc نام برنامه خودتونو بذارید. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. mohsen_329-07-2009, 07:04 PMاینو که خودم می دونم خوب نام برنامه یا ادرس ش ؟ باید برنامه رو با اینستالر نصب کرد ؟ mahdi7s29-07-2009, 07:15 PMاگه برنامه توی system32 هست فقط نام و در غیر اینصورت آدرس... mahdi7s29-07-2009, 10:54 PMسلام این هم یک سمپل ساده که باهاش می تونید به راحتی واسه برنامه تون راست کلیک در ست کنید. (به کد های متد Install در کلاس InstallRightclick توجه کنید.) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید. mohsen_330-07-2009, 10:41 AMاین مثالتون مورد داره که بعد از اینکه تنظیماتو انجام می دم می رم اون فایل رو اجرا کنم می گه Access is Denied pishi001430-07-2009, 10:58 AMیه راه قشنگ : شما از برنامت یه SETUP که میسازی میتونی براش File Acosoation (یه همچین چیزی :دی) بذاری که مثلا فایلای *.rmb با برنامه ی شما باز شه mohsen_330-07-2009, 12:10 PMواقعا راه به این قشنگی ندیده بودم خیلی حال کردم mohsen_330-07-2009, 12:49 PMیه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟ pishi001430-07-2009, 05:58 PMتو کلاس Program تو پرانتز ها میتونی اینو بذاری char[] args بعد آدرس فایل های اجرا شده میرن تو این ببخشید من ویژوال استودیو ندارم نمیتونم تست کنم !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! mohsen_330-07-2009, 06:41 PMنه منظورم رو متوجه نشدید ببینید من می خوام ادرس اون فایلی رو روش کلیک می کنم و برنامه اجرا می شه رو یه جوری بگیرم و از روی ادرسش اون فایل رو بخونم پیشی جون خیلی ممنون mahdi7s30-07-2009, 06:47 PMبرنامه یه مشکل خیلی کوچیک داشت . اگر واقعا برنامه نویسید که با کمی بررسی خودتان حل می شد و در غیر اینصورت اینجا... !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! mohsen_330-07-2009, 06:55 PMشما فکر کن من برنامه نویس نیستم ولی شما که هستی چرا مشکلو حل نکردی (درست نشده) در ضمن مشکل من تقریبا حل شد از این راه حلی که Pishi گفت ولی فقط ادرس فایل رو می خوام mahdi7s30-07-2009, 08:08 PMشما که هستی من همچین ادعایی نکردم:13: چرا مشکلو حل نکردی (درست نشده) برنامه ی من مشکلی نداره.اینو میگم چون روی 2 تا رایانه بجز رایانه ی خودم(نهایتا میشه 3 تا!) تست شد همین الان. فقط ادرس فایل رو می خوام لطفا سوال رو واضح تر بپرسید. mahdi7s30-07-2009, 09:10 PMیه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟ من این پست رو ندیده بودم... می تونید از این کد استفاده کنید : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! که مقدار extension و RightclickMenuName رو واسه خودتون تغییر میدید و نهایتا ProgramPath حاوی آدرس برنامه خواهد بود. موفق باشید. _H2_30-07-2009, 10:22 PMسلام همانطور که pishi0014 گفتند خود setup سازها امکاناتی برای ثبت یک پسوند به نام برنامه دارند که میتوانید آن را تحت نام File Types Editor در برنامه setup ساز msi داخلی خود VS هم پیدا کنید. اما مشکل دوم که گفتید: یه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟ عجیب است!! برای انکه همچنان جواب pishi0014 در پست 12 صحیح بوده! تست کردید؟ کاربر pishi0014 یکی از راحت ترین روشها را در پست 12 گفتند که مثلاً نمونه کد کاملترش چنین خواهد بود: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! نام های فایلها امکان دارد با یک جفت کتیشن ارسال شوند (معمولاً فاصله دارها) دستور فوق ضمن حذف آن کتیشن، کل آرگومان های ورودی را هم سرچ میکند... البته اگر چندین فایل با برنامه شما همزمان بازشوند همه به ترتیت در آرایه خواهند بود، که دیگر خودتان با کمی دستور اضافه میتوانید حلش کنید. (کد فوق مهم نیست و همینطوری نوشتم، مهم ان است که نام فایل در آرایه آرگومانم ها است و شما باید استخراجش کنید.) موفق باشید. mohsen_330-07-2009, 10:53 PMهر کاری کردم نشد این Args همش null هست که یکی از فایل های برنامه رو اجرا کردم بازم null بود اها فهمیدم مشکلش چیه اینجاش درسته ؟ http://akspic.com/pictures/751bdcf76a 43f3340b 11f1d 2fb 7db 545.jpg مشکل از همینه http://akspic.com/pictures/086bd 5cc704c5303cca 06452b 2d 61ae1.jpg (http://akspic.com) اول با تنظیماتی که توسط VS انجام شده بود فایل با اون برنامه ه اجرا می شد در اصل برنامه خودم رو اجرا می کرد ولی نمی دونم مشکلش چیه ولی وقتی که فایل رو دستی با برنامه خودم باز کردم درست کار کرد _H2_30-07-2009, 11:13 PMسلام این Args همش null هست که یکی از فایل های برنامه رو اجرا کردم بازم null بود پس صدردصد ایراد در ثبت پسوند برای برنامه شما است! چطور انجامش دادید؟ از File Types Editorدر msi استفاده کردید؟ یک آرگومان "1%" باید پس از نام فایل exe شما در رجیستری وجود داشته باشد! "calc.exe "%1 این مسئله را بررسی کنید. pishi001430-07-2009, 11:15 PMشما از تو properties پروژه ات برو به قسمت Debugger (یه همچین جایی) بعد یه جا نوشته command توش آدرس فایلتو بذار بعد برنامه را اجرا کن ببین باز هم null است؟ mohsen_330-07-2009, 11:21 PMاها فهمیدم مشکلش چیه اینجاش درسته ؟ http://akspic.com/pictures/751bdcf76a 43f3340b 11f1d 2fb 7db 545.jpg مشکل از همینه http://akspic.com/pictures/086bd 5cc704c5303cca 06452b 2d 61ae1.jpg (http://akspic.com) اول با تنظیماتی که توسط VS انجام شده بود فایل با اون برنامه ه اجرا می شد در اصل برنامه خودم رو اجرا می کرد ولی نمی دونم مشکلش چیه ولی وقتی که فایل رو دستی با برنامه خودم باز کردم درست کار کرد _H2_31-07-2009, 01:17 AMسلام شما از ویزاد انتشار استفاده کرده اید و این چندان روش مرسوم و استانداردی نیست. به جایش برای برنامه خودتان یک Setup رسمی درست کنید ... پروژه Setup گزینه های تنظیمی بیشتر و دلخواه تری را در اختیار شما قرار میدهد و نتیجه اش بهتر است ... Other Project Types->Setup and Deployment->Setup Project 1) سپس به تنظیمات بروید ... Project->Properties->Prerequisites پیش نیازهایی که باید برای برنامه تان نصب شود را انتخاب کرده و تیک بزنید ... مثلاً Installer3.1 یا Framework2.0 یا SQLServer Express یا Crystall و... سه تا دکمه رادیویی در انتهای دیالوگ وجوئد دارد که باید در وضعیت وسط قرار داده شود. 2) از Solution Explorer گزینه File System Editor را انتخاب کرده و فایلهای exe و ico و mdf و mdb و dll و... که باید کپی شود را به Application Folder اضافه کنید. میتوانید Shortcut هایی هم برای Desktop و StartMenu تآیین کنید. 3) از Solution Explorer گزینه File Types Editor را انتخاب کرده. با راست کلیک میتوانید موارد جدید را اضافه کنید و در پنجره کوچک Properties گزینه های مختلف مثل پسوند و آیکون و آرگومان و... را تنظیم کنید. میتوانید انواع منوهای دیگر را هم اضافه کنید مثلاً Open و Edit و Print و... این ابزار بسیار قدرتمند و منعطف است ... میتوانید تنظیماتی هم برای رجیستری تایین کنید و یا اعمال خاص و ویژه ای برای حین Install و Uninstall با کدهای VbScript و یا کدهای مدیریت شده دات نتی تایین کنید و... پیشنهاد میکنم به عنوان یک روال روتین سعی کنید همواره در کنار پروزه اصلی یک پروژه Setup مخصوص ان پروژه هم داشته باشید تا تضمینی باشد بر نصب آسان و انتشار برنامهدر سایر رایانه ها. (البته برای ساخت این پروژه هم میتوانید از ویزاد استفاده کنید.) سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 308]