序言:大家是不是莫名其妙,我怎么什么都搀和上两脚。搞起这个高深的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
总之,不容易把相对路径写上,还是用绝对路径简单。
还有好多,不愿意总结了,就把关键的总结上来了。如果感兴趣,可以留言索要相关内容