0
我進口2種WINAPI功能,並利用它們在我的課無法找到一個切入點
using namespace System::Runtime::InteropServices;
[DllImport("user32",ExactSpelling = true)]
extern bool CloseWindow(int hwnd);
[DllImport("user32",ExactSpelling = true)]
extern int FindWindow(String^ classname,String^ windowname);
public ref class WinApiInvoke
{
public:
bool CloseWindowCall(String^ title)
{
int pointer = FindWindow(nullptr,title);
return CloseWindow(pointer);
}
};
然後,我創建主程序對象,並調用CloseWindowCall
方法
Console::WriteLine("Window's title");
String ^s = Console::ReadLine();
WinApiInvoke^ obj = gcnew WinApiInvoke();
if (obj->CloseWindowCall(s))
Console::WriteLine("Window successfully closed!");
else Console::WriteLine("Some error occured!");
當我在控制檯寫例如國際象棋泰坦關閉我有一個錯誤 Unable to find an entry point named 'FindWindow' in DLL 'user32'
什麼切入點?
我認爲它必須是'[DllImport(「user32.dll」)]'。 – svick
爲什麼使用C++/CLI中的p/invoke?您可以只使用混合模式程序集和'#include'。 –