|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices Цитата:
X++: static void jbPrinterListByPrintJobSettings(Args _args) { PrintJobSettings printJobSettings ; Name printerName ; Counter printerNum ; Counter printerCount; TempStr getPrinterPort( Name _printerName ) { int regKeyHandle ; TempStr printerPorts ; #WinAPI // #define.RegistryKey( 'Software\\Microsoft\\Windows NT\\CurrentVersion\\Devices' ) #define.RegistryKey( 'Software\\Microsoft\\Windows NT\\CurrentVersion\\PrinterPorts' ) ; regKeyHandle = WinAPI::regOpenKey( #HKEY_CURRENT_USER, #RegistryKey, #KEY_READ ) ; [ printerPorts ] = WinAPI::regGetValue( regKeyHandle, _printerName ) ; WinAPI::regCloseKey( regKeyHandle ); return strline( strreplace( printerPorts, ',', '\n' ), 1 ) ; } ; printJobSettings = new printJobSettings() ; printerCount = printJobSettings.getNumberOfPrinters() ; setPrefix( strfmt( "Number of printers: %1, default device: %2", printerCount, printJobSettings.deviceName() ) ) ; for( printerNum =1; printerNum <=printerCount; printerNum++ ) { printerName = printJobSettings.getPrinter( printerNum ) ; info( strfmt( "%1 (%2)", printerName, getPrinterPort( printerName ) ) ) ; } } |
|
|
За это сообщение автора поблагодарили: aidsua (1), KingPeas (1). |