一部の Win32 コードを Win64 に移植しています。古いコードは PrintDlg() を使用しており、すべてのバージョンの Windows (32 ビットおよび 64 ビット) で正常に動作します。新しいコードはそうではありません!
Win64 アプリケーションですべてゼロの PRINTDLG 構造を設定し、lStructSize フィールドに「120」を配置して PrintDlg() を呼び出すと、ダイアログが表示されず、アプリケーションがクラッシュします。
ただし、Visual Studio 2017 Pro 内からまったく同じイメージを実行すると、ダイアログは毎回期待どおりに機能します!
(a) VS で動作するのに、直接実行するとクラッシュする理由について何か考えはありますか? そして(b)、それを修正するために私にできることは何ですか?
ブライアン