???????????????????????????????????y??(??????????)???????DLL??????????DLL?У??????????????????????????????????????????????????????????????????????????鶼??д????????????д??????????????????????????????????????????????????Щ?????C++????????????????????????????????.NET????????????????????????????
???????????C++?????DLL???????????
??????????????WIN7 64BIT+VS2010+MFC+ATL+COM??
????.NET??????????C#??????????????????£?????????Щ??????????????
?????????????????
????1. ??????? ?????????
????COM????????(????????????????????)??????????????????????????????????????????????????????.NET??????????VB.NET??????????????????н??п????
????????.NET?μ????(DLL)????????WIN DLL ????????????й??????????Щ?????????????????????COM??????????????COM??????????????????????????C++?????????????????????á?
?????????????????????????????????????????????????????????????????????
?????????COM?????塣
[ComVisible(true)??
Guid("B86D71F4-FE07-4B60-8246-F5AE283ED2A3")??
InterfaceType(ComInterfaceType.InterfaceIsDual)
]
public interface IHMI
{
[PreserveSig?? DispId(1)]
void OnCreate(int a);
[PreserveSig?? DispId(2)]
void SetRect(int left?? int top?? int width?? int height);
//??????????
}
[ ComVisible(true)??
ClassInterface(ClassInterfaceType.AutoDual)??
ProgId("xxxxxxx.xxxxxxx") //ProgId ?????????????????????????
]
????C#?????????в????????????????????
public class CustomCOMClient : IHMI
{
public CustomCOMClient()
{
}
[DispId(1)]
public void OnCreate(int a)
{
//???
}
[DispId(2)]
public void SetRect(int left?? int top?? int width?? int height)
{
//???
}
}