草庐IT

虚拟设备

全部标签

c# - 如何从 WM_DEVICECHANGE 获取设备信息?

我正在开发一个C#程序,以便在插入设备后立即检索设备的信息。我想问一下,有什么方法可以根据设备插入/拔出时触发的WM_DEVICECHANGE事件获取设备的信息(名称、ID、...).我尝试查看WM_DEVICECHANGE的参数,但其中没有任何内容包含有关设备的信息。提前致谢。 最佳答案 我刚刚在这里回答了类似的问题:https://stackoverflow.com/a/57182910/1886251以下是您需要执行的操作的详细信息:通过WM_DEVICECHANGE获取设备信息您需要在名为RegisterDeviceNoti

windows - 为什么有时 .data 部分的虚拟大小大于原始大小?

最近我发现,PE中的.data部分的虚拟大小可以大于原始大小(在文件中)。这是相当令人吃惊的。有人说这是某处未初始化数据的结果。但是在分析了一些PE之后,实在找不到这个多余的数据。以下是某些程序的PEDump结果的链接:"Helloworld"PEDump如您所见,.data部分的虚拟大小大于原始大小。为什么在这个特定示例中会这样? 最佳答案 任何初始化数据的值都存储在该部分中,如果二进制文件想在内存中为任何未初始化数据保留空间,则虚拟大小将大于原始数据大小。您不会在文件中找到此数据,因为它不需要存在于此。引用数据(在代码部分中)的

windows - 直接访问 Windows 虚拟打印机端口

似乎有一种方法可以在不使用专用打印机驱动程序的情况下直接向WindowsUSB虚拟打印机端口(例如USB001)写入和读取数据。有人知道怎么做吗? 最佳答案 最简单的方法是我在原始评论中提出的方法。您可以使用您想要的任何驱动程序创建USB打印机(通用文本总是工作良好),然后将其共享。从这里您可以使用类似的方式连接到共享netuselpt1\\your_workstation\printer_share然后您可以打印到lpt1(或复制到lpt1),您将利用Windows假脱机程序将文件获取到那里。另一种选择是在代码中执行此操作,将数据

android - 访问调制解调器 - Android 设备 (Nexus 5)

Device:GoogleNexus5(Un-rooted)HostMachine:Window7我想将Android设备作为调制解调器访问(使用COM或调制解调器端口)并最终使用HyperTerminal/Teraterm传递AT命令。所以在将设备连接到WindowsBox后,设备在设备管理器下被检测到,但没有显示任何COM端口(默认COM0除外)。右键更新驱动,提示找不到驱动我已经尝试了以下选项,但没有成功。尝试过this在rootNexus5上,但不会公开使用哪个/dev/smdX。尝试了所有组合,但没有用。尝试了GoogleUSBDrivers来自GoogleAndroid的网

c++ - 检测移除打开的串口设备(Qt/Windows)

我有一个Qt应用程序,它通过串口与加密狗通信(它是一个FTDI芯片)。我轮询QSerialPortInfo::availablePorts()以检测何时添加或删除端口,然后向加密狗发送一个空行以识别它(我的加密狗用它的ID对此做出响应,我指望它对99%的其他设备无害)。一切正常,除了如果您在连接处于事件状态时移除加密狗,连接似乎没有关闭并且端口仍在QSerialPortInfo::中返回availablePorts().有谁知道在我连接到串行加密狗时如何检测它的移除(除了像ping之类的黑客攻击)。我试过监听QSerialPort发出的所有信号(error()、readChannelF

c++ - 通过系统虚拟串口向蓝牙发送字节

我希望能够在C++中通过蓝牙发送和接收数据。我发现系统(win8.1)为配对设备创建了2个虚拟端口。当我尝试使用WriteFile将数据发送到连接的端口(“传入”)时,函数返回成功并且写入了0个字节。我的问题无法向虚拟BT串口发送和读取字节。我使用“GetDefaultCommConfig”来检查串行端口是否处于事件状态。它适用于USBUART连接,但有时无法连接虚拟端口。我的问题:我应该连接到2个端口,将字节写入“outgoing”并监听“传入”端口?我应该在我的代码中更改什么来解决我的问题?为什么Windows为蓝牙创建2个串口?代码:#define_CRT_SECURE_NO_W

c# - 查找串行设备 COM 端口

我有一个WindowsC#应用程序。该应用程序通过串行端口连接到RFID读卡器。虽然我默认给它COM端口3。我遇到了用户端口不可用并且他正在使用的端口与他的Windows操作系统不同的情况。我的应用程序确实为用户提供了更改COM端口的能力,但是要找到他们的操作系统正在使用哪个COM端口,用户需要转到设备管理器并进行检查,新手可能不太适应。有没有一种功能或方法可以准确地找到我的RFID卡在Windows中连接到哪个端口,以便我可以简单地显示如下:应用程序端口设置为:COM....操作系统上的设备连接端口:COM....另外我的目标框架是3.5编辑1:尝试使用SerialPort.GetP

c# - 发送被 GetAsyncKeyState() 忽略的虚拟鼠标点击?

我整天都在试验和搜索,但终究还是想不出如何做到这一点。如标题所示,我希望能够发送被GetAsyncKeyState()之类的东西忽略的鼠标点击。基本上我在做什么://Whilephysicallyholdingleftmousebutton...while(GetAsyncKeyState(0x01)!=0){//leftmousebuttonvirtuallydown(obviouslyalreadyisdownthefirstloop)mouse_event(2,0,0,0,0);Thread.Sleep(100);//leftmousebuttonvirtuallyupmouse

windows - 如何为较低的过滤磁盘驱动程序的内部设备控制请求正确注册完成例程?

我目前正在编写一个较低的过滤磁盘驱动程序来捕获SCSI命令,并测量每个命令的性能。目前,我的驱动程序能够捕获SCSI请求,并将其传递给下一个驱动程序。但是,当我尝试注册完成例程时,我得到以下状态:0xc0000010(STATUS_INVALID_DEVICE_REQUEST)。没有完成例程的工作代码:WDF_REQUEST_SEND_OPTIONS_INIT(&options,WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET);WdfRequestSend(Request,Target,&options);带有完成例程的失败代码:WdfRequestFo

python - 将虚拟打印机的输出重定向到 Python 脚本

我的意图是实现以下场景:Windows或Linux用户发出打印文档的命令(使用Ctrl+P)并在可用打印机列表中查看虚拟打印机(虚拟打印机)用户选择打印机并给出打印命令虚拟打印机不会实际打印,而是自动将文件连同选定的纸张尺寸、格式等发送到python脚本作为输入[可选地在将其转换为PDF之后]。Python脚本将文件上传到云端或某些远程存储,以后可以在需要时从那里检索文件并在物理打印机上打印。我已经在StackOverflow上提到了一个类似的现有问题的答案,并查找了CUPS和CUPS-PDF。CUPS_PDF是一台虚拟打印机,因此它满足了我的一个标准,但它不允许我处理发送来打印的文件