首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ Builder 自製 IE 換膚工具

     編輯:關於C++

IE 瀏覽器的工具列背景圖片其實儲存在登錄檔中,只需修改兩個字串值即可實現「換膚」。本文示範用 C++ Builder 快速建立一個圖形化 IE Skin 工具,支援圖片預覽、檔案選取、一鍵套用與即時生效。

登錄檔原理

路徑:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar

  • BackBitmap:IE 4/5 通用背景圖片路徑
  • BackBitmapIE5:IE 5 專用背景圖片路徑

將兩值設為同一張 .bmp 完整路徑,重新啟動 IE 即可生效。

介面設計

元件名稱關鍵屬性
FormForm1Caption = "我的 IE Skin"
Panel (Top)Panel1Align = alTop, Caption = ""
LabelLabel1Caption = "路徑:"
EditURLText = ""
OpenDialogOpenDialog1Filter = "Bitmap|*.bmp"
ButtonBtnBrowseCaption = "瀏覽..."
ButtonBtnApplyCaption = "修改 IE 外殼"
ScrollBox (Client)ScrollBox1Align = alClient
ImageImage1AutoSize = true, Parent = ScrollBox1

核心程式碼

1. 即時預覽(Edit OnChange)

void __fastcall TForm1::URLChange(TObject *Sender)
{
    try
    {
        Image1->Picture->LoadFromFile(URL->Text);
    }
    catch (...) { /* 忽略無效路徑 */ }
}

2. 瀏覽按鈕

void __fastcall TForm1::BtnBrowseClick(TObject *Sender)
{
    if (OpenDialog1->Execute())
    {
        URL->Text = OpenDialog1->FileName;
        Image1->Picture->LoadFromFile(URL->Text);
    }
}

3. 套用按鈕(寫入登錄檔)

void __fastcall TForm1::BtnApplyClick(TObject *Sender)
{
    if (strlen(URL->Text.c_str()) >= 5) // 至少 "x.bmp"
    {
        TRegistry *reg = new TRegistry();
        try
        {
            reg->OpenKey("Software\\Microsoft\\Internet Explorer\\Toolbar", true);
            reg->WriteString("BackBitmap", URL->Text.c_str());
            reg->WriteString("BackBitmapIE5", URL->Text.c_str());
            reg->CloseKey();
            ShowMessage("套用成功!請重新啟動 IE 瀏覽器。");
        }
        __finally
        {
            delete reg;
        }
    }
    else
    {
        Application->MessageBox("BMP 圖片路徑長度至少 5 字元", "錯誤", MB_OK | MB_ICONERROR);
    }
}

進階擴充建議

  1. 支援多種格式:利用 TJPEGImage、TPNGImage 載入 JPG/PNG 並轉存為 BMP。
  2. 磚貼/置中/拉伸模式:登錄檔 BackBitmapStyle(0=磚貼, 1=置中, 2=拉伸)。
  3. 備份/還原:套用前讀取原值存檔,提供「還原預設」功能。
  4. 即時生效:廣播 WM_SETTINGCHANGE 訊息通知 Explorer 重讀登錄,免重啟 IE(需管理員權限)。

幾十行程式碼即可打造個性化瀏覽器外觀,展示了 C++ Builder 操作系統登錄檔與多媒體元件的便利性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved