Oppure

Loading
24/02/15 11:07
DavidP
Ho creato un programma, per avviare programmi\foto\ecc. installati nel pc con pressione di tasti (ovvero scorciatoie), per meglio dire:
es. con Alt + F avvio firefox
con ALT+V avvio video e foto, perche alla pressione di un tasto puo' essere associato anche più di un eseguibile\file.
Ora sta di fatto che avvio il controllo degli elementi presenti il listbox2 che a sua volta e presente in un timer a 150ms si impalla soprattutto con file excel word.Li avvia di continio
If ListBox2.Items.Count >= 1 Then
            For i As Integer = 0 To ListBox2.Items.Count - 1
                ListBox2.SelectedIndex = i
                Process.Start(ListBox2.SelectedItem)
                On Error GoTo a
            Next

        End If
a:      ListBox2.Items.Clear()


aaa
24/02/15 12:02
darioza
Ciao!
A parte sconsigliarti i goto, ma ti fa errore solo con i Word?
aaa
24/02/15 13:09
Non si capisce molto da quello che hai tentato di spiegare.

Comunque, se il codice è in un timer, devi bloccare il timer prima di eseguirlo e avviarlo nuovamente alla fine.
24/02/15 15:14
DavidP
Da problemi più che con Word li da con excel per gli altri programmi non da problemi fino ad Ora. Come posso staccare e riattare il timer in quanto deve intercettare la pressione di tasti in quanto tale programma va eseguito in background? ?
aaa
24/02/15 16:27
darioza
Secondo me, Cambiare completamente approccio, gestire l'evento piuttosto che aspettarlo, sarebbe meglio.

Nessuno ti ha suggerito qualcosa del genere, in pseudo:
FUNZIONE TIMER(){
timer.stop()
    If ListBox2.Items.Count >= 1 Then
                For i As Integer = 0 To ListBox2.Items.Count - 1
                    ListBox2.SelectedIndex = i
                    Process.Start(ListBox2.SelectedItem)
                    On Error GoTo a
                Next
     
            End If
    a:      ListBox2.Items.Clear()
timer.start()
}


Anche se, parer mio, non dipende da questo il problema...
bisognerebbe però ricordare (ma io preferisco ascoltare il caro Albert ) quanto "dura" l'evento scatenante..
Nessuno (nome dell'utente) ti sta dicendo che secondo lui in 150ms l'evento viene intercettato piu volte, ma se così fosse, si aprirebbero 3- 5 - 12 -18 finestre, non una serie infinita di queste...

(Se questo costituisce un esercizio oppure la voglia di fare qualcosa del genere, ok, altrimenti, ci sono tante cose simili e funzionanti in giro per la rete, se l'obbiettivo fosse solo nell'utilità del tool)
aaa