按照以下頁面:C#自定義PrintDialog類的PInvoke DevMode的問題
http://msdn.microsoft.com/en-us/library/ms646964(VS.85).aspx
第一圖形的下面,「如果用戶點擊OK按鈕,PRINTDLG返回TRUE和PRINTDLG結構返回有關informmation用戶選擇「。
在這種情況下,我的自定義打印對話框幾乎可以正常工作,但我試圖提取有關打印機名稱,方向等信息......我的理解是,爲了檢索打印機名稱,我需要檢查PRINTDLG結構中的hDevMode值以查看打印機名稱。有沒有一個函數可以讓我提取這些信息?
我的代碼是這樣(其中PDLG是我定義的PRINTDLG結構的實例):
bool f = false;
try
{
f = PrintDlg(ref pdlg);
DEVMODE dm = pdlg.hDevMode;
int k = 0;
} catch (Exception ex)
{
// hopefully it doesn't fail
}
如果有人有任何pearlsof智慧在那裏,我將肯定得到任何提示。
非常感謝。如果有問題的打印機長度超過32個字符,試圖打開DEVMODE.devName時會出現問題。我能夠獲得額外的信息,但該領域最終無法使用,所以我就這樣做了 – coson 2009-07-09 17:56:21