Je suis en train de concevoir une application qui doit identifier si l'imprimante est connectée ou non. Je connais les méthodes de WMI pour énumérer les imprimantes connectées. Mais que faire si l'imprimante est connectée après le démarrage de l'application? Avons-nous des événements ou des API pour cela? Ou je dois vérifier fréquemment en utilisant le code WMI?événement connecté à l'imprimante
, pour simplifier, essayé LocalPrintServer
classe comme ceci:
PrintQueue printQueue = null;
LocalPrintServer localPrintServer = new LocalPrintServer();
// Retrieving collection of local printer on user machine
PrintQueueCollection localPrinterCollection =
localPrintServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });
System.Collections.IEnumerator localPrinterEnumerator =
localPrinterCollection.GetEnumerator();
while(localPrinterEnumerator.MoveNext())
{
// Get PrintQueue from first available printer
printQueue = (PrintQueue)localPrinterEnumerator.Current;
if (!printQueue.IsOffline)
{
string s = "Printer found " + printQueue.FullName.ToString();
listBox1.Items.Add(s);
bDeviceFound = true;
button1.Enabled = bDeviceFound;
}
vous connaît, il affichera les imprimantes installées il fonctionne sur le démarrage de l'application. Le problème est qu'il ne peut pas identifier si une imprimante connectée après le démarrage de l'application.Si nous avons des événements pour cela, je pourrais appeler cette méthode pour ré-énumérer l'imprimante sauf si je suis supposé pour un thread ou en boucle?
Merci
Avez-vous essayé _anything_? Montrez votre travail .. –
S'il vous plaît voir mon travail – Zigma
Je ne peux pas vous aider directement mais essayez Google pour les entrées de blog/code par Duncan Edwards Jones. Il semble être le bon gourou .net-printing. – svenv