Согласно документации объявляю так:
- Код: Выделить всё
Private WithEvents mPr As PrinterMonitorComponent
Далее в form_load:
- Код: Выделить всё
mPr = New PrinterMonitorComponent
mPr.MonitorPrinterChangeEvent = False
AddHandler mPr.JobAdded, AddressOf Addedtest
For Each printername As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
mPr.AddPrinter(printername)
Next
В form_closing:
- Код: Выделить всё
RemoveHandler mPr.JobAdded, AddressOf Addedtest
For Each printername As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
mPr.RemovePrinter(printername)
Next
mPr.Dispose()
Прога зависает. Видимо компонент не тестировался под 2008 студию (пришлось проапгрейдить ) - как вариант. Также я предполагаю что проблема зиждется в PrinterChangeNotificationThread. Прикрепляю исходник, может посмотрите в чем дело там?
Благодарствую!!