Ecco quello che stiamo cercando di fare:stampante di impostazione "KeepPrintedDocuments" proprietà in .NET
Vogliamo un modo discreto di prendere tutto ciò che un client stampe sul proprio computer (tutti i nostri clienti sono in esecuzione sistemi POS e l'uso Windows XP in esclusiva) e inviarlo a noi, e abbiamo deciso che il modo migliore per farlo è quello di creare l'app aC# che ci invia i file di spooling, che possiamo già analizzare facilmente.
Tuttavia, ciò richiede l'impostazione "Mantieni tutti i documenti stampati" su true. Vogliamo farlo nella nostra app piuttosto che manualmente, per il seguente motivo: alcuni (centinaia) dei nostri clienti sono, per mancanza di una parola migliore, stupidi. Non vogliamo costringerli a fare confusione nel pannello di controllo ... le nostre persone di supporto tecnico sono abbastanza impegnate.
qui è dove ho incontrato un problema:
string searchQuery = "SELECT * FROM Win32_Printer";
ManagementObjectSearcher searchPrinters = new ManagementObjectSearcher(searchQuery);
ManagementObjectCollection printerCollection = searchPrinters.Get();
foreach (ManagementObject printer in printerCollection)
{
PropertyDataCollection printerProperties = printer.Properties;
foreach (PropertyData property in printerProperties)
{
if (property.Name == "KeepPrintedJobs")
{
printerProperties[property.Name].Value = true;
}
}
}
Questo dovrebbe, per quanto posso dire da diverse ore di ricerca WMI, impostare la proprietà KeepPrintedJobs di ogni stampante di vero ... ma la sua non funziona. Non appena termina il ciclo foreach, KeepPrintedJobs viene impostato su false. Preferiremmo usare WMI e non fare casino nel registro, ma non posso spendere per sempre cercando di farlo funzionare. Qualche idea su cosa manca?
Qualcuno sa qualcosa di questo? Abbiamo proceduto con una piccola modifica al registro, ma vorremmo sapere se è possibile. –
Hai visto questo: http://msdn.microsoft.com/en-us/library/w09tfy94.aspx? Mi sembra che tu debba chiamare uno degli overload di 'Put()' per impegnare esplicitamente il/i cambiamento/i. –
* Schiaffi sulla fronte * sciocco, naturalmente, grazie amico. Gli hack Reg si sentono sporchi. –