在cpp中呼叫jscript中的函式
在c++中呼叫jscript的函式非常簡單,windows提供了乙個msscript.ocx的控制項,利用這個控制項可以直接操作jscript: 執行一段jscript指令碼,或者呼叫指定的函式。我寫了乙個簡單的例子:
l匯入msscript.ocx。下面這條指令會在專案目錄中生成msscript.tli和msscript.tlh兩個檔案,裡面有msscript.ocx中所有介面的描述和iid的定義。
#import
"msscript.ocx"
no_namespace
l宣告乙個物件。
ccomptr
<
iscriptcontrol
> m_iscriptcontrol;
l建立物件例項if(
succeeded
(m_iscriptcontrol
.cocreateinstance
(__uuidof
(scriptcontrol
))))
l設定語言等屬性。
m_iscriptcontrol
->
putlanguage
(l"jscript"
);m_iscriptcontrol
->
putallowui
(variant_false);l
加入jscript**。
m_iscriptcontrol
->
addcode
(l"function test(str1, str2) ");
l獲得函式,這裡要說明的是getitem的引數是1到n,而不是0到n-1。
ccomptr
<
iscriptprocedurecollection
>
aprocedureset
= m_iscriptcontrol
->
getprocedures
();longn=
aprocedureset
->
getcount
();ccomptr
<
iscriptprocedure
>
aprocedure
= aprocedureset
->
getitem
(_variant_t(n
));_bstr_t
strfunction
= aprocedure
->
getname
();l
準備函式引數。
variant
va= ;va.
vt=
vt_bstr;n
= 2;
safearraybound
bounds
[1] = ;
bounds
[0].
celements= n
;safearray
* psa
= safearraycreate
(vt_variant
, 1,
bounds
);long
i= 0;
for(
i= 0;
i< n;
i++) l
呼叫函式。
_variant_t
result
= m_iscriptcontrol
->
run(
strfunction
, &psa);
l釋放引數。
for(
i= 0;
i< n;
i++)
safearraydestroy
(psa);
在CPP中呼叫Jscript中的函式
作者 李先靜 在c 中呼叫jscript的函式非常簡單,windows提供了乙個msscript.ocx的控制項,利用這個控制項可以直接操作jscript 執行一段jscript指令碼,或者呼叫指定的函式。我寫了乙個簡單的例子 o 匯入msscript.ocx。下面這條指令會在專案目錄中生成mssc...
如何在乙個cpp中呼叫另乙個cpp中的類?
解決方案 新建乙個同名頭檔案,將這個cpp中的類的宣告放在標頭檔案中,在這個cpp以及要呼叫的cpp中include這個標頭檔案即可。在物件導向的程式開發中,一般做法是將類的宣告 其中包含成員函式的宣告 放在指定的標頭檔案中,使用者如果想用該類,只要把有關的標頭檔案包含進來即可,不必在程式中重複書寫...
在程式中呼叫Start Run
public declare function shrundialog lib shell32 alias 61 byval howner as long,byval unknown1 as long,byval unknown2 as long,byval sztitle as string,by...