Je suis en train d'utiliser ce code sur Windows 2000:erreur WMI avec une requête simple en C#
foreach (Process p in Process.GetProcesses())
{
if (p.MainModule.FileName.EndsWith("calc.exe"))
{
using (ManagementObjectSearcher mos =
new ManagementObjectSearcher(
"SELECT CommandLine,ExecutablePath
FROM Win32_Process WHERE ProcessId=" + p.Id.ToString()))
{
using (ManagementObjectCollection moc = mos.Get())
{
foreach (ManagementObject mo in moc)
{
MessageBox.Show((string)mo["CommandLine"]);
return;
}
}
}
}
}
Cela fonctionne sous Windows XP et supérieur, mais échoue sur Windows 2000 avec une erreur « requête non valide ». According to MSDN, l'objet Win32_Process est pris en charge sur Windows 2000 et supérieur, donc je ne suis pas sûr de ce que je fais mal. Toute aide serait très appréciée.