技术文章 > 用C++ Builder编写自已的IE SKIN

用C++ Builder编写自已的IE SKIN

2018-10-17 23:36

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:
时下软件换肤热潮兴起,大家是不是想装点一下自已的IE呢?当然网上也有不少为IE换肤的软件,用够了IE SKIN和其它为IE换肤的朋友,有没有想过也编制一个自己的IE SKIN呢? 实际上,对IE进行换肤只不过是在注册表的“HKEY_CURRENT_USER\Software\Microsoft\Internet E
xplorer\Toolbar”下新建两个字符串子键“BackBitmap”和“BackBitmapIE5”,用来指定IE的背景图片路径。
好了下面跟我来。
在C++ Builder中新建一Application,将其Caption属性设为“我的IE SKIN”,在其上新建一Panel 控件,将Panel1的Caption属性改为空,Align属性设为“alTop”。在Panel1上新建一Label控件,将Label1的Caption属性改为“路径:”。再在Panel1上新建一Edit控件,将Edit1的name属性改为“URL”(没有引号),将其Text属性改为空。再在Panel1上新建一OpenDialog控件,将OpenDialog1的Filter属性设为“Bitmap|*.bmp”。再在Panel1上新建一Button控件,将Button1的Caption改为“浏览...”。再在Panel1上新建一Button控件,将Button2的Caption改为“修改IE外壳”。在Form1上(Panel1之外)新建一ScrollBox控件,将其Align属性设为“alClient”,在ScrollBox1上新建一Image控件,将其AutoSize属性设为“true”。好了界面部分完成了,下面该写代码了!
我们建立Image控件的目地是要实时预览图像,所以为URL(EDIT)的OnChange事件写如下代码:
void __fastcall TForm1::URLChange(TObject *Sender)
{
Image1->Picture->LoadFromFile(URL->Text); //预览图形文件
}
这样只要URL中的路径一发生改变Image就会将改动后的图象显示出来!
下面我们来完成“浏览...”按钮的功能,双击“浏览...”按钮为其单击事件编写如下代码:
if (OpenDialog1->Execute())
{
URL->Text=OpenDialog->FileName;//将文件名填入URL编辑框
Image1->Picture->LoadFromFile(URL->Text);//预览图形文件
}
下面是最重要的部分,双击“修改IE外壳”按钮,为其单击事件编写代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (strlen(url->Text.c_str())>=5) //主文件名+.+BMP不可能小于5个字符
{
TRegistry ®key=*new TRegistry();//新建一注册表类
regkey.OpenKey("Software\\Microsoft\\Internet Explorer\\Toolbar",true);//打开要新建或要修改的键名
regkey.WriteString("BackBitmap",url->Text.c_str());//修改
regkey.WriteString("BackBitmapIE5",url->Text.c_str());
regkey.CloseKey();//关闭所有打开的注册表键名
delete ®key;//删除注册表类
}
else
{
Application->MessageBox("BMP图象路径不可能少于5个字符","错误",MB_OK);
}
}
好了,至此整个程序写完了,保存,编译,运行,怎么样?没效果?!重新启动你的IE看一看,有效果了吧!

 返回主页