Beispiel #1
0
        //调用DocumentProperties
        private void documentPropButton_Click(object sender, EventArgs e)
        {
            string printerName = printerList.SelectedItem.ToString();

            if (printerName != null && printerName.Length > 0)
            {
                IntPtr pPrinter       = IntPtr.Zero;
                IntPtr pDevModeOutput = IntPtr.Zero;
                IntPtr pDevModeInput  = IntPtr.Zero;
                IntPtr nullPointer    = IntPtr.Zero;
                WindowsAPI.OpenPrinter(printerName, ref pPrinter, ref nullPointer);
                int iNeeded = WindowsAPI.DocumentProperties(this.Handle, pPrinter, printerName, ref pDevModeOutput, ref pDevModeInput, 0);
                pDevModeOutput = System.Runtime.InteropServices.Marshal.AllocHGlobal(iNeeded);
                WindowsAPI.DocumentProperties(this.Handle, pPrinter, printerName, ref pDevModeOutput, ref pDevModeInput, 4);
                WindowsAPI.ClosePrinter(pPrinter);
            }
        }