다음 페이지에 따르면 : 첫 번째 그래픽 아래C# 사용자 정의 PrintDialog PInvoke를 DevMode를 질문
http://msdn.microsoft.com/en-us/library/ms646964(VS.85).aspx
, "사용자가 확인 버튼을 클릭하면, PRINTDLG TRUE를 반환하고 PRINTDLG 구조가에 대해 informmation를 반환 사용자 선택 ".
이 경우 내 사용자 정의 인쇄 대화 상자가 거의 작동하지만 프린터 이름, 방향 등에 대한 정보를 추출하려고합니다. 프린터 이름을 검색하기 위해서는 다음과 같이해야합니다. PRINTDLG 구조체에서 hDevMode 값을 검사하여 프린터 이름을 확인하십시오. 그 정보를 추출 할 수있는 함수가 있습니까? (pdlg는 PRINTDLG 구조의 내 정의 된 인스턴스 인 경우에)
내 코드가 같다 : 누군가가 그곳에 pearlsof 지혜가있는 경우
는 bool f = false;
try
{
f = PrintDlg(ref pdlg);
DEVMODE dm = pdlg.hDevMode;
int k = 0;
} catch (Exception ex)
{
// hopefully it doesn't fail
}
, 나는 확실히 어떤 조언을 부탁드립니다.
정말 고마워요. 해당 프린터가 32 자보다 긴 경우 DEVMODE.devName을 여는 중 문제가 발생합니다. 추가 정보를 얻을 수 있었지만 궁극적으로이 필드를 사용할 수 없어서이 정보를 얻었습니다. – coson