C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■86382 / 4階層)  印刷の設定方法
□投稿者/ Jitta (358回)-(2018/01/24(Wed) 21:53:08)
No86381 (夜叉丸 さん) に返信
> ■No86338 (Jitta さん) に返信
>
> SHDファイルが作成されました。
> バイナリファイルですよね。
> 中身がわかりませんでした。

いや、だから、書いてるやん。

SHDファイルのフォーマットは http://www.undocprint.org/formats/winspool/shd のあたりを参照。
最近のだと、シグニチャに SHD_SIGNATURE_WIN2012 があるはずなので、シグニチャの部分は違っているかも。
また、ぱっと見ただけでは32ビットと64ビットの区別が付きません。64ビットの場合、offset の DWORD が QWORD になっているので注意。
この中で、offDevMode の値が、印刷時の設定を記録しているアドレスです。この値まで、ファイルを読み飛ばします。
その後、https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565.aspx の DEVMODE 構造体が入っているので、読み取り、dmColor を確認します。
この値自体は DMCOLOR_COLOR か、DMCOLOR_MONOCHROME のどちらかのはずです。しかし、プリンターが独自の設定を持っているなら、dmDriverExtra に記録されている場所以降にある設定が有効です。これはメーカー独自のフォーマットなので、わかりません。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: 印刷の設定方法 /夜叉丸 返信無し
 
上記関連ツリー

印刷の設定方法 / 夜叉丸 (18/01/17(Wed) 13:51) #86315
Re[1]: 印刷の設定方法 / Jitta (18/01/19(Fri) 14:25) #86332
  └ Re[2]: 印刷の設定方法 / Jitta (18/01/20(Sat) 09:48) #86338
    └ Re[3]: 印刷の設定方法 / 夜叉丸 (18/01/24(Wed) 12:23) #86381
      ├ 印刷の設定方法 / Jitta (18/01/24(Wed) 21:53) #86382 ←Now
      └ Re[4]: 印刷の設定方法 / 魔界の仮面弁士 (18/01/25(Thu) 11:26) #86385
        └ Re[5]: 印刷の設定方法 / Jitta (18/01/29(Mon) 08:37) #86434
          └ Re[6]: 印刷の設定方法 / 夜叉丸 (18/01/31(Wed) 14:32) #86463
            └ Re[7]: 印刷の設定方法 / PANG2 (18/01/31(Wed) 15:37) #86465
              └ Re[8]: 印刷の設定方法 / 夜叉丸 (18/02/08(Thu) 15:14) #86525 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信