序言:大家是不是莫名其妙,我怎麼什麼都攙和上兩腳。搞起這個高深的COM編程來了。呵呵……這是幫同學做的一個小東西,由於以前拿這個比賽過,今天由於業務需要又用上了,所以又拉我來做一下這個。都是兄弟,放下手中的活幫哥們做了。
需求:在IE菜單中,添加右鍵。點擊右鍵調用javaScript,執行相應功能。
步驟:以管理員身份開啟VS2005,建立ATL工程,
動態擷取當前位置,並寫入註冊表中
void OnChange()<br />{</p><p> WCHAR buf[128];<br /> GetCurrentDirectory(128,(LPTSTR)buf);</p><p>WCHAR name[14]=L"\\analyse.htm";</p><p> CRegKey key;<br /> key.Create(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Internet Explorer\\MenuExt\\&分析")); </p><p>wcscat(buf,name);</p><p> key.SetStringValue( _T("(預設)"), buf);<br /> key.SetDWORDValue(_T("Contexts"),48);<br />}
ananlyse.htm
<script language="JavaScript"><br /> var parentwin = external.menuArguments;<br /> var doc = parentwin.document;<br /> var sel = doc.selection;<br /> var rng = sel.createRange();<br /> var str = encodeURI(new String(rng.text));<br /> if(0 < str.length)<br /> {<br /> var url = "http://10.100.68.1/classify_analyse/query_emotion.php?content=" + str;<br /> openwindow(url, "情感分析對話方塊",800,600);<br /> } else {<br /> alert("請選擇常值內容");<br /> }<br />function openwindow(url,name,iWidth,iHeight) {<br /> var iTop = (window.screen.availHeight - 30 - iHeight) / 2; //獲得視窗的垂直位置;<br /> var iLeft = (window.screen.availWidth - 10 - iWidth) / 2; //獲得視窗的水平位置;<br /> var customed = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no";<br /> var windowFeatures = "height=" + iHeight + ",innerHeight=" + iHeight + ",width=" + iWidth + ",innerWidth=" + iWidth + ",top=" + iTop + ",left=" + iLeft + "," + customed;<br /> window.open(url, name, windowFeatures);<br />}<br /></script>
註冊dll的檔案
copy analyse.htm %windir%<br />copy db_operation_pop.htm %windir%<br />regsvr32 sentiment_plugin.dll /s<br />
總之,不容易把相對路徑寫上,還是用絕對路徑簡單。
還有好多,不願意總結了,就把關鍵的總結上來了。如果感興趣,可以留言索要相關內容