GetCommState始终为false

时间:2015-10-01 20:40:01

标签: c++ usb port msdn getlasterror

我试图制作一个简单的控制台程序,读取鼠标插入USB的所有信号。我遇到了一个问题:GetCommState(nCom,& dcb)总是返回零,这对我的任务来说不是很有用。 这是代码:

{ 
  isMobile: false,
  isiPad: false,
  isiPod: false,
  isiPhone: false,
  isAndroid: false,
  isBlackberry: false,
  isOpera: false,
  isIE: false,
  isIECompatibilityMode: false,
  isSafari: false,
  isFirefox: false,
  isWebkit: false,
  isChrome: true,
  isKonqueror: false,
  isOmniWeb: false,
  isSeaMonkey: false,
  isFlock: false,
  isAmaya: false,
  isEpiphany: false,
  isDesktop: false,
  isWindows: false,
  isLinux: false,
  isLinux64: false,
  isMac: false,
  isBada: false,
  isSamsung: false,
  isRaspberry: false,
  isBot: false,
  isCurl: false,
  isAndroidTablet: false,
  isWinJs: false,
  isKindleFire: false,
  isSilk: false,
  SilkAccelerated: false,
  Browser: 'Chrome',
  Version: '44.0.2403.155',
  OS: 'unknown',
  Platform: 'Microsoft Windows',
  GeoIP: {},
  source: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
}

GetLastError()返回1,但潜伏在这个问题上没有给我带来任何结果。

这只是一个来自msdn例子的copypaste,但它发生在我身上并不适用。

请告诉我:我应该做些什么来让它返回非零并让我继续执行另一部分任务。

1 个答案:

答案 0 :(得分:2)

USB鼠标与COM端口无关,因此调用GetCommState毫无意义。

串行鼠标是古老的硬件,自1995年左右过时。现代USB鼠标基于USB HID协议。