C#能不能写类似WinAPI函数能被其他程序直接调用的DLL,而不是程序先实例化DLL中的类再用??
可以的话请描述一下如何实现,谢谢
可以的话请描述一下如何实现,谢谢
解决方案 »
- 用C#二次开发RTX,需要注意什么呢?
- C/S界面上的所有控件自动没了?SOS,SOS,SOS,SOS
- session问题
- MultiByteToWideChar如何使用
- 如何用DataSet生成指定结构的XML??
- 求C#正则表达式: 只允许0到9的数字和加号,比如 0050405+44343434+
- 一个方法是实体类型的,怎样判断这个方法里是否有值啊
- 求救!~!!!..如何把vs2003中的项目移到vs2002中使用......在线等.....急..
- 是不是listview 控件有bug,有没有人碰到这样的问题????
- 多语言的转换,高手请进!!!!!
- 如何用C#编写控制面板程序
- 下拉菜单的关联显示问题。急需高手。。。。。。。。。。。。。
我找了一下,全是说vc++的,没有说c#的。。
不能为了个COM+而又另外安装个VC/VB/...
{
int Add(int a,int b);
int Sub(int a,int b);
}public class MyComponent:IMath
{
public MyComponent
{
}
public int Add(int a,int b)
{
return a+b;
}
public int Sub(int a,int b)
{
return a-b;
}
}编译后生成MyComponent.dll通过tlbexp转换:
tlbexp MyComponent.dll
得到MyComponent.tlb,这是你可以用VC的OLE/COM Viewer工具查看这个文件,
你会发现它跟我们以前用ATL些的组件IDL文件是一样的,那么你可以使用了。在VC中使用:
#import "../MyComponent.tlb"
using namespace MyComponent;HRESULT hr=S_OK;
hr=CoInitialize(NULL);IMathPth pMath=NULL;
hr=pMath.CreateInstance(__uuidof(MyComponent));
long res=pMath->Add(2,3);COUnInitailize();到此实现的所有过程。