я импортировать две функции 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
Почему вы используете p/invoke из C++/CLI? Вы можете просто использовать сборку смешанного режима и '#include'. –