PDA

View Full Version : Creare evento alla connessione di una periferica


Blue_screen_of_death
08-07-2013, 16:50
Allora.... ho bisogno di condividere uno scanner in una rete LAN. Posso farlo tramite un programmo, RemoteScan. Questo programmino, si configura per partire automaticamente all'avvio di Windows, e se non trova lo scanner collegato mostra un errore: "Lo scanner non risponde, BLABLABLA".

Per evitare questo fastidioso inconveniente, avevo pensato di far partire il programma appena viene connesso lo scanner. Mi serve un sistema per registrare un evento nel Visualizzatore eventi ogni qualvolta viene connesso lo scanner. Così, tramite l'utilità di pianificazione posso far partire il programma ogni volta che viene registrato quell'evento.

Ecco. Veniamo alla domanda. Come fare a scrivere un evento nel Visualizzatore eventi non appena viene collegata una periferica?

Khronos
08-07-2013, 17:50
di sicuro succede ben più di un evento, quando attacchi lo scanner.
hai presente le operazioni pianificate?
le condizioni per l'attivazione includono una lista oscena di possibilità (oltre all'inserimento manuale di script). ho letto anche la voce "eventi Hardware", ma purtroppo NULLA riguardo il driver TWAIN. -.-

leggendo qui (forensicwiki) (http://www.forensicswiki.org/wiki/USB_History_Viewing) e aguzzando la mia testa, mi sono dato un colpo in faccia.

USBDeview (clicca e scarica). (http://www.nirsoft.net/utils/usb_devices_view.html)

annotati tutta la riga inerente allo scanner, e assicurati che rimanga sempre allo stesso indirizzo (è in tempo reale, stacca e attacca lo scanner, vedrai il pallino verde diventare grigio e viceversa.

Khronos
08-07-2013, 17:56
ODDIDIIIOOOOOOOOO!!!!!!!!!!!!!!

USBDEVIEW!

MENU OPTIONS!!!!!!
Advanced Options.

va vista la sintassi ma sta li. senza NIENT'ALTRO Da fare.!


PS.
spero che lo scanner sia USB.
non l'hai specificato, indi...
son' azzi tuoi.

aspetto risposta
:D

Blue_screen_of_death
08-07-2013, 18:46
Ho fatto qualche tentativo con USBDEVIEW, ma ci sono alcuni problemi.

1. Il programma non mi fa scegliere a quale periferica associare l'apertura del programma. Quindi, se in Advanced Options configuro l'apertura di RemoteScan, mi si apre per ogni periferica che collego :D

2. Questa è bella :D configuro l'apertura di cmd quando viene collegata una periferica, collego una qualsiasi periferica USB e mi apre una copia di cmd per ogni periferica USB che ho...

Qualche idea?

Edit. Si lo scanner è USB.

Khronos
08-07-2013, 20:52
scusa, eh:

"you can use the following variables"

%device_name% %device_desc% %drive% %serial_number% %vid% %pid% %vid_hex% %pid_hex% %device_type% %service_name% %device_class% %device_mfg% %driver_file% %driver_version% %power% %firmware_revision% %product_name% %vendor_name% %usb_version%

quelle in grassetto ci servono eccome.

io direi.
creiamo un batch che viene lanciato tutte le volte.
che controlla una di quelle variabili.
e se la trova uguale al tuo scanner...parte il programmino.

x_Master_x
09-07-2013, 15:36
Puoi scrivere qual'è ID istanza periferica? E' una cosa tipo:
USB\ROOT_HUB20\4&6A987E4&0
La trovi in Gestione Dispositivi, in Driver della scheda dello scanner

Blue_screen_of_death
09-07-2013, 15:47
Intendi l'ID hardware dello scanner?

USB\VID_04E8&PID_344F&REV_0100&MI_01
USB\VID_04E8&PID_344F&MI_01

x_Master_x
09-07-2013, 15:50
No, intendo quello che ho detto :D
Si chiama proprio "ID istanza periferica", è la prima voce in "Dettagli"

Blue_screen_of_death
09-07-2013, 16:01
haha Perdonami ma proprio non lo trovo... la prima voce nella scheda Dettagli è Descrizione del dispositivo.

Però in compenso ho trovato una cosa simile:

Percorso istanza dispositivo. Spero vada bene! (:D)

USB\VID_04E8&PID_344F&MI_00\7&9C5A4E1&0&0000

x_Master_x
09-07-2013, 16:25
Chi fa da sé fa per tre :D

Scarica questo ed avvialo:
-Rimosso-

Genererà un file di testo. Scrivimi sotto CODE tutte le informazioni riguardanti allo scanner ( non di tutte le periferiche USB che hai, grazie :D )

Blue_screen_of_death
09-07-2013, 16:33
Caption: Dispositivo USB composito
Descrizione: Dispositivo USB composito
Nome: Dispositivo USB composito
IstanzaID: USB\VID_04E8&PID_344F\Z6TTB8KC9F006JH
PNPIstanzaID: USB\VID_04E8&PID_344F\Z6TTB8KC9F006JH

Caption: Samsung SCX-3400 Series
Descrizione: Samsung SCX-3400 Series
Nome: Samsung SCX-3400 Series
IstanzaID: USB\VID_04E8&PID_344F&MI_00\7&9C5A4E1&0&0000
PNPIstanzaID: USB\VID_04E8&PID_344F&MI_00\7&9C5A4E1&0&0000

Caption: Supporto stampa USB
Descrizione: Supporto stampa USB
Nome: Supporto stampa USB
IstanzaID: USB\VID_04E8&PID_344F&MI_01\7&9C5A4E1&0&0001
PNPIstanzaID: USB\VID_04E8&PID_344F&MI_01\7&9C5A4E1&0&0001

Caption: Samsung SCX-3400 Series XPS
Descrizione: Samsung SCX-3400 Series XPS
Nome: Samsung SCX-3400 Series XPS
IstanzaID: USBPRINT\SAMSUNGSCX-3400_SERIES\8&36C49A8A&0&USB002
PNPIstanzaID: USBPRINT\SAMSUNGSCX-3400_SERIES\8&36C49A8A&0&USB002

Caption: Samsung SCX-3400 Series
Descrizione: Coda di stampa locale
Nome: Samsung SCX-3400 Series
IstanzaID: SWD\PRINTENUM\{7F95FFAF-E745-4C05-84CE-6E2D7EFB9AE7}
PNPIstanzaID: SWD\PRINTENUM\{7F95FFAF-E745-4C05-84CE-6E2D7EFB9AE7}

Allora... in pratica lo scanner è unito alla stampante (cioè...insomma.. è una multifunzione... ecco! :D). per questo nell'elenco leggi anche "stampa"...

P.S. Intanto sto lavorando in C# per fare quello che ha detto Khronos. Però continuiamo anche con il tuo procedimento... che l'idea mi piace... :D

x_Master_x
09-07-2013, 16:53
Che casino :asd:

Ti spiego quello che dovrai fare, segui con attenzione:

EDIT: Togli lo scanner/stampante prima di procedere, mi ero dimenticato di scrivertelo, è la prima cosa :doh:

1) Scarica questo:
-Rimosso-
2) Stacca lo scanner/stampante dalla USB, avvia l'.exe e ti apparirà un messaggio, dovrai inserire il primo IstanzaID, cioè:
USB\VID_04E8&PID_344F\Z6TTB8KC9F006JH
Attento agli spazi e cose così, altrimenti perdi tempo
3) Ti apparirà il messaggio "inseririre lo scanner" --> CLICCA SU OK!
4) Dopo aver cliccato su OK ( ribadisco :D ) quindi con nessun messaggio presente collega lo scanner/stampante. Aspetta qualche secondo e:

