呼叫API彈出印表機屬性對話方塊

2022-01-24 14:46:37 字數 2062 閱讀 5778

呼叫api彈出印表機屬性對話方塊 

author:vitoriatang

from:internet

.net framework封裝了很多關於列印的對話方塊,比如說printdialog, pagesetupdialog. 

但是有的時候我們還需要關心印表機屬性對話方塊,那麼就可以呼叫api來解決這個問題。有幾個api函式與之相關

printerproperties

documentproperties

openprinter

closeprinter

逐一介紹

printerproperties

顯示印表機屬性對話方塊。

documentproperties

顯示印表機配置對話方塊。

openprinter

開啟印表機

closeprinter

關閉印表機

在呼叫printerproperties或者documentproperties的時候,都需要先呼叫openprinter,並在結束後呼叫closeprinter。

至於印表機屬性和印表機配置有什麼不同,就自己領會了。更為詳盡的資訊可以查閱msdn

sample codes:

1. 宣告api函式

[system.runtime.interopservices.dllimportattribute("winspool.drv", setlasterror = true)]

public extern static int documentproperties(

intptr hwnd,              // handle to parent window 

intptr hprinter,           // handle to printer object

string pdevicename,   // device name

ref intptr pdevmodeoutput, // modified device mode

ref intptr pdevmodeinput,   // original device mode

int fmode);                 // mode options 

[system.runtime.interopservices.dllimportattribute("winspool.drv")]

public static extern int printerproperties(

intptr hwnd,  // handle to parent window

intptr hprinter); // handle to printer object

[system.runtime.interopservices.dllimportattribute("winspool.drv", setlasterror = true)]

public extern static int openprinter(

string pprintername,   // printer name

ref intptr hprinter,      // handle to printer object

ref intptr pdefault);    // handle to default printer object. 

[system.runtime.interopservices.dllimportattribute("winspool.drv", setlasterror = true)]

public static extern int closeprinter(

intptr phprinter); // handle to printer object

2.呼叫documentproperties

private void documentpropbutton_click(object sender, eventargs e)

}3. 呼叫printerproperties

private void printpropbutton_click(object sender, eventargs e)

呼叫API彈出印表機屬性對話方塊

呼叫api彈出印表機屬性對話方塊 author vitoriatang from internet net framework封裝了很多關於列印的對話方塊,比如說printdialog,pagesetupdialog.但是有的時候我們還需要關心印表機屬性對話方塊,那麼就可以呼叫api來解決這個問題。...

呼叫api彈出印表機屬性對話方塊

特別備註 需要引用單元winspool author vitoriatang from internet netframework封裝了很多關於列印的對話方塊,比如說printdialog,pagesetupdialog.但是有的時候我們還需要關心印表機屬性對話方塊,那麼就可以呼叫api來解決這個問...

js呼叫印表機

注意這裡是先引入的jquery檔案,如果沒有引入第乙個js檔案的話,會出現相容性問題,導致使用jqprint列印時報錯。print area 將需要列印的html放到這個div裡,有些link類的css樣式需要加在裡面 class black button style position relati...