我对试图找出一个有效的例子感到非常生气。是的,我是 VB.Net 的新手。我用 VB6,很久以前。我只是不能让那件事做我想做的事。
我的项目:我完全厌倦了使用 Steam 和其他 3rd 方应用程序,这些应用程序需要配对和非常困难或长时间的配置才能从非 Xinput 控制器模拟 XBox 控制器。我买了一个 RegeMoudal Pro 控制器,当然,Windows 不会读取任何按钮条目,我需要使用第三方应用程序。应用程序的问题在于它们需要太多配置。我只想将控制器的输入转换为 Windows 可检测输入,仅此而已。
所以,既然我不能在 FASM 中做这样一个复杂的项目而不会到处打断我的头,我选择了简单的方法,老派。我花了 2 天时间才弄清楚我必须参考 UWP 和其他一些东西。现在,我对自己说,如果我只能获得至少通过蓝牙连接的设备列表,我将能够从某个地方开始,但不行。无论我发现什么,除了我几乎不理解的非常复杂的代码之外,没有人可以以干净的方式使用任何 Visual Basic 代码。
有人可以帮我至少找出如何在蓝牙上列出所有设备。我不在乎它们是否已连接,我只想列出设备。
这是我得到的。一个带有 1 个单按钮和 1 个单标签的简单表单。我知道,这只是有一堆错误。
Imports Windows.Devices.Bluetooth
Imports Windows.Devices.Enumeration
Public Class FrmMain
Private Sub BouGetdev_Click(sender As Object, e As EventArgs) Handles BouGetDev.Click
Dim odevices = New DevicePicker
Dim odev As DeviceInformation
Dim sdevices As String
sdevices = ""
LabRes.Text = "Searching devices..."
For Each odev In odevices
sdevices = sdevices & Chr(13) & odev.GetType.Name
Next
End Sub
End Class
我只是不知道如何完成这个简单的任务,所以温和的帮助会很好。
我感到气馁,因为 Windows 没有捕获检测为蓝牙 Pro 控制器的控制器的任何输入,但一个简单的网页确实捕获了每一个输入,所以我很生气,因为我等这个控制器很久了,因为 XBOX ONE 控制器严重操纵杆问题并让我愤怒地退出游戏,因为操纵杆在释放它时会向后轻轻敲击,所以那些 Xbox 控制器现在在我的黑名单上,因为即使微软将其发回给我,它也有完全相同的问题,所以我得到了退款。
现在,我想创建我自己版本的 Pro Controller 到 Xbox Controller 输入应用程序。我坚持使用 Visual Basic 代码,而不是 C++ 或 C#。这是针对 WINDOWS 的,而不是针对 android 或任何其他系统的。参考微软的网站帮助也无济于事,因为他们没有在 Visual Basic 中提供示例,我只是不明白他们用来解释一切的语言,我只是一个简单的人,哦,可以的示例需要作为项目下载。我只想要一个示例代码,无需下载任何东西即可使用。
因此,在对 VB 进行了如此多的尝试并尝试搜索之后。我终于找到了如何在 Visual Basic (VB.Net) 中列出蓝牙设备。
首先,您需要 32Feet.Net。我遇到了 NuGet 问题。我完全不知道那是什么。搜索后,我发现可以使用 7zip 或其他类似应用程序轻松解压缩 nuGet 包。因此,这里是准备 Visual Basic aka VB.Net 以使用蓝牙设备所需的步骤。
现在您将能够使用蓝牙功能。接下来,我们需要导入函数,以便在您编写代码时可以使用它们,因此您需要将此行放在项目的开头:
Imports InTheHand.Net.Sockets
完成此操作后,您可以列出蓝牙设备。我将解释我是如何制作示例窗口的。我放了 1 个按钮、1 个标签和 1 个计时器对象。当使用“Application.DoEvents()”按照上面提到的解决方案更改标签时,我的标签仍然没有更改文本。所以我使用了一个带有计时器的旧 VB6 技巧。我只是禁用了一个计时器对象,当单击按钮时,我启用了执行我想要的操作的计时器。1 非常重要的事情,一旦您开始计时器操作,请在执行此计时器内的任何任务之前立即禁用您的计时器,否则您的功能将以计时器滴答的速度重复。
所以这是我的完整代码,它在 Visual Basic (VB.Net) 中列出了 y 计算机上的蓝牙设备的名称。
Imports InTheHand.Net.Sockets
Public Class FrmMain
Private Sub BouGetdev_Click(sender As Object, e As EventArgs) Handles BouGetDev.Click
LabRes.Text = "Searching devices..."
TmrBTScan.Enabled = True
BouGetDev.Enabled = False
End Sub
Private Sub TmrBTScan_Tick(sender As Object, e As EventArgs) Handles TmrBTScan.Tick
Dim bt_client As BluetoothClient = New BluetoothClient()
Dim odevices As BluetoothDeviceInfo() = bt_client.DiscoverDevices().ToArray()
Dim odev As BluetoothDeviceInfo
Dim sdevices As String = ""
Dim schr = ""
TmrBTScan.Enabled = False
For Each odev In odevices
sdevices = sdevices & schr & odev.DeviceName
schr = Chr(10) & Chr(13)
Next
LabRes.Text = sdevices
BouGetDev.Enabled = True
End Sub
End Class
这应该列出所有蓝牙设备的名称。至少,它对我有用,我希望这可以帮助其他正在寻找非常明确的步骤的人,这些步骤包括下载什么、安装什么、获取什么、导航到哪里、哪些文件和代码行。获得完整的说明真的很难,所以我希望这会有所帮助。
感谢那些在这里帮助我的人。我不得不做一些深入的搜索,但至少我现在可以开始我的项目了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句