What is the WMI class to get information about Wireless mouse?
EDIT: How do I distinguish USB mouse from Wireless mouse(Connected via USB Doggle). DeviceInterface value from Win32_PointingDevice class shows as 162 for both because both are connected via USB. But I want to distinguish between these mouses.
As long as it is registered as a mouse, it should be in the Win32_PointingDevice class, which is under the CIMV2 WMI namespace.
Get the free Microsoft WMI Code Creator tool to browse the classes and their properties, you can also generate code and execute methods on the classes, really useful for any kind of WMI stuff.
Related
I have the usb to com converter, whith have own driver with graphic interface. I need to change some parameter by c# .net code. Driver allows changing only by window interface, I asked tech support. Is it possible to intersept command to hardware? View of drivers window.
Device : Moxa UPort 1250
I am writing C++ code for listing USB HID devices that uses HidD_GetProductString(). One particular device, despite the function's success, returns an empty string.
The classic Device Manager and gwmi in PowerShell both list the device using a generic name. However, Windows 10 Immersive Control Panel's Bluetooth and other devices window lists this device with its actual full name, which does not seem to appear anywhere. I did not find it in the registry either. I want to get access to this information.
Does anyone know where this app gets its information from?
My suspicion is that it gets it directly from the System process, which is also a holder of an open file handle to a device file, and perhaps it is the reason why the function returns an empty output. If so, how could I do it? Any suggestion is appreciated...
I'm writing a Windows driver. So far everything looks OK and the driver installs / works as desired. I can't figure out how to set driver group to one of the existing groups and icon-sets.
By driver group I mean the group that you see in Device Manager (Monitors, Network Adapters, Processors, Ports (COM & LPT), etc.)
Even if I write the same name, Device manager will create a new group:
[Strings]
ClassName="Keyboards"
Also, I found no way of setting the icon for my device. I tried setting Class to Keyboard, HIDClass, System, whatever, but the icon shown is always that of Network adapters.
[Version]
Class=SCSIAdapter ;System
How can I properly set the desired group and icon?
I know this post is a year old, but figured I would drop my thoughts for the benefit of future needs.
To achieve what you are trying to do, you need to specify both a Class and a ClassGuid for an inbox class within the Version section.
[Version]
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Note that you can not change name or the icon for inbox classes.
For the device icon you can easily set it using AddProperty directive within a DDInstall section. MSDN AddProperty Directive
The following is a quote from a post over on osronline.com from Doron Holan from Microsoft:
download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/CustomIcon.doc
Abstract
{ This paper summarizes the steps device vendors take to customize device icons in My Computer, Autoplay, Device Manager, and New Hardware dialogs in the Microsoft Windows family of operating systems.
Specifying a per driver package icon
technet.microsoft.com/en-us/evalcenter/ff543520(v3Dvs.100).aspx
The DEVPKEY_DrvPkg_Icon device property represents a list of device icons that Windows uses to visually represent a device instance.
I am trying to figure out what class and GUID a TV or Projector belongs to in Windows OS?
Theres over 20 of them and I'm not sure which one a TV or Projector is part of. Here is the complete list
I suspect its one of the following HIDClass, Monitor, Media, etc.
DONT CLOSE THIS: I need to know this because knowing what class a TV is will tell me what GUID I need to use for the function SetupDiGetClassDevs(). This a relevant programming question!!
Here are the differences between HID and USB device APIs:
API Namespace Access type
USB Windows.Devices.Usb exclusive read & exclusive write
HID Windows.Devices.HumanInterfaceDevice shared read & exclusive write
Here are some CLSIDs for Device specific toolbars:
CLSID Device
{29c93b94-45ef-44b3-8ad5-5ec104e0f9c6} NEC LCD Projectors Toolbar
{b686afa8-7ca2-4c19-b9a8-ed364f126907} AOL Television Toolbar
References
Windows Store device apps for internal devices
Windows Media SDK, How to determine a device is a media center device?
Multimedia Streaming on Microsoft Windows CE 3.0
CLSID List: Television
I have two USB mice connected to my Mac, one of which I'm using as a scanner. I need access to the Generic X and Y data but I don't want that data to move the cursor. How, under either carbon or cocoa environments, do I tell the system to ignore the mouse as a pointing device?
Edit: after some digging I've found that I can turn off mouse position updating with the CGAssociateMouseAndMouseCursorPosition() function, but this does not allow me to specify a single mouse. Can anyone explain the OS X relationship between HID mouse devices and the cursor? There has to be a binding between the hardware and software on a device by device basis but I can't find it.
I would look into writing a basic user-space driver for the mouse.
This will allow you direct access to the mouse as a USB device. You can also take control of the device from the system for your exclusive use.
There is some documentation here:
Working With USB Device Interfaces
To get you started, the set up steps to connect to a USB device go like this (I think, my IOKit is rusty)
include < IOKit/IOKitLib.h > and < IOKit/usb/IOUSBLib.h >
find the device you are interested in using IOServiceMatching(). This lets you pick find the correct USB device based on its properties, including things like vendor ID, &c. (See the IORegistryExplorer tool screen shot below)
get a USB plugin instance (let's call it plugin) with IOCreatePlugInInterfaceForService()
use plugin from step 2 get a device interface (let's call it device) using (**plugin)->QueryInterface()
device represents a connection handle to your USB device--open it first using either (**device).USBDeviceOpen or (**device).USBDeviceOpenSeize(). from there you should be able to send/receive data.
Sounds like a lot I know.. and there might be an easier way, but this is what comes to my mind. There may be some benefits to having this level of control of the device, not sure. good luck.