从C#开始,没有看到COM对象的公开方法

时间:2017-01-20 13:02:34

标签: c# c++ com-interop atl

我有Visual Studio 2015.我创建了一个Visual C ++ ATL项目。我把它命名为WinHookLayer。 使用向导我添加了一个类并选择了ATL COM + 1.0 Component并创建了一个名为HookWrapper的类,然后单击Finish。

从类视图中,我向HookWrapper添加了一个名为SetMouseHook的方法。 在HookWrapper.cpp中,我看到生成了以下代码: -

STDMETHODIMP CHookWrapper::SetMouseHook(LONG threadId, LONG* result)
{
    // TODO: Add your implementation code here
    return S_OK;
}

我在其中添加了我的代码,制作了dll并注册了它。 然后我创建了一个C#Windows窗体应用程序。我添加了对WinHookLayer.tlb的引用 并使用WinHookLayerLib添加;在.cs文件中。

我写了

HookWrapper hkWrapper = new HookWrapper();

直到现在它运作正常。 但是从hkWrapper看不到SetMouseHook函数。

我可以看到方法“Equals”,“GetHashCode”,“GetType”和“ToString”,但不是我添加的方法。

0 个答案:

没有答案