Se appare un bel messaggio:
Puoi gioire! Funziona e mi scrivi quale è l'ID, poi me lo vedo io

Se non ti appare nessun messaggio:
Clicca ESC sulla tastiera e verifica che il processo Test2.exe non sia più presente. Ripeti dal punto 2) con tutti e 5 gli ID

P.S Io ho provato con il mio mouse USB e funziona, lo dico tanto per dire perchè credo che hai capito che non ti stò facendo perdere tempo ( al massimo è il contrario, scherzo :asd: )

Blue_screen_of_death
09-07-2013, 17:03
Si. Mi compare la finestra con l'ID (USB\VID_04E8&PID_344F\Z6TTB8KC9F006JH), quindi è quello che hai detto tu.

x_Master_x
09-07-2013, 17:09
Alla fine del mese, dopo regolare pagamento, avrai il tuo .exe personalizzato :O

Domani ti posto il programma che ti permetterà di avviare un software alla connessione dello scanner, devo solo togliere gli inutili messaggi, aggiungere una icona nella tray che ti permetta di capire che il programma è in esecuzione e chiuderlo da lì ( eventualmente ), infine aggiungere un .ini che ti permetta di scrivere il percorso del software da avviare.

Khronos
09-07-2013, 17:16
x_master_x, lo fai tramite WMI o vbscript o che altro? ^^

