C程序如何调用Activex控件

countrymen0620 2007-03-07 10:15:50
请问各位大侠在C程序中如何调用Activex控件,该控件在网页和MFC的程序中都调用成功。
...全文
274 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
galaxy_coc 2007-03-08
  • 打赏
  • 举报
回复
如果c里能调用CoCreateInstance,如果你知道这个A控件的classid,如果你知道A控件的接口定义,那么一般可以调用!
heguodong 2007-03-08
  • 打赏
  • 举报
回复
IScriptControl都是C结构的
heguodong 2007-03-08
  • 打赏
  • 举报
回复
try
{
::CoInitialize (NULL);
HMODULE h=::LoadLibrary("msscript.ocx");
if(h==NULL)return 0;
FuncDllGetClassObject func=(FuncDllGetClassObject)::GetProcAddress(h,"DllGetClassObject");
if(func==NULL)return 0;
IClassFactory *pFactory=NULL;
func(__uuidof ( ScriptControl ),IID_IClassFactory,(void**)&pFactory);
if(pFactory==NULL)return 0;
IScriptControl *pScript=NULL;
//pFactory->QueryInterface(__uuidof(IScriptControl) , (void**)&pScript);
//0e59f1d3-1fbe-11d0-8ff2-00a0d10038bc
IID id;//=__uuidof(IScriptControl);
id.Data1=0x0e59f1d3;
id.Data2=0X1fbe;
id.Data3=0X11d0;

id.Data4[0]=0X8f;
id.Data4[1]=0Xf2;
id.Data4[2]=0X00;
id.Data4[3]=0Xa0;
id.Data4[4]=0Xd1;
id.Data4[5]=0X00;
id.Data4[6]=0X38;
id.Data4[7]=0Xbc;
//pFactory->CreateInstance(NULL,__uuidof(IScriptControl) , (void**)&pScript);
pFactory->CreateInstance(NULL,id , (void**)&pScript);
pFactory->Release();

pScript->put_AllowUI(VARIANT_FALSE);
pScript->PutLanguage(L"JScript");

_variant_t v=pScript->Eval("1+2+3+4+5");

int i=pScript->Release();

::FreeLibrary(h);
::CoUninitialize();
return 0;
}
catch(...)
{
//::FreeLibrary(h);
::CoUninitialize();
}
huzs_82 2007-03-08
  • 打赏
  • 举报
回复
up!

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