让我们选择以下 Win API 调用作为示例:
BOOL MessageBeep(UINT uType); // from User32.dll
输入参数是 UINT 来指定蜂鸣类型,可以是 32 位和 64 位整数,具体取决于我们调用它的 Windows 版本(还是我错了?)。 p>
如果我想从 C# P/Invoke 消息蜂鸣声,那么我应用 DllImport 声明:
[DllImport("User32.dll")]
static extern Boolean MessageBeep(UInt32 beepType);
这段 C# 代码可以在 Windows x64 下运行吗?
- 如果是,为什么可以调用 32 位整数,而需要 64 位整数(假设我对此是正确的)?
- 如果不是,正确的平台无关 P/Invoke 声明在 C# 中应该是什么样子?
最佳答案
关于.net - 32 位和 64 位系统上的 P/Invoke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447410/