【com编程】IE浏览器(右键扩展功能总结版)

         序言:大家是不是莫名其妙,我怎么什么都搀和上两脚。搞起这个高深的COM编程来了。呵呵……这是帮同学做的一个小东西,由于以前拿这个比赛过,今天由于业务需要又用上了,所以又拉我来做一下这个。都是兄弟,放下手中的活帮哥们做了。

         需求:在IE菜单中,添加右键。点击右键调用javaScript,执行相应功能。

         步骤:以管理员身份打开VS2005,新建ATL工程,

动态获取当前位置,并写入注册表中

void OnChange() 
{
    
    WCHAR buf[128];
    GetCurrentDirectory(128,(LPTSTR)buf);

	WCHAR name[14]=L"\\analyse.htm";

    CRegKey key;  
    key.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Internet Explorer\\MenuExt\\&分析")); 

	wcscat(buf,name);

    key.SetStringValue( _T("(默认)"), buf); 
    key.SetDWORDValue(_T("Contexts"),48);
}

ananlyse.htm

<script language="JavaScript">
  var parentwin = external.menuArguments;
  var doc = parentwin.document;
  var sel = doc.selection;
  var rng = sel.createRange();
  var str = encodeURI(new String(rng.text));
  if(0 < str.length)
  {
    var url = "http://10.100.68.1/classify_analyse/query_emotion.php?content=" + str;
    openwindow(url, "情感分析对话框",800,600);
  } else {
    alert("请选择文本内容");
  }
function openwindow(url,name,iWidth,iHeight) {
    var iTop = (window.screen.availHeight - 30 - iHeight) / 2;  //获得窗口的垂直位置; 
    var iLeft = (window.screen.availWidth - 10 - iWidth) / 2;   //获得窗口的水平位置; 
    var customed = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no";
    var windowFeatures = "height=" + iHeight + ",innerHeight=" + iHeight + ",width=" + iWidth + ",innerWidth=" + iWidth + ",top=" + iTop + ",left=" + iLeft + "," + customed;
    window.open(url, name, windowFeatures);
}
</script>

注册dll的文件

copy analyse.htm %windir%   
copy db_operation_pop.htm %windir%
regsvr32 sentiment_plugin.dll /s

总之,不容易把相对路径写上,还是用绝对路径简单。


还有好多,不愿意总结了,就把关键的总结上来了。如果感兴趣,可以留言索要相关内容


posted @ 2012-04-22 15:45  MXi4oyu  阅读(190)  评论(0编辑  收藏  举报