暂时禁用usb鼠标所在的usb口?

解决方案 »

  1.   

    一般USB鼠标在设备管理器中显示HID-Compliant Mouse,可以用SetupDiGetDeviceRegistryProperty列举设备,用SPDRP_DEVICEDESC,如果找到这个HID设备,就把它禁用掉。禁用代码:
    DWORD pSize=0;
    SP_PROPCHANGE_PARAMS spPropChangeParams;                              
    spPropChangeParams.ClassInstallHeader.cbSize=sizeof(SP_CLASSINSTALL_HEADER);   
    spPropChangeParams.ClassInstallHeader.InstallFunction=DIF_PROPERTYCHANGE;   
    spPropChangeParams.Scope=DICS_FLAG_GLOBAL;   //DICS_FLAG_CONFIGSPECIFIC //DICS_FLAG_GLOBAL
    spPropChangeParams.StateChange=State;   
    //禁用:DICS_DISABLE,DICS_ENABLE启用   
    if(!SetupDiSetClassInstallParams(hDevInfo,&spDevInfoData,(SP_CLASSINSTALL_HEADER*)&spPropChangeParams,sizeof(spPropChangeParams)))   
    {
    DWORD errorcode=GetLastError();
    }             
    if(!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,hDevInfo,&spDevInfoData))   
    {
    DWORD errorcode=GetLastError();   
    }