PDA

View Full Version : سوال: تغییر مرورگر پیش فرض ویندوز



mahdi.sagga
چهارشنبه 13 دی 1396, 15:11 عصر
با عرض سلام و ادب خدمت دلفی کاران محترم و عزیز.
سه تا دکمه تو برنامه گذاشتم اسماشون هست یکیش موزیلا و یکیش کروم و یکیش هم ie حالا میخام وقتی که مثلا روی دکمه موزیلا کلیک کنم . مرورگر پیش فرض ویندوز بشه موزیلا و بقیه دکمه ها هم همینطور با کلیک روی اونا مرور گر پیشفرض عوض بشه.
اینترنتو هم خیلی جست جو کردم هم اینور آبی و هم اونور آبی . چیزی پیدا نکردم . با تشکر و سپاس.

یوسف زالی
جمعه 15 دی 1396, 18:00 عصر
سلام. خوب نگشتید.
باید مقادیر زیر را اصلاح کنید:


HKEY_CLASSES_ROOT\http\shell\open\command
HKEY_CLASSES_ROOT\https\shell\open\command

mahdi.sagga
شنبه 16 دی 1396, 09:20 صبح
باید مقادیر زیر را اصلاح کنید:


HKEY_CLASSES_ROOT\http\shell\open\command
HKEY_CLASSES_ROOT\https\shell\open\command


ممنونم جناب زالی جالب بود . مقادیر هر دو کلید رو با موفقیت تغییر دادم. ولی وقتی که روی هر صفحه وب که در سیستم ذخیره کردم کلیک میکنم تا باز بشه . با اسم مرور گر تغییر داده شده در رجیستری باز نمیشه. و میبینم که آیکن های این صفحات ذخیره شده هم تغییر پیدا نکردن تا به آیکون مرور گر پیش فرض در بیان.

Mask
یک شنبه 17 دی 1396, 11:42 صبح
ممنونم جناب زالی جالب بود . مقادیر هر دو کلید رو با موفقیت تغییر دادم. ولی وقتی که روی هر صفحه وب که در سیستم ذخیره کردم کلیک میکنم تا باز بشه . با اسم مرور گر تغییر داده شده در رجیستری باز نمیشه. و میبینم که آیکن های این صفحات ذخیره شده هم تغییر پیدا نکردن تا به آیکون مرور گر پیش فرض در بیان.
باید یک مسیج رجیستری برودکست کنید تا رجیستری و سیستم با تنظیمات جدید بروز بشه.

mahdi.sagga
دوشنبه 18 دی 1396, 10:15 صبح
باید یک مسیج رجیستری برودکست کنید تا رجیستری و سیستم با تنظیمات جدید بروز بشه.
ممنونم از پاسخ شما . کلمه مسیج رجیستری برودکست رو تو تالار و اینترنت سرچ کردم و چیزی پیدا نکردم . به ناچار پست زدم .جناب mask آیا منظور شما از مسیج رجیستری برودکست همون اکسپورت کردن رجیستری و ذخیرش به صورت فایل .reg هستش؟ اگه اینطوری باشه باید سه تا فایل رجیستری به ازای هر مرورگر درست بشه و کاربر با زدن هر بار دکمه باتون از روی فرم و اجرای اون فایل های رجیستری توسط برنامه دوباره باید یه پیغام ok هم که مربوط به پایان اجرای فایل .reg هستش رو هم باید کلیک کنه. و اینطوری هم که کار برای کاربر سخت میشه و از طرفی هم کار درستی به نظر نمیاد.
و یا اینکه من پاسخ شما رو درست متوجه نشدم. لطفا کمی بیشتر راهنمایی نمایید . با تشکر و سپاس.

Mask
سه شنبه 19 دی 1396, 23:58 عصر
نه منظور اون نبود.


"SendMessage( HWND_BROADCAST, WM_WININICHANGE,0, LongInt(cs1));"


