我厌倦了查找方法签名。我只想输入类似User32.SendMessage...
的内容。有类似的东西吗?
基本上有一个带有一堆定义的静态类,如:
[DllImport("user32.dll")]
public static extern bool SetParent(int hWndChild, int hWndNewParent);
答案 0 :(得分:3)
没有内置类或静态库来做到这一点。但是,您可以尝试谷歌搜索一些免费的库,甚至编写自己的实现。
问题是,user32.dll是win32 api的一部分,它最初用于C ++应用程序。当微软推出.NET(不久之后,C#),他们没有提供原生支持 - 为了运行.NET应用程序,你需要.NET dll二进制文件。
因此,在Microsoft决定纠正此问题之前,您必须坚持使用一堆定义。
答案 1 :(得分:3)
不要这样做。
user32.dll在不同版本的Windows中不包含相同的功能。如果您只是全部导入所有内容,则很可能确保您的程序只能在您当前使用的特定版本的Windows上运行。
每次导入本机函数时,都应该检查它来自哪个版本 - 并确定这是否是您可以使用的依赖项。