MRW.it Forum
  • Home
  • Forum
  • Area Developer
  • Programmazione
  • .NET Framework

[Vb.net 2010] Aiuto creazione tack manager personalizzato

  • Creatore Discussione Creatore Discussione Sevenjeak
  • Data di inizio Data di inizio 2 Dic 2012
Sevenjeak

Sevenjeak

Utente Attivo
27 Nov 2012
81
2
8
36
sevenjeak.altervista.org
  • 2 Dic 2012
  • #1
Sto, in questi giorni, per provare alcune funzionalità, provando a creare un tasck manager, come quello di windows, ma con alcuni cambiamenti, questo tasck manager, per ora, a due schede, la scheda Applicazione contenente una listview con tutti i processi con l'handle diverso da 0, insomma tutti quelli che creano un'interfaccia grafica visibile su schermo, ed il loro responde, mentre nell'altra scheda, la scheda Processi, una listview contenente tutti i processi, per ogni processo o il suo id, il nome, il proprietario ( da chi è stato eseguito il processo ) è la locazione sul disco ( recuperata tramite l'istruzione istanza_processo.MainModule.FileName ).

Prima di completare questa applicazione mi servono alcuni chiarimenti / aiuto, che ho provato a cercare su internet ma purtroppo non ho risolto:

  1. Dovrei aggiornare le due liste, contenente nella prima e nella seconda scheda, in tempo reale, non credo vada bene aggiornarla con un timer, visto che, quando si aggiorna, l'elemento della lista selezionato mi perde la selezione, quindi, presumo si faccia in altro modo?
  2. 2. nella prima scheda, quando ho aperta una qualsiasi cartella il nome dell'applicazione non mi esce ( il processo corrisponde a explorer.exe ), come potrei fare a far scrivere, in questo caso, il percorso aperto dall'esprola risorse ( non so se mi spiego )
  3. Nella lista processo ho la colonna proprietario ( chi esegue il processo ), come faccio a recuperare questa informazione

Se vi occorre, entrambi le liste, sia quella per visualizzare le applicazione, che quella per i processi, li genero, per ora, all'avvio dell'applicazione con questo codice:

Codice:
ListView1.Columns.Add("ID", 0)
        ListView1.Columns.Add("Operazione", 299)
        ListView1.Columns.Add("Stato", 100)

        ListView2.Columns.Add("ID")
        ListView2.Columns.Add("Nome immagine", 150)
        ListView2.Columns.Add("Proprietario", 80)
        ListView2.Columns.Add("Locazione sul disco", 200)

        Dim p() As Process = System.Diagnostics.Process.GetProcesses
        Dim appItems, prcItems, prcResponse
        Dim icons As Icon
        Dim imList As New ImageList()

        count_process = 0

        For Each pr As Process In p
            If pr.Responding = True Then
                prcResponse = New String("In eseguzione..")
            Else
                prcResponse = New String("Non risponde.")
            End If


            If pr.MainWindowHandle <> 0 And pr.ProcessName <> "explorer" Then
                appItems = New ListViewItem({pr.Id, pr.MainWindowTitle, prcResponse})
                'icons = Icon.ExtractAssociatedIcon()

                ListView1.Items.Add(appItems)
            End If

            Try
                prcItems = New ListViewItem({pr.Id, pr.ProcessName, "-", pr.MainModule.FileName})
            Catch
                prcItems = New ListViewItem({pr.Id, pr.ProcessName, "-", "-"})
            End Try

            ListView2.Items.Add(prcItems)

            prcResponse = Nothing
            icons = Nothing
            count_process += 1
        Next

Ah.. quasi dimenticavo, è possibile recuperare l'icona prodotta dal processo per poi metterla negli item presente nella prima lista? ho già provato in vari modo, ora purtroppo non ricordo come, ma senza alcun risultato.
 
V

Vins

Moderatore
Membro dello Staff
MOD
28 Lug 2009
237
19
0
  • 4 Dic 2012
  • #2
Ciao,

per quanto riguarda l'aggiornamento delle liste credo che l'utilizzo di un timer sia la scelta giusta.
Ad esempio, potresti impostare un timer che scatta ad intervalli di un secondo e aggiorna la lista.
Per l'elemento correntemente selzionato puoi memorizzarne i riferimenti prima del refresh e poi riselezionarlo nella lista aggiornata.
 

Sevenjeak

Utente Attivo
27 Nov 2012
81
2
8
36
sevenjeak.altervista.org
  • 5 Dic 2012
  • #3
Come scritto nel mio primo punto il time lo utilizzato, ma il problema è questo, sicuro che non esiste un'altro metodo, visto che nel task manager di windows non si nota per niente che la lista si ricrea, almeno da quello che ho notato io.

Per il problema della selezione ci proverò, grazie.

Mentre per quando riguarda l'altri punti?
 
V

Vins

Moderatore
Membro dello Staff
MOD
28 Lug 2009
237
19
0
  • 6 Dic 2012
  • #4
Infatti io non ho detto di ricreare la lista, ma di aggiornarla. In pratica dovresti caricarti separatamente la lista dei processi ad ogni tick del timer e poi crearti una routine che in base all'id del processo vada ad aggiornare solo i processi i cui valori sono effettivamente cambiati.

