質問: ### 前提・実現したいこと 現在、C++で作成されていたアプリケーションをC#(.Net Framework 4.5)に移植することをやっています。 プリンタへの印刷処理について、C++で PrinterSetupDialog のExecuteメソッドで表示される以下の画面をC#で表示させたいのですが、どうやればよいでしょうか? (そもそもDLLImport等してもできない?) もし不可であれば素直に.Netの PageSetupDialog を使おうと思います。 どなたかご教授いただければ幸いです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/a447505f8560423cc0eb93f96630fd53.png)
回答: TPrinterSetupDialogは comdlg32.dllのPrintDlgというAPIにPD_PRINTSETUPフラグを渡して 起動した状態です。 一応今でもDllImportして構造体定義して呼び出せば出るとは思いますが、 使用は非推奨になっていて PrintDlgEx or PageSetupDlgを使うように指示されています。 というわけで、C#でもPageSetupDialogを使用するのが妥当かと思います。バグも少ないでしょうし。 それでも実装してみたいという事であればPD_PRINTSETUPとC#とかのキーワードで探してください。