Rileva l'hardware touch tramite VBScript


0

Sto cercando un modo per rilevare l'hardware touch installato utilizzando VBScript. La mia sceneggiatura non funziona.

Questo script ha lo scopo di cercare un dispositivo di puntamento ed eco di conseguenza.

    On Error Resume Next
    strComputer = "." 
   WScript.Echo "=========================================="
   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PointingDevice")
 For Each objItem In colItems
    TouchDevice = objItem.PointingType
    if TouchDevice = 8 then
        Wscript.Echo "Found touch based hardware"
        WScript.Echo "=========================================="
    Else
        Wscript.Echo "No Touch based hardware found"
        WScript.Echo "=========================================="
    End If
Next

Computer: notebook touchscreen Dell 15R 5537 con Windows 8 Enterprise.
Dispositivo di puntamento: touch screen, mouse, touch pad
Come eseguo lo script: fai doppio clic sul file .vbs o
eseguilo tramite il prompt dei comandi Cosa succede: secondo il mio script, se TouchDevice == objItem.PointingType == 8, dovrebbe essere visualizzato quell'hardware touch è stato trovato ma continua a non trovare hardware touch.

Riferimento: classe WMI win32_PointingDevice


non ero sicuro di come farlo prima, ora devo solo assicurarmi di farlo bene!
gioco di

Il tuo obiettivo è semplicemente quello di rilevare la presenza di qualsiasi dispositivo di puntamento basato sul tocco e segnalare se ne è stato trovato uno? Sarebbe più appropriato attendere fino a quando non si dispone del dispositivo e provarlo. Se non funziona, ci sarebbe una base per diagnosticare il problema. È difficile per qualcuno guardare una sceneggiatura e immaginare tutti i problemi teorici che potrebbe avere. Lo script potrebbe avere qualche sottile errore che non viene notato, ma un fallimento lo renderebbe ovvio. In pratica stai chiedendo un parere in questa fase, che non è coerente con gli obiettivi del sito.
fixer1234,

Questo script non funziona. Impossibile rilevare il touchscreen. Posso ottenere alcune indicazioni adesso?
gioco di

Potete fornire alcune informazioni supplementari? modello di computer e sistema operativo? Dispositivo di puntamento? Come si esegue lo script? Cosa succede quando si esegue lo script?
fixer1234

Hai confermato che il tuo dispositivo riporta effettivamente il valore 8? Ho provato questo su un tablet Windows 8 e riporta 2 (= sconosciuto) come valore per PointingType
Syberdoor

Risposte:


1

Sfortunatamente, come hai visto, la struttura win32_PointingDevice non viene utilizzata correttamente.

Puoi comunque farlo, analizzando win32_PnPEntity invece per "touch".

On Error Resume Next
strComputer = "." 
WScript.Echo "=========================================="

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PnPEntity")
For Each objItem In colItems
    If InStr(1, objItem.Description , "touch", 1) > 0 Then
        Wscript.Echo "Found touch based hardware: " & objItem.PnPDeviceID
        WScript.Echo "=========================================="
    End If
Next

Questo fa praticamente la stessa cosa del tuo tentativo di esempio, ma esamina la descrizione dell'oggetto di ogni dispositivo PnP per la parola "tocco" ed elenca quell'oggetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.