PDA

View Full Version : سوال: تغییر Default ویندوز برای باز کردن فایلهای وب ... اجرای نرم افزار به جای IE یا FireFox



ostovarit
سه شنبه 23 شهریور 1389, 18:55 عصر
با سلام

مقدمه:
از اینکه انقدر سوال میپرسم این روزا معذرت میخوام ... مجبورم تو یک زمان کم یک پروژه رو تموم کنم ...

سوال:
یک مرورگر وب ساختم... میخوام در زمان نصب مرورگر وب Defualt نرم افزار من بشه ...
میخوام وقتی کاربر میخواد یک صفحه وب رو ببینه مرورگر من باز بشه ...
وقتی رو یک فایل html راست کلیک میشه در OpenWith اسم نرم افزارم بیاد ...
و این مرورگر به جای IE یا FireFox یا هر چیز دیگه ای که الان به عنوان مرورگر Default هست جایگزین بشه ...

با تشکر از دوستانی که در این پروژه منو راهنمایی میکنند.

Saman_12
سه شنبه 23 شهریور 1389, 19:45 عصر
برای اینکه هر وقت یک فایل Html فراخوانی شد توی برنامه شما باز بشه :
باید توی ریجستری برنامه ای که فایل های Html رو لود میکنه به برنامه خودت تغییر بدی.(در این مورد مطلب هست می تونی جستوجو کنی.)(خودم یک مطلب در این مورد توی انجمن VB.NET گذاشتم یک jوضیح هم دادم میتونی براش کد بنویسی. / توی انجمن سی شارپ هم فکر کنم من مطلبی در این مورد دیدم. \پس جستوجو بی حاصل نیست!)

ostovarit
سه شنبه 23 شهریور 1389, 20:13 عصر
برای اینکه هر وقت یک فایل Html فراخوانی شد توی برنامه شما باز بشه :
باید توی ریجستری برنامه ای که فایل های Html رو لود میکنه به برنامه خودت تغییر بدی.(در این مورد مطلب هست می تونی جستوجو کنی.)(خودم یک مطلب در این مورد توی انجمن VB.NET گذاشتم یک jوضیح هم دادم میتونی براش کد بنویسی. / توی انجمن سی شارپ هم فکر کنم من مطلبی در این مورد دیدم. \پس جستوجو بی حاصل نیست!)

مشکل اصلی من اینه که نمیدونم چی جستجو کنم ...
چند تایی امتحان کردم فایده نداشت...
اگر لینک مطلب رو هم بدید ممنون میشم ...
این تاپیکم حذف میکنم شلوغ نکنیم فروم رو ...
با تشکر

AliRezaPro
سه شنبه 23 شهریور 1389, 20:34 عصر
یک مرورگر وب ساختم... میخوام در زمان نصب مرورگر وب Defualt نرم افزار من بشه ...
اونو در رجیستری ست کنید
مثلا برای ست کردن IE

HKCU\Software\Microsoft\Internet Explorer\Main\Start Page

تمامیه کار های شما با رجیستری انجام میشه.

Saman_12
سه شنبه 23 شهریور 1389, 21:28 عصر
اونو در رجیستری ست کنید
مثلا برای ست کردن IE

HKCU\Software\Microsoft\Internet Explorer\Main\Start Page

تمامیه کار های شما با رجیستری انجام میشه.

اینجا تنها استارت پیج رو تغییر میده نه این که وقتی روی یک فایل Html کلیک شد آدرس فایل به برنامه پاس بشه بعد هم برنامه اونو ارز روی آدرسش باز کنه!!!

چون من حوصله جستوجو توی انجمن رو ندارم خودم می گم چی کار کنی این Void رو تعریف کن :


private void MyFileTeyp(string FileType, string Icon, string Address)
{

Microsoft.Win32.RegistryKey RegKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("", true);

RegKey.CreateSubKey((string) ("." + FileType)).SetValue("", FileType + "File");
RegKey.CreateSubKey(FileType + "File").CreateSubKey("DefaultIcon").SetValue("", Icon);
RegKey.OpenSubKey(FileType + "File", true).CreateSubKey("Shell").CreateSubKey("Open").CreateSubKey("Command").SetValue("", "\"" + Address + "\"" + " " + "\"" + "%1" + "\"" + " %*");

}

اینجوری هم استفاده :

String MyPath = Application.StartupPath + "\\" + (new Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase()).Info.AssemblyName + ".exe";
MyFileTeyp("SamanDll", "%SystemRoot%\\System32\\Shell32.dll,100", MyPath);
کد بالا یک پسوند SamanDll اظافه میکنه که آدرس یرنامه شما توشه.(یعنی وقتی روی فایلی با این پسوند کلیک بشه برنامه شما ران میشه.)
به طور معمول توی فرم لود هم از این کد استفاده میکنن.(این کد آدرس فایلی که روش کلیک شده رو بر مگردونه) :

string Address = Environment.GetCommandLineArgs()[2];
راستی اول باید Microsoft.VisualBasic رو رفرنس کنید.

ostovarit
سه شنبه 23 شهریور 1389, 21:32 عصر
اینجا تنها استارت پیج رو تغییر میده نه این که وقتی روی یک فایل Html کلیک شد آدرس فایل به برنامه پاس بشه بعد هم برنامه اونو ارز روی آدرسش باز کنه!!!

چون من حوصله جستوجو توی انجمن رو ندارم خودم می گم چی کار کنی این Void رو تعریف کن :


ممنونم زحمت کشیدی من کدها رو مینویسم باز مشکلی بود مزاحمت میشم ...