2017-12-20 10 views
0

生の印刷のネイティブメソッドを呼び出します。生の印刷 - StartDocPrinterW

if (NativeMethods.OpenPrinter(szPrinterName.Normalize(), out hPrinter, IntPtr.Zero)) 
{ 
    if (NativeMethods.StartDocPrinter(hPrinter, 1, ref di)) //My problem is here 
    { 
     if (NativeMethods.StartPagePrinter(hPrinter)) 
     { 
      bSuccess = NativeMethods.WritePrinter(hPrinter, pBytes, dwCount, out dwWritten); 
      NativeMethods.EndPagePrinter(hPrinter); 
     } 
     NativeMethods.EndDocPrinter(hPrinter); 
    } 
    NativeMethods.ClosePrinter(hPrinter); 
} 

すべて動作しています。しかし、私が "//私の問題はここにある"という行を呼び出すと、私のデフォルトプリンタがそのプリンタに変更されますか?

どのように現在のデフォルトプリンタを維持しますか?

答えて

0

プリンタ名にヌルポインタを指定すると、デフォルトプリンタが使用されます。

+0

申し訳ありませんが、私が尋ねたことはありません。問題は、指定したプリンタ(複数のキュー)に印刷したいということです。しかし、そこに印刷する関数を呼び出すと、指定したプリンタがデフォルトのプリンタを取得します。私はデフォルトのプリンタを使いたくない。 –