请问各位高手,怎样在一个已经存在的.exe文件的工具条中加入一个工具按扭?(详细见内) 要那个软件支持才行啊,IE支持但不是什么EXE都支持的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 milpas(我带着我的影子去流浪)先谢谢你!我想请你说具体一点好吗?比如IE支持,支持什么呀?不好意思再麻烦你一次! 粘一贴,慢慢看:怎样在IE工具栏上加入自己的工具写一个COM程序,然后在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions下放你的程序的GUID项,IE就会自动添加这个按钮了。项下面的属性参考其他. 1.HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Extensions\CmdMapping(以下简称BB)下看看各个增加的键值,最有用的是NextID(便于编程时决定你的程序的CLSID加在什么地方)。可以将你的程序的CLSID作为键名,键值为原来NextID的值,然后将NextID的值加一。2.在HKKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions处增加一个项目,名字为你的程序的CLSID,他拥有的子键为(全部为字符串型) ButtonText:按钮的文字标签。如果你设置IE的工具栏没有文字标签时,这些文字将作为工具提示(就是当鼠标移动到按钮上并停留一段时间时出现的小黄条)。 CLSID:必须为{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。这是IE工具条的CLSID。 Default Visible:安装时是否可见。 Exec:要执行的文件。(EXE格式) 或者 ClsidExtension:加入的插件DLL注册的ID。 HotIcon:当鼠标移动到按钮上时显示的图标。 Icon:普通状态下的图标。 MenuText:在IE的“工具”菜单中显示的菜单项。可以使用&符号指定快捷键。 MenuStatusBar:当鼠标移动到该菜单项上时,在IE的状态栏上显示的文字。说明:可以用CLSIDExtension去指定自己为IE写的扩展DLL,即“插件”如Flash插件。此时就不要指定Exec选项。同时也不要使用Menu的选项。 CLSID就是类的ID,系统根据这个来区分不同的COM对象。 例子:,C++Buildervoid __fastcall TChangeSkinForm::SetButton(){ AnsiString asIEKey = "Software\\Microsoft\\Internet Explorer\\Extensions"; if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//ie 4.0 return; //增加按钮 AnsiString asMyKey = asIEKey + "\\{06DD38D3-D187-11CF-A80D-00C04FD74AD8}"; WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" ,true); WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "ButtonText", "背景" ,true); WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Default Visible", "yes" ,true); WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Exec", Application->ExeName ,true); WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "HotIcon", ExtractFilePath(Application->ExeName) + "Skinhot.ico",true); WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Icon", ExtractFilePath(Application->ExeName) + "Skin.ico",true);} SetWindowPos GetWindowRect的坐标问题 求助event 如何启动一个软件,并且控制其进行一些动作。 vc 与oracle的连接 如何把一个类添加到现有的工程 请问哪里有visual C++使用技巧,全部功能介绍的资料? 招聘VC程序员一名(上海) 是windows的问题吗? 通讯程序,有高分 窗口的第二次最大化,为什么就不行了??? 请教了。activex问题。 如何,各根据bmp文件径,生成 HBITMAP位图???
先谢谢你!
我想请你说具体一点好吗?
比如IE支持,支持什么呀?
不好意思再麻烦你一次!
1.HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Extensions\CmdMapping(以下简称BB)下看看各个增加的键值,最有用的是NextID(便于编程时决定你的程序的CLSID加在什么地方)。可以将你的程序的CLSID作为键名,键值为原来NextID的值,然后将NextID的值加一。
2.在HKKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions处增加一个项目,名字为你的程序的CLSID,他拥有的子键为(全部为字符串型)
ButtonText:按钮的文字标签。如果你设置IE的工具栏没有文字标签时,这些文字将作为工具提示(就是当鼠标移动到按钮上并停留一段时间时出现的小黄条)。
CLSID:必须为{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。这是IE工具条的CLSID。
Default Visible:安装时是否可见。 Exec:要执行的文件。(EXE格式)
或者
ClsidExtension:加入的插件DLL注册的ID。 HotIcon:当鼠标移动到按钮上时显示的图标。
Icon:普通状态下的图标。
MenuText:在IE的“工具”菜单中显示的菜单项。可以使用&符号指定快捷键。
MenuStatusBar:当鼠标移动到该菜单项上时,在IE的状态栏上显示的文字。说明:可以用CLSIDExtension去指定自己为IE写的扩展DLL,即“插件”如Flash插件。此时就不要指定Exec选项。同时也不要使用Menu的选项。 CLSID就是类的ID,系统根据这个来区分不同的COM对象。
例子:,C++Buildervoid __fastcall TChangeSkinForm::SetButton()
{
AnsiString asIEKey = "Software\\Microsoft\\Internet Explorer\\Extensions";
if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//ie 4.0
return;
//增加按钮
AnsiString asMyKey = asIEKey + "\\{06DD38D3-D187-11CF-A80D-00C04FD74AD8}";
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "ButtonText", "背景" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Default Visible", "yes" ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Exec", Application->ExeName ,true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "HotIcon", ExtractFilePath(Application->ExeName) + "Skinhot.ico",true);
WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Icon", ExtractFilePath(Application->ExeName) + "Skin.ico",true);
}