找不到DllImport C ++

时间:2015-10-04 23:47:22

标签: dllimport

我在使用<html> <head> <title>title</title> <style> #box_1 > p:hover { background-color: #a80; } </style> </head> <body> <div id="box_1"> <p>18901 Kansas Avenue, Jimmytown, NE </p> <p>5015 Cornman Lane, Crybaby, MN </p> <p>847 Halfstack Avenue, Crumble, GA </p> </div> </body> </html> 功能时遇到问题!

DllImport

运行时会显示没有属性。我正在使用带有C ++的Windows窗体。我非常喜欢WindowsForms。

using namespace System;
using namespace System::Runtime::InteropServices;

[DllImport("user32.dll")]

1 个答案:

答案 0 :(得分:1)

就我们所见,您的代码运行良好。例如,这个程序

using namespace System;
using namespace System::Runtime::InteropServices;

[DllImport("user32.dll")]
extern int MessageBox(System::IntPtr hwnd, System::String^ text, System::String^ caption, 
    unsigned int uType);

int main(array<System::String ^> ^args)
{
    MessageBox((System::IntPtr)0, "foo", "bar", 0);
    return 0;
}

生成预期的消息框。

非常值得指出的是,使用C ++ / CLI中的p / invoke似乎是一个非常毫无意义的练习。您可以直接链接到非托管代码。这样的C ++ / CLI程序编写起来会更自然:

#include <Windows.h>

int main(array<System::String ^> ^args)
{
    MessageBoxA(0, "foo", "bar", MB_OK);
    return 0;
}