Bonjour,

J'ai besoin de récupérer le nom de l'imprimante par défaut d'un système, sous XP j'utilise le code suivant, qui fonctionne parfaitement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 try
            {
                ManagementClass mc = new ManagementClass("Win32_Printer");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    bool defaultValue = (bool)mo.Properties["Default"].Value;
                    if (defaultValue) { return (string)mo.Properties["Name"].Value; }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("La récupération du nom de l'imprimante par défaut a échoué:" + e.ToString(), "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
Sous Windows 2000, le message d'erreur s'affiche en permanence, j'ai vérifié avec le logiciel Scriptomatic de Microsoft si la propriété "Default", que je cherche à accéder existe, ce n'est pas le cas, et aucune autre qui semble faire l'affaire...

Quelqu'un peut-il m'indiquer la bonne marche à suivre pour résoudre ce problème sous Windows 2000?

Merci d'avance