小编Dr *_*nke的帖子

VB.net Integer 和 Short 转换,GetMessagePos()

我正在尝试在 VB.net 中使用DWORD WINAPI GetMessagePos(void)函数。

该函数返回一个 DWORD(32 位),它可以存储在 VB.net 整数变量中。引用自 MSDN 文档:

x 坐标在返回值的低位;y 坐标在高阶 short(两者都表示有符号值,因为它们可以在具有多个监视器的系统上取负值)

如何使用 vb.net 检索 x 和 y 坐标?

我目前正在尝试

<System.Runtime.InteropServices.DllImport("user32.dll", ExactSpelling:=True)>
Private Shared Function GetMessagePos() As Integer
End Function
Sub test()
    Dim pos As Integer = GetMessagePos()

    Try
        Dim x As Short = CShort(pos And &HFFFF)
        Dim y As Short = CShort(pos >> 16)

        MessageBox.Show(x & ", " & y)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是正确的做法。我正在尝试做一些测试,比如

    Try
        Dim x …
Run Code Online (Sandbox Code Playgroud)

vb.net winapi twain c#-to-vb.net

4
推荐指数
1
解决办法
947
查看次数

标签 统计

c#-to-vb.net ×1

twain ×1

vb.net ×1

winapi ×1