مشاهده نسخه کامل
: با کلیک روی یه فایل برنامه اجر ا بشه
rezapassword
11-02-2008, 11:50
سلام اساتید میدونم خیلی زحمتتون دادم ببخشید به بزر گ خودتون
اقا میخوام کاری کنم که وقتی ر وی یه فایل مثلا Mp3 کلیک شد برنامه اجرا بشه و بخونش
اینم سوال دوم:
چه طور کاری کنم که تو ر است کلیک هم مثل بالا بر نامه عمل کنه مثل جت ادیو
ممنون
از زحماتتون:11:
rezapassword
13-02-2008, 09:03
دوستان لطفا سر یع تر کمکم کنید
لازم دارم
سلام
برای اینکار باید تغییراتی در Registry ویندوز اعمال کنید، الآن دیگر وقت ندارم، سعی میکنم تا عصر مطالب تایپ کنم و برایتان بگذارم.
سلام
هر پسوند و فرمت فایلی یک کلید در ریشه HKROOT رجیستری به نام خود دارد
مثلاً برای نمونه به مسیر زیر بروید:
HKEY_CLASSES_ROOT\.bmp
در همان ریشه کلید مقداری با نام (Default) وجود دارد که در مورد رایانه من مقدارش Paint.Picture است و میتواند در هر رایانه هر مقداری باشد !
ولی نکته مهم آن است که این مقدار مثل یک نوع ShortCut است ! که به نام کلیدی اشاره میکند که حاوی تنظیمات برای فایلهای bmp است.
یعنی اگر من به شاخه زیر بروم
HKEY_CLASSES_ROOT\Paint.Picture
میتوانم آیکون و منوهای راست کلیک فایلهای bmp را از اینجا دستکاری کرد.
در مورد منوهای راست کلیک، باید به شاخه زیر بروید
HKEY_CLASSES_ROOT\Paint.Picture\shell
و یک کلید جدید با نام دلخواه تولید کنید مثلاً MyMenu
پس ما شاخه زیر را تولید کردیم
HKEY_CLASSES_ROOT\Paint.Picture\shell\MyMenu
مقدار (Default) این شاخه همان نامی خواهد بود که در راست کلیک مشاهده میشود، حتی فارسی هم میتواند باشد.
بعد باید یک کلید دیگر با نام حتمی و قطعی Command ایجاد کنید یعنی شاخه:
HKEY_CLASSES_ROOT\Paint.Picture\shell\MyMenu\Comma nd
مقدار (Default) این کلید مسیر برنامه ای است که در صورت کلیک شدن منو باید اجرا شود (مسیر فایل exe برنامه شما)
میتوانید موارد فوق را دستی در برنامه regedit.exe اعمال کنید تا ببینید چگونه منو به راست کلیک فایلهای bmp اضافه میشود و کار میکند.
برای اعمال تغییرات به صورت خودکار در دات نت باید از کلاسس Microsoft.Win32.Registry و Microsoft.Win32.RegistryKey استفاده کرد.
ولی حتماً قبلش با regedit.exe دستی امتحان کنید تا با فرآیند کلی آشنا شوید و سپس سراغ کد نویسی بروید.
rezapassword
14-02-2008, 08:44
اچی کارایی که گفت کردم
ولی میگه اکسس ایز دیناید
چی کنم ؟
در مور د کار ا اون دو کلاس هم بیشتر توضح بده
؟
ممنون
سلام
کجا و در چه مرحله ای این خطای ناجوان مردانه را دریافت کردید ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟
در زمان انجام دستی؟؟؟ یا در بعد از آن و راست کلیک روی منوی جدید؟؟؟ و یا از همه بدتر در استفاده از کلاسسهای Microsoft.Win32.Registry و Microsoft.Win32.RegistryKey ؟
rezapassword
16-02-2008, 17:30
اچی
با نکمی ها !
اقا اینو ولش
گو چه طور کاری کنم که وقتی روی یه فایل کلیک شد بر نامم اجر ا بشه و اونو خونه ؟
سلام
گو چه طور کاری کنم که وقتی روی یه فایل کلیک شد بر نامم اجر ا بشه و اونو خونه ؟
والا بلا جوابش همون بود که گفتم، شما سوالتان را Copy و Paste میکنید، من هم مجبور میشوم، جواب را مجدداً copy و Paste کنم.
عزیز جان، شما یکبار عمل فوق را مرحله به مرحله دستی انجام دهید، خودتان متوجه میشوید...
متاسفانه امروز وقت نکردم چیزی در مورد کلاسسهای رجیستری فوق تایپ کنم، تا سری بعد که آنلاین شوم.... :11:
متاسفانه شما همیشه سمپل میخواهید و من همیشه وقتم لب مرزی است ... :11:
میبخشید و بای!
گو چه طور کاری کنم که وقتی روی یه فایل کلیک شد بر نامم اجر ا بشه و اونو خونه ؟
خیلی ببخشید اما من اصلن ندیدم این تاپیک کجاست! در هر صورت امیدوارم مفید باشه:
با یه تنظیم ساده تو My Computer (یا هر فلدری) :
Alt+T+O>General Tab>Click items as follows> ● Single-click to open an item
سلام
روشی که کاربر Carl گفته اند صحیح است ولی فایده چندانی برای برنامه نویسی ندارد، برنامه باید خودش تنظیماتش را ست کند (مثلاً در موقع نصب و به صورت خودکار) و نیازی به اعمال کاربر برنامه نباشد، مگر اینکه تنها استفاده کنند برنامه خودمان باشیم که در این صورت بهترین و ساده ترین روش همان فرامین دستی ویندوز هستند.
این هم چند مثال برای تغییرات رجیستری و کلاسسهای مربوطه:
در همه این موارد، ماشین حساب ویندوز برای باز کردن معرفی شده !!!!!
(برنامه های نصاب مثل همین msi ساز داخلی VS معمولاً امکانات بسیار راحتی برای تغییر رجیستری و مخصوصاً باز شدن فایلها توسط برنامه و... دارند، که به طور خودکار عمل Install و Uninstall را هم کنترل میکنند.
اضافه کردن راست کلیک با نام "منوی جدید" بر روی فایلهایی با پسوند ali.*
(نمایش پسوند را از FolderOption حتماً فعال کنید و دستورات زیر را اجرا و بعد از یک Refresh در Desktop روی فایلی مثلاً با نام xxxxxxx.ali تست کنید.
(فقط یکبار برای زمان نصب برنامه)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حذف مقادیر اضافه شده فوق از رجیستری
(فقط یکبار برای زمان لغو نصب برنامه)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اضافه کردن راست کلیک به پسوندهای موجود، بدون تخریب اطلاعات قبلی موجود در رجیستری، مثلاً برای فایلی انشعاب txt.*
(فقط یکبار برای زمان نصب برنامه)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حذف مقادیر اضافه شده فوق از رجیستری
(فقط یکبار برای زمان لغو نصب برنامه)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ضمناً برای متوجه شدن اینکه، چه فایلی راست کلیک شده، مسیر فایل exe برنامه خود را کامل و داخل جفت کتیشن وارد رجیستری کنید و در انتهای مسیر فایل exe یک فاصله و 1% بنویسید.
سپس میتوانید با توابعی از قبیل System.Environment.CommandLine و... نام فایل را در برنامه تان تحویل بگیرید.
ضمناً اگر موقع بازکردن برنامه regedit.exe به خطا خوردید (؟) به احتمال زیاد یکی از این ویروسهای بی بته و بی خاصیت را دارید !!!! از همون بی خاصیت هاش که کاری جز از کار انداختن رجیستری و folderoption و hidden کردن خودشان و ریست و.... (اعمال برنامه نویسی یک خطی!) بلد نیستند.
بعضاً آنقدر بی خاصیت درپیت هستند که آنتی ویروسها هم به آنها گیر نمیدهند!!! نه به خاطر آنکه خیلی خوب نوشته شدند، یلکه به خاطر آنکه آنقدر افتضاح هستند که آنتی ویروس هم آنرا جزء نمیچه ویروس ها هم حساب نمیکند.
موفق باشید و خدانگه دار.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.