Per quanto riguarda le altre due cose puoi utilizzare gli oggetti ShellWindows o EnumDesktopWindows. Di seguito i link alla documentazione ufficiale Microsoft:

http://msdn.microsoft.com/en-us/library/bb773974(VS.85).aspx
http://msdn.microsoft.com/it-it/library/windows/desktop/ms682615(v=vs.85).aspx
 
Ultima modifica: 6 Dic 2012

Sevenjeak

Utente Attivo
27 Nov 2012
81
2
8
36
sevenjeak.altervista.org
  • 6 Dic 2012
  • #5
Ok grazie, cercherò, non appena avrò tempo di modificare il mio programma.
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

[Vb.net 2010] Aiuto background worked
  • Sevenjeak
  • 9 Dic 2012
  • .NET Framework
Risposte
10
Visite
3K
.NET Framework 20 Dic 2012
Vins
V
E
[ASP.Net] Access 2016 ? Non si usa Microsoft Jet 4.0 ma Engine 2016 o 2010. Non va !
  • enfantNET
  • 17 Giu 2018
  • ASP.NET
Risposte
2
Visite
6K
ASP.NET 20 Giu 2018
enfantNET
E
S
VS2010: Variabili Session in ASP net
  • Shelman
  • 8 Ott 2013
  • ASP.NET
Risposte
2
Visite
4K
ASP.NET 16 Ott 2013
GAMI
G
Problema scheda di rete: "Internet non disponibile"
  • felino
  • 21 Gen 2025
  • Windows e Software
Risposte
1
Visite
340
Windows e Software 28 Gen 2025
alainscilly
A
B
[VENDO] Domini .com e .net a Tema Intelligenza Artificiale – Aste a partire da 10€
  • BuyWiseBuyBetter
  • 25 Lug 2024
  • Compravendita siti e domini
Risposte
0
Visite
1K
Compravendita siti e domini 25 Lug 2024
BuyWiseBuyBetter
B
Lubuntu 18.04 Requisiti per applicazione console .net core 7.0
  • felino
  • 8 Feb 2024
  • Linux e Software
Risposte
0
Visite
3K
Linux e Software 8 Feb 2024
felino
S
[VB.NET]: Coordinate immagini dentro una PictureBox
  • SanMichele
  • 6 Ott 2023
  • Visual Basic
Risposte
0
Visite
6K
Visual Basic 6 Ott 2023
SanMichele
S
C
O solo internet o solo rete aziendale
  • Cpu03
  • 8 Mag 2023
  • Adsl e Connettività
Risposte
0
Visite
890
Adsl e Connettività 8 Mag 2023
Cpu03
C
G
Eliminare l'effetto refresh di una pagina internet
  • giuliox13
  • 5 Gen 2022
  • PHP
Risposte
8
Visite
2K
PHP 13 Gen 2022
giuliox13
G
A
errore http://datatables.net/tn/7
  • adatory
  • 6 Giu 2021
  • PHP
Risposte
4
Visite
1K
PHP 10 Giu 2021
adatory
A
S
connesso, internet non disponibile ( con extebder tp-link850)
  • stefano santi
  • 8 Mar 2021
  • Reti LAN e Wireless
Risposte
0
Visite
1K
Reti LAN e Wireless 8 Mar 2021
stefano santi
S
L
C# e net 5 GUI
  • lucavalentino
  • 21 Gen 2021
  • .NET Framework
Risposte
1
Visite
3K
.NET Framework 24 Gen 2021
lucavalentino
L
M
"Internet non disponibile"
  • Maxiteris
  • 8 Gen 2021
  • Reti LAN e Wireless
Risposte
0
Visite
2K
Reti LAN e Wireless 8 Gen 2021
Maxiteris
M
Mostrare feed senza internet
  • Tommy03
  • 22 Dic 2020
  • Sviluppo app per Android
Risposte
4
Visite
3K
Sviluppo app per Android 7 Apr 2021
DianaGreece49
D
ASP.net MVC: Exception e chiamata AJAX
  • felino
  • 23 Mag 2020
  • ASP.NET
Risposte
1
Visite
2K
ASP.NET 3 Giu 2020
felino
P
Vorrei fare un ripetitore di Internet
  • paolalopez118
  • 8 Apr 2020
  • Reti LAN e Wireless
Risposte
3
Visite
2K
Reti LAN e Wireless 30 Lug 2020
yatahaze
Y
P
Visual Studio VB.NET Visualizzare un messaggio alla scadenza.
  • Pacifico
  • 29 Feb 2020
  • .NET Framework
Risposte
0
Visite
2K
.NET Framework 29 Feb 2020
Pacifico
P
R
Sviluppatore ASP.NET
  • Rush
  • 5 Feb 2020
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 5 Feb 2020
Rush
R
P
Passagio dati complessi tra una ASP.NET webapi e Angular
  • PazzoFrontEnd
  • 23 Nov 2019
  • ASP.NET
Risposte
1
Visite
11K
ASP.NET 14 Lug 2020
Rikk73
M
[Vendo] Banner diversi formati su Tecnologia, internet e servizi online
  • matteoenna
  • 8 Nov 2019
  • Vendere e Acquistare pubblicita' online
Risposte
0
Visite
1K
Vendere e Acquistare pubblicita' online 8 Nov 2019
matteoenna
M
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Area Developer
  • Programmazione
  • .NET Framework
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?