【问题标题】:C# IntPtr valuesC# IntPtr 值
【发布时间】:2018-08-20 15:37:48
【问题描述】:

我想知道 IntPtr 的不同值是什么意思。例如,我知道 202 表示左键向上。在哪里可以找到值列表?我对562、274和161的含义特别感兴趣。谢谢!

【问题讨论】:

  • 你从哪里得到的信息? IntPtr 是 .NET 中用于指针的特定数据类型,说 IntPtr 值 202 表示左按钮,没有任何上下文,它本身就是不正确的,除非你解释为什么以及如何使用它
  • 你的意思是Virtual Key Codes
  • 嗯,不,202是消息号。它是一个 int,而不是 IntPtr。获得成功的基本方法是谷歌“windows message numbers”。或者简单地将 Debug.WriteLine(m.ToString()) 添加到您的 WndProc() 方法中,它足够聪明地解码消息,如果它是已知的。

标签: c# wndproc intptr


【解决方案1】:

IntPtr 只是 C# 中的一个整数值(准确地说,native (platform-specific) size integer),通常用于与非托管代码的互操作。脱离上下文的值没有特定的含义。

看起来您使用的是 WinAPI 消息,因为 202 来自 #define WM_LBUTTONUP 0x0202

您似乎还混淆了十六进制和十进制值。

其他值请参阅文档:https://docs.microsoft.com/en-us/windows/desktop/inputdev/wm-lbuttonup

【讨论】:

    猜你喜欢
    • 2010-12-30
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多