プリンタ選択ダイアログオープンエラーの回避方法

HOME › フォーラム › 旧サポート掲示板 › プリンタ選択ダイアログオープンエラーの回避方法

  • このトピックは空です。
2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #325
    亀井
    ゲスト

    下記の状況において、wrOpenPrinter()でエラー(7125)が発生します。
    このエラーの回避方法を教えて下さい。
    (7125:プリンター選択ダイアログの表示に失敗しました)

    ・Wing ReportのAPIを使用して帳票を印刷するプログラ
    ム(ListOut.exe)と、印刷指示を行う画面を持ったプロ
    セス(Gamen.exe)があります。
    ・Gamen.exe、ListOut.exe共に、サービスプロセスか
    らCreateProcess()で起動され、常駐プログラムとして
    動作します。
    サービスプロセスはシステムアカウント:「ディスクト
    ップとの対話をサービスに許可」にチェックをした状態
    で動作させています。
    ・Gamen.exe で印刷の指示が行われた時に、メッセージ
    通信を使用しGamen.exeからListOut.exeに指示が行われ
    ます。
    ・帳票の印刷指示を受け取った ListOut.exe は帳票を作
    成し、プリンタに出力するのですが、wrOpenPrinter()で
    エラーが発生します。
    wrGetErrorCode()でエラーを取得すると、7125のエラー
    が取得されました

    ちなみに、ListOut.exeをエクスプローラからダブルクリ
    ックで起動するとエラーが発生する事なく、印刷できます。
    サービスプロセスから起動する場合、なぜエラーになるの
    でしょうか。
    また、このエラーを回避するにはどのように対応すれば良
    いのでしょうか

    #326
    松嶋@ソフトウィング
    ゲスト

    松嶋@ソフトウィングです。
    お世話になります。

    早速ですが、ご使用になっているOSはWinNTでしょうか?
    お話の内容からNTを前提にしますと、サービスでプロセスを
    起動した場合などはシステムアカウントが使用されます。
    (明示的に設定を行わない場合です。)このシステムアカウ
    ントにはデフォルトのプリンタなどの設定は存在しないため
    印刷ダイアログを表示する時、又はデフォルトのプリンタを
    取得するときに失敗します。今回ご指摘されている現象につ
    いて上記の内容が原因と思われます。(確実ではありません)
    対策として、サービスを実行するためのリアルユーザーアカ
    ウントを設定して再確認をお願いいたします。

    以上です。宜しくお願いいたします。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。