我有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”,但不是我添加的方法。