社区
C语言 帖子详情 请问c语言如何调用com组件? firewangcool 2006-10-17 06:45:43 兄弟对c语言不是很熟悉,现在需要做一个和clear quest有关的项目;
clear quest提供了com组件,并且给了一些关于vb调用clear quest的com组件的api和例子,并且我已经用vb调用成功;
但是,我们的项目需要用c语言来实现这个com组件的调用,现在不知道该怎么实现?
vb能够调用的com组件c语言能调用吗?
提供一些vb调用的例句,谁能提示我用c语言如何来实现这些功能?
Set oSession = CreateObject("CLEARQUEST.SESSION")oSession.UserLogon "tms_insert", "tms_insert", "TMS", AD_PRIVATE_SESSION, ""
Set oEntity = oSession.BuildEntity("TMS_RWXX")
oEntity.setFieldValue "fatherdocunid", doc.UniversalID
oEntity.setFieldValue "FLD_RWMSH", doc.rw_ms(0)
oEntity.setFieldValue "FLD_JHGZL", doc.rw_name(0)
str1 = oEntity.Validate
If str1 <> "" Then
Msgbox "str1=" & str1
End If
oEntity.Commit
Set oEntity = Nothing
Set oSession = Nothing
...全文
850 15 打赏 收藏 请问c语言如何调用com组件? 兄弟对c语言不是很熟悉,现在需要做一个和clear quest有关的项目; clear quest提供了com组件,并且给了一些关于vb调用clear quest的com组件的api和例子,并且我已经用vb调用成功; 但是,我们的项目需要用c语言来实现这个com组件的调用,现在不知道该怎么实现? vb能够调用的com组件c语言能调用吗? 提供一些vb调用的例句,谁能提示我用c语言如何来实现这些功能? Set oSession = CreateObject("CLEARQUEST.SESSION" 复制链接
扫一扫 分享 转发到动态 举报
写回复 配置赞助广告取 消
确 定
用AI写文章 15 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 firewangcool 2006-10-18 打赏举报 回复 呵呵,这就打分结贴! searingice 2006-10-18 打赏举报 回复 别着急谢,结了帖先。 firewangcool 2006-10-18 打赏举报 回复 真是谢谢各位啊!看来我还得找本com和c语言相关的书好好读读!
再次谢谢各位的回复! 飞哥 2006-10-17 打赏举报 回复 两行是一行! 飞哥 2006-10-17 打赏举报 回复 也可以这样访问
---------
这个是我写的
NtQuerySystemInformation = (long(__stdcall*)(DWORD, PVOID, DWORD, DWORD))
GetProcAddress( GetModuleHandle( "ntdll.dll" ),NtQuerySystemInformation"
); 飞哥 2006-10-17 打赏举报 回复 ◎◎simple test
========
◎◎
#include
#include
typedef int(*lpAddFun)(int, int); //宏定义函数指针类型
int main(int argc, char *argv[])
{
HINSTANCE hDll; //DLL句柄
lpAddFun addFun; //函数指针
hDll = LoadLibrary("..\\Debug\\dllTest.dll");
if (hDll != NULL)
{
addFun = (lpAddFun)GetProcAddress(hDll, "add");
if (addFun != NULL)
{
int result = addFun(2, 3);
printf("%d", result);
}
FreeLibrary(hDll);
}
return 0;
}
shone_sun 2006-10-17 打赏举报 回复 ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
IMessengerPtr Messager = NULL;
HRESULT hr = Messager.CreateInstance(__uuidof(Messenger));
::CoUninitialize();
MSNMessager->方法 phidix 2006-10-17 打赏举报 回复 查COM相关函数,控件注册了以后注册表里有UUID和文件路径,忘了用什么函数了,随便找本COM原理的书就有。好像还要拿到接口的描述吧,.h文件或者IDL 飞哥 2006-10-17 打赏举报 回复 使用Windows API函数LoadLibray和GetProcAddress
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module
LPCSTR lpProcName // name of function
);
Parameters
hModule
Handle to the DLL module that contains the function. The LoadLibrary or GetModuleHandle function returns this handle.
lpProcName
Pointer to a null-terminated string containing the function name, or specifies the function's ordinal value. If this parameter is an ordinal value, it must be in the low-order word; the high-order word must be zero.
--------------------
firewangcool 2006-10-17 打赏举报 回复 我查了一下LoadLibrary是载入dll到内存中,我的cq的dll文件已经写入注册表中了,我在vb中就可以直接使用这个语句Set oSession = CreateObject("CLEARQUEST.SESSION")dll中的方法入口,在c语言中如何获得这个入口?用HINSTANCE h = LoadLibrary("yourcom.dll");就可以吗?
飞哥 2006-10-17 打赏举报 回复 不用客气
一起学习中! firewangcool 2006-10-17 打赏举报 回复 感谢wanfustudio(雁南飞:不慕虚名务潜修) 提示,谢谢 飞哥 2006-10-17 打赏举报 回复 #include
#include
void main()
{
HINSTANCE h = LoadLibrary("yourcom.dll");
} firewangcool 2006-10-17 打赏举报 回复 dll已经有了,我只会vb调用这个dll,不会c语言调用,所以请教一下大家,如何通过c语言写程序调用dll 飞哥 2006-10-17 打赏举报 回复 COM编译成DLL
调DLL C语言调用COM组件 本文介绍了如何在C++和C语言中调用COM组件,以Windows 7任务栏显示进度条的接口ITaskbarList4为例。C++通过CoCreateInstance创建接口实例,而C语言则需要手动构建与接口内存模型相同的结构体并提供虚函数表。虽然C语言的实现更复杂,但依然可以实现对COM组件的调用。 c 写跨语言dll,让COM组件可被跨语言调用 本文详细介绍了如何修正COM组件中的错误,使其支持自动化,并演示了VBScript和VB6环境下调用COM组件的过程。通过修改IDL文件,增加自动化接口,并实现IDispatch相关方法,使得组件能在不同环境中正确运行。此外,还展示了如何注册类型库,确保VBScript和VB6的兼容性。 使用COM方式实现不同语言之间的调用 本文详细介绍如何使用COM组件实现在C++、Delphi、VB6及C等不同编程语言间的相互调用,并提供具体实例代码。 c语言windows库函数,C语言访问Windows COM组件函数 本文详细介绍了Windows平台上的COM(Component Object Model)组件对象模型及其自动化扩展OLE(Object Linking and Embedding)。阐述了COM作为操作系统级别的面向对象技术,如何实现跨程序、跨系统的组件调用。同时深入探讨了OLE在此基础上增加的自动化功能,如WebBrowser类的使用,并提供了C语言调用COM的示例。 用标准C编写COM(二)COM in plain C,Part2 本文详细介绍了如何使用C语言编写一个COM组件,使其能够被VBScript、JScript等脚本语言调用,包括添加IDispatch接口、类型库、属性支持等内容。
C语言
70,037
社区成员
243,247
社区内容
发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接
扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章
