fengyouliang Ответов: 1

Какой API может открыть диалоговое окно свойств принтера? Спасибо


Я не знаю, какой API может открыть диалоговое окно свойств принтера. Диалоговое окно свойств принтера содержит "печать тестовой страницы". Я знаю несколько примеров(https://www.codeproject.com/Articles/14379/How-to-show-a-popup-window-for-printer-properties) для этого,но все откройте диалоговое окно "настройки печати", а не "свойства принтера".если вы знаете,пожалуйста, скажите мне.Большое спасибо.

Что я уже пробовал:

ниже приведен код открытия диалогового окна настроек печати,а не диалогового окна свойств принтера.
ivate void OpenPrinterPropertiesDialog(PrinterSettings printerSettings)
		{
			IntPtr hDevMode = printerSettings.GetHdevmode(printerSettings.DefaultPageSettings);
			IntPtr pDevMode = GlobalLock(hDevMode);
			int sizeNeeded = DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, pDevMode, ref pDevMode, 0);
			IntPtr devModeData = Marshal.AllocHGlobal(sizeNeeded);
			DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, devModeData, ref pDevMode, 14);
			GlobalUnlock(hDevMode);
			printerSettings.SetHdevmode(devModeData);
			printerSettings.DefaultPageSettings.SetHdevmode(devModeData);
			GlobalFree(hDevMode);
			Marshal.FreeHGlobal(devModeData);
		}

1 Ответов