Ho tre PC remoti a cui collego in remoto. Sto provando a scrivere una semplice applicazione Windows che visualizzerebbe in una singola finestra se un particolare processo è in esecuzione su una delle macchine, ad es.È un processo in esecuzione su una macchina remota?
Server1: Chrome non correre
Server2: Chrome è in esecuzione
Server3: Chrome è in esecuzione
ho usato WMI e C#. Finora ho ottenuto questo molto:
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.Username = @"domain\username";
connectoptions.Password = "password";
//IP Address of the remote machine
string ipAddress = "192.168.0.217";
ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2");
scope.Options = connectoptions;
//Define the WMI query to be executed on the remote machine
SelectQuery query = new SelectQuery("select * from Win32_Process");
using (ManagementObjectSearcher searcher = new
ManagementObjectSearcher(scope, query))
{
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject process in collection)
{
// dwarfs stole the code!! :'(
}
}
Penso che sia tutto impostato correttamente, ma se io MessageBox.Show (process.ToString()) all'interno del ciclo foreach, ho un sacco di messaggi caselle con il testo seguente:
\\username\root\cimv2:W32_Process.Handle="XXX"
Sono tipo bloccato. C'è un modo in cui posso "tradurre" XXX in un nome di processo? Oppure, come è possibile ottenere i nomi dei processi in modo da poter utilizzare un'istruzione if per verificare se si tratta di un processo "chrome"?
Oppure ... la mia implementazione è eccessiva? C'è un modo più semplice per realizzare questo?
Grazie mille!
Dove posso trovare una sorta di elenco di proprietà come "Nome"? Funziona, non sono sicuro di dove l'hai preso. – Krzysiek
Buona domanda - ci deve essere una lista da qualche parte. IIRC, ho originariamente ottenuto questo da un esempio su CodeProject.com. –
Le proprietà della classe WMI Win32_Process sono elencate nella documentazione MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/aa394372%28v=vs.85%29.aspx – RRUZ