AND


"SendMessage( HWND_BROADCAST,WM_SETTINGCHANGE,0, LongInt(cs1));"


از این لینک استفاده کنید.
http://www.tek-tips.com/viewthread.cfm?qid=686382

mahdi.sagga
یک شنبه 24 دی 1396, 11:59 صبح
نتونستم سر دربیارم چه جوری از این برودکست کد استفاده کنم و باهاش مرورگر پیشفرضو عوض کنم . تو لینک اصلی هم گفتن که برای Registry PATH change/update withOUT restart
استفاده میشه و تو یکی از پستاهم توضیح داده برای باز و بستن explorer.exe هستش. که تو task manager ویندوز وجود داره.

فعلا اومدم یه برنامه مقایسه رجیستری دانلود و نصب کردم و دوتا مقدار رجیستری رو موقع تعویض مرور گر پیش فرض مقایسه کردم نتیجش شد 41 تا کلید رجیستری که موقع تعویض مرورگر پبش فرض مقادیرشون تغییر میکنه. و کلی هم کد hex که ازشون سر در نیاوردم. همینطوری پیش میرم جلو تا ببینم چی میشه . فعلا امیدوارم با تغییر این 41 تا کلید درست بشه مشکلم. باز اگه راه دیگه ای پیدا کردین ممنون میشم منو در جریان بزارید . با تشکر و سپاس از دوستان.:قلب::قلب::قلب:

Mask
سه شنبه 26 دی 1396, 16:51 عصر
الان کجاشو متوجه نشدید؟
توی اون لینک کد اپدیت رجیستری نوشته که.
SendMessage( HWND_BROADCAST, WM_WININICHANGE,0, LongInt(cs1));
and
SendMessage( HWND_BROADCAST,WM_SETTINGCHANGE,0, LongInt(cs1));
از اینا چرا استفاده نمیکنید؟

mahdi.sagga
دوشنبه 02 بهمن 1396, 13:56 عصر
الان کجاشو متوجه نشدید؟
توی اون لینک کد اپدیت رجیستری نوشته که.
SendMessage( HWND_BROADCAST, WM_WININICHANGE,0, LongInt(cs1));
and
SendMessage( HWND_BROADCAST,WM_SETTINGCHANGE,0, LongInt(cs1));
از اینا چرا استفاده نمیکنید؟

ممنونم از توجهتون جناب mask . راستش مشکلم اینجاست که من سر در نیاوردم کجای این کدها رو تنظیم کنم تا مرورگر پیش فرض عوض بشه.
الان کد به همین صورتی که هست اجرا میشه و خطایی هم نمیده ولی نتیجه کار که تعویض مرورگر پیش فرضه حاصل نمیشه که البته نبایدم بشه چون اطلاعات مرورگرو این کد الان نداره.
الان اینجوریه:
procedure TFormMain.BitBtn1Click(Sender: TObject);
const
cs1 : pchar = 'Windows';
begin
SendMessage( HWND_BROADCAST, WM_WININICHANGE,0, LongInt(cs1));
SendMessage( HWND_BROADCAST,WM_SETTINGCHANGE,0, LongInt(cs1));
end;
من الان نمیدونم اطلاعات مرور گر رو کجای کد بنویسم و مثلا برای موزیلا چی بنویسم تا مرور گر پیش فرض مثلا بشه موزیلا

وحتی به جای خط cs1 : pchar = 'Windows';
وکلمه windows آدرس مرورگر فایرفاکسو دادم وبرنامه هم اجرا شد وخطایی هم نداد ولی بازم مرور گر پیشفرض عوض نشد.
کد: cs1 : pchar = 'C:\Program Files\Mozilla Firefox\firefox.exe';
و در آخر کار به جای تیکه کد بالا آدرس یه فایل .reg هم که قبلا از رجیستری اکسپورت کرده بودم رو هم دادم بازم نشد.

با تشکر و سپاس .