x_Master_x
09-07-2013, 17:19
Delfino curioso :D
WMI, non credo ci siano altre scelte.

Blue_screen_of_death
09-07-2013, 17:46
Perfetto!! Allora aspetto il programma... Grazie di tutto ^^

Ah, quasi dimenticavo... Alla fine mica l'ho trovato sto ID istanza periferica in Gestione dispositivi........ ma che fine avrà fatto? :D

x_Master_x
10-07-2013, 10:40
Download:
SCX-3400 Startup (http://www.yourfilelink.com/get.php?fid=840635)

Il funzionamento è semplice, al primo avvio verrà creato il file config.ini
Inserisci la path del programma, in questo modo:

[PATH]
SOFTWARE=C:\WINDOWS\notepad.exe

Avvia nuovamente il programma, apparirà l'icona nella tray che significa che il programma ricerca l'avvio-collegamento dello scanner ( con il tasto destro sull'icona della tray puoi uscire dal programma )
Quando verrà rilevata la connessione, verrà avviato il software dall'.ini ed il programma si chiuderà autonomamente.

P.S. Ovviamente funziona solo per quel modello di multifunzione, lo dico per quelli che leggono

Blue_screen_of_death
10-07-2013, 11:52
Eccoloooo... però non funziona. cioèè. sembra che non rileva lo scanner. Configuro il file config.ini , come hai detto. Avvio il programma e si mette in background. Compare l'icona nella tray. Però accendo lo scanner e non succede niente, il programma resta aperto nella tray, e non si apre l'exe che ho inserito nel config.ini .
È un caso disperato?!? :D

x_Master_x
10-07-2013, 14:58
Come può non funzionare quando ieri funzionava? :D

Riprova con questo:
-Rimosso-

Avvialo, appare il messaggio quando accendi e-o colleghi lo scanner? Ricordati che prima dell'avvio lo scanner deve essere scollegato-spento ( lo dico per precauzione, non fà differenza però se è collegato lo devi staccare / ricollegare )

Blue_screen_of_death
10-07-2013, 15:18
Spengo lo scanner.
Apro test.exe
Accendo lo scanner.
Mi compare questo:

http://i44.tinypic.com/esl214.png

Clicco su OK.
Fine.

Scusa se ti sto facendo perdere tempo... non era nelle mie intenzioni!! :D

Blue_screen_of_death
10-07-2013, 15:31
invece con SCX-3400 Startup succede questo.

Lo salvo sul desktop.
Lo apro.
Mi crea il file config.ini sul desktop.
Apro il file e metto dopo SOFTWARE=C:\WINDOWS\notepad.exe
Salvo il file e lo chiudo.
Spengo lo scanner.
Apro SCX-3400 Startup.
Compare l'icona nella tray.
Accendo lo scanner e non succede nulla.
L'icona nella tray è sempre presente.

x_Master_x
10-07-2013, 15:35
Se funziona con il messaggio devi funzionare anche con l'.ini
Ho aggiornato il link al post #18, riscaricalo.

Assicurati che non sia presente il vecchio config.ini, avvia il programma la prima volta per ricreare l'ini e non modificarlo ( ho messo notepad come path tanto per provare, la modificherai se funziona ), quindi ripeti quello che hai fatto sopra.

Blue_screen_of_death
10-07-2013, 15:41
SSSIIIIIIIIIIIIIIIIIII!!! Questo va alla grande!! ^^

Ma cos'hai cambiato? soltanto il file ini o anche altro?

x_Master_x
10-07-2013, 15:45
E meno male :asd:
Non mi ero conservato il vecchio codice, l'ho rifatto adesso al volo quindi non lo sò, a me sembra di aver fatto le stesse cose di stamattina ma si vede che avrò sbagliato qualcosa ( io non sono un programmatore :O )

Blue_screen_of_death
10-07-2013, 16:30
Perfetto. L'ho configurato per far partire il RemoteScanServer.

Grazie mille per l'aiuto, x_Master_x!!!

Un grazie anche a Khro!! ^^

Khronos
10-07-2013, 21:09
se mi ci metto dietro io... è che in Java raggiungere la WMI è una bestemmia immane.

Blue_screen_of_death
11-07-2013, 00:17
Ho deciso. Da grande voglio diventare come x_Master_x!! ^^