【发布时间】:2011-11-03 04:52:27
【问题描述】:
我需要 vb.net Getkeystate Function() 的代码而不使用任何 DLL。我是从 vb 到 vb.net 的 API 转换的初学者。在 vb6 中他们使用 user32 DLL。在 Vb.Net 中我需要调用 Getkeystate 函数没有那个“User32.dll”功能。任何人都可以在不使用 dll 的情况下向我发布代码吗? 有没有办法在不使用 vb.net 中的那个 dll Getkeystate 函数的情况下获得关键状态?如果任何人知道等价的意思是告诉我代码。那些代码应该在.net框架中使用。
vb:
Private Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As Long) As Integer
Dim keystate As Long
keystate = GetKeyState(27)
MsgBox keystate
vb.net
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
On Error Resume Next
Dim KeyState As Long
KeyState = GetAsyncKeyState(17)
MsgBox(KeyState
【问题讨论】:
-
什么样的应用程序? WPF、WinForms、控制台?
-
Windows 应用程序(获取转义键状态)
-
要求无 DLL 解决方案没有任何意义,因为这正是它所需要的。您的声明是错误的,请在 pinvoke.net 获取正确的声明
-
哎呀,上面的代码对我有用。这里我展示的示例代码就是这样。但在我的项目中,我被正确声明了。它正在工作。
-
您的应用程序已经使用了 user32。没有它,您将无法与用户交互。你应该学习一些windows的基础知识。
标签: .net vb.net winapi pinvoke