• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プリンタの監視)

C#.NETにてプリンタのリアルタイム監視方法を探す

このQ&Aのポイント
  • C#.NETにてプリンタ紙切れ等をリアルタイムで監視する方法について検索中です。
  • PRINTER_INFO_2::Statusを使用することでプリンタ情報を参照できることが分かりましたが、プリンタ自体からリアルタイムで取得する方法がわかりません。
  • 双方向通信が行えないプリンタとのリアルタイムでのプリンタステータス取得方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

私も PRINTER_INFO_2 で諦めた口です。 プリンタのドライバによって取得する情報が不足したりするんで。 んで、Windows が情報を取れるか取れないかはプリンタの仕様とドライバの実装によると思います。 仮にプリンタ自体が何らかのインターフェイスを備えていたとして、独自にプリンタへ直接通信をするってのはドライバを作るようなもんじゃないでしょうかね。 であれば C# ではなくて C++ な領域ではないかと思います。

masato01
質問者

お礼

やっぱりドライバを作成するような感じなのですね。 情報ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • プリンターエラーの判定

    プリンターの用紙切れやオフライン等の検出をしたいのですが、APIかなにかで出来るのでしょうか? Printerオブジェクト出力ならならON ERRORで判定は出来るみたいですが、帳票ツール(アクティブレポートOCX等)のときに判定する方法はあるのでしょうか? お解りになられる方がいらっしゃればお教え願います。 宜しくお願いいたします。

  • VB6でのプリンタ設定について

    メモ帳等のように通常使うプリンタを変更することなく、アプリが起動している間は 任意のプリンタを選択することが出来、アプリ専用のプリンタ設定を保持するには どうしたらいいでしょう。 1.OpenPrinter 2.GetPrinter で PRINTER_INFO_2 から DEVMODE を取得 3.DEVNAMES を設定 4.PRINTDLG で設定画面を表示 上記の手順でプリントダイアログを表示するとこまでは出来ましたが ここで設定された情報を Printer オブジェクトに反映させる方法がわかりません。 ResetDC だと色、用紙の向きなど基本的なものは反映されましたがプリンタ固有の 情報(スタンプマークなど)までは反映されませんでした。 SetPrinter だとすべての情報が反映されましたが通常使うプリンタの設定まで 変わってしまいました。 わかりづらい部分が多々あるとは思いますが、どなたか教えていただけませんでしょうか よろしくお願いします。 VB6 XP SP2

  • プリンタのIPアドレス取得方法

    API関数を使用して、プリンタのIPアドレスを 取得しようと考えています。 自分なりに調べたのですが、ポート名などは取得できるのですが、IPアドレスは取得不可なのでしょうか? IPアドレス取得方法を教えてください。 よろしくお願いします。 開発環境はC#です。

  • プリンタ名が日本語だった場合について

    プリンタ名が日本語だった場合について 以下の環境にてプログラミングしています。 Windows7 32bit VCS 2008 上記の環境で // Open the printer HANDLE hPrinter; if (!::OpenPrinter(pszPrinter, &hPrinter, NULL)) return NULL; // Failed to open printer 上記のAPIをCallすると場合について 日本語名"Printer名だよ"のプリンター名をセットして pszPrinter に"Printer名だよ"をセットしてCallすると ERROR_INVALID_PRINTER_NAME(1801 0x00000709 プリンタ名が無効です。 ) が帰ってきます。 ですが・・・英数字でのプリンタ名にすると成功します。 これって仕様なんでしょうか? 分からず・・・・ ご教授願います。

  • プリンタが繋がらない

    10年前に購入したプリンターが「インク吸収体が満杯」になったことで使えなくなり今回中古を購入しました。一応説明書通りに設定作業をしましたが繋がりませんでした。CANONの「お客様相談センター」に問い合わせしましたが、WIN10には対応していなく動作も保証できなく既にサポート終了したとのことで、詳しいサポート説明はありませんでした。しかしつい最近までこのプリンターは我が家で使えていましたので、いくらOSがバージョンアップしたからと言ってそれ以降のサポートがないのは納得し難く、せっかく購入した中古ももったいない気がしてしかたありません。ぜひ接続方法を詳しくわかる方がいましたら教えていただければ幸いです。 環境は以下の通りになります。 デスクトップPC NEC VALUSTAR VN370/F WIN10Pro(WIN7からのup) プリンター CANON MP980(約10年前に購入) ルーター BUFFALO AirStation WZR-450HP 一応ネットワーク情報を下記に、プリンタとアクセスポイント間の通信状態を添付致します。どうぞ宜しくお願いします。 ======================================== Network Information ======================================== ---------------------------------------- General Info. ---------------------------------------- (01)Date. . . . . . . . . . . . . . . . . : 2018/Aug/25 22:45:08 (02)Model . . . . . . . . . . . . . . . . : Canon MP980 series (03)Printer . . . . . . . . . . . . . : Canon MP980 series Printer (1 コピー) (05)Scanner . . . . . . . . . . . . . : N/A (06)Card Slot . . . . . . . . . . . . : Not mapped (09)BJNP Port Monitor Version . . . . . . : ---------------------------------------- Application Info. ---------------------------------------- (11)Port Name . . . . . . . . . . . . . . : USB001 (13)BJNP Communication Module Version . . : (14)Application Name. . . . . . . . . . . : Canon IJ Network Tool (15)Application Version . . . . . . . . . : 2.5.7.30 (16)Printer . . . . . . . . . . . . . . . : Canon MP980 series Printer (1 コピー) ---------------------------------------- NIC Info. ---------------------------------------- (21)Printer . . . . . . . . . . . . . . . : Canon MP980 series (22)Firmware Version. . . . . . . . . . . : 1.040 Wireless LAN (23)Wireless LAN Enabled. . . . . : YES (24)Standard. . . . . . . . . . . : 802.11g (25)MAC Address . . . . . . . . . : 00-00-85-F0-A7-09 (26)Network Type. . . . . . . . . : Infrastructure (27)SSID. . . . . . . . . . . . . : BUFFALO-4CCFDC (29)Encryption ON . . . . . . . . : YES (30)Encryption Type . . . . . . . : AES (31)Authentication. . . . . . . . : WPA2-PSK (32)Attached Information. . . . . : 13 character Passphrase (33)Link Status . . . . . . . . . : Active (34)Signal Strength . . . . . . . : 84% (35)Link Quality. . . . . . . . . : 96% TCP/IP (36)Mode. . . . . . . . . . . . . : Auto (37)IP Address. . . . . . . . . . : 192.168.3.20 (38)Subnet Mask . . . . . . . . . : 255.255.255.0 (39)Default Gateway . . . . . . . : 192.168.3.1 (47)Admin Password ON . . . . . . . . . . : NO Printer Access Control (48)MAC Address Enable. . . . . . : NO (49)IP Address Enable . . . . . . : NO (50)Device Status . . . . . . . . . . . . : Available Printer User Name (51)Wireless Name . . . . . . . . : (53)Card Slot Enable. . . . . . . . . . . : YES (54)Default Name. . . . . . . . . . . : F0A709000000\canon_memory ---------------------------------------- PC Info. ---------------------------------------- (61)SSID Info. Wireless adapter Name . . . . . . . . . . : Broadcom 802.11n ネットワーク アダプタ SSID. . . . . . . . . . . . . . . . . : N/A (62)IP Configuration Info. Windows IP 構成 ホスト名. . . . . . . . . . . . . . .: shinichi-PC プライマリ DNS サフィックス . . . . .: ノード タイプ . . . . . . . . . . . .: ハイブリッド IP ルーティング有効 . . . . . . . . .: いいえ WINS プロキシ有効 . . . . . . . . . .: いいえ DNS サフィックス検索一覧. . . . . . .: flets-east.jp iptvf.jp イーサネット アダプター ローカル エリア接続: 接続固有の DNS サフィックス . . . . .: flets-east.jp 説明. . . . . . . . . . . . . . . . .: Realtek PCIe GbE Family Controller 物理アドレス. . . . . . . . . . . . .: FC-61-98-20-1D-09 DHCP 有効 . . . . . . . . . . . . . .: はい 自動構成有効. . . . . . . . . . . . .: はい IPv6 アドレス . . . . . . . . . . . .: 2400:2413:4e1:5e00:3dd7:5e6c:bb15:e0d0(優先) 一時 IPv6 アドレス. . . . . . . . . .: 2400:2413:4e1:5e00:a866:bdd9:c719:8318(優先) リンクローカル IPv6 アドレス. . . . .: fe80

  • エクセルのVBAでプリンタを変更したいのですが・・・

    エクセルのマクロでプリンタを変更して印刷をしたいと思っています。 そこで、   (1) 利用できるプリンタ   (2) (1)のポート   (3) (1)のプリンタドライバ を取得したいのですが、どうすればよいのでしょうか? VBではプリンタオブジェクトを使って簡単に取得できるようなのですが、VBAでの方法がわかりません。 プリンタ設定ダイアログなどは表示せずに、APIなどを使ってできないものでしょうか? どうぞよろしくお願いします。 【環境】Windows2000、Office2000

  • ネットワーク上のプリンタ名を取得

    VB6で開発しています。 ネットワークプリンタの名称を取得する良い方法があれば教えて頂けますか。 CommonDialogやSHBrowsForFolderを使用すればネットワークプリンタの「共有名」は取得できるのですが、取得したいのはそれではなくて「サーバー上から見た場合のプリンタ名そのもの」なのです。 例えばあるサーバー上に共有プリンタAが存在するとします。 このプリンタは プリンタ名 :プリンタA 共有名   :printer という風になっています。 同ネットワーク内に存在するクライアント1からこのプリンターを参照しようとした場合、エクスプローラーや、あるいは上記のSHBrowsForFolderを使用した簡単なアプリケーションでは「\\サーバー名\printer」という値が返ってきます。 でも「プリンタの追加ウィザード」でネットワークプリンタをインストールしようとするとちゃんと「プリンタA」と表示されます。 この「プリンタA」という情報が欲しいのです。 何かよい方法がありましたら教えて下さい。 宜しくお願いします。

  • プリンタ一覧の取得

    お世話になります。 ネットワーク上の他クライアントのプリンタ一覧を取得する方法を探しています。 環境はWin2000です。 クライアントAから、クライアントBにログオンしているユーザー2のプリンタ一覧を取得する方法はあるのでしょうか。 strComputer ="クライアントB" Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" ) Set PrtSet = objWMIService.ExecQuery("Select * From Win32_Printer") For Each Prt In PrtSet MsgBox Prt.Caption Next 上記、クライアントAにログオンしているユーザー1で実行したところクライアントBのユーザー1プロファイルのプリンタ一覧を取得してしまい、ユーザー2のプリンタ一覧を取得してくれません。 なにか情報、方法ありましたらご教授ください。 よろしくお願いします。

  • 社員のPCを監視したい

    今までそういったことは行っていなかったので、今更ながら、検討しているのですが。 社員のPCを監視するには、どういった方法があるのでしょうか。 AのPCから、B・C・D~のPCの操作を勝手に行いたいのではなく、 B・C・D~のPCが今何を見ているか、AのPCから確認、ということをしたいのです。 >監視の方法(さまざまな方法) (1)デスクトップとノートパソコンで色々事情が変わってくるのか、それともそんなことはないのか。 (2)リアルタイムで確認するしかないのか、後からでもその日一日の行動を確認できるのか。 (3)どこまで見れるのか(デスクトップまで全て・デスクトップ以外なら全て・ネット閲覧した場合のみ) (4)ネット閲覧した場合のみの監視は可能か。 (5)((4))が可能の場合、ネットにアクセスしたことだけが分かるのか、ネットのどこどこにアクセスしたのか、までが分かるのか。 (6)例えばグーグルクロームのシークレットモードを利用していた場合、監視に影響は出るのか。(ネットを通して監視するのか?そのPC自体を監視するから関係ないのか?) (7)それらは、PCの設定次第で可能なのか。無料のソフトをダウンロードしなければならないのか。有料のソフトじゃないと駄目なのか。 を、教えてください。 どれか一つ、または他のアドバイス、でもなんでも構いません。 またはそういったことが分かるサイトなどあれば。 宜しくお願い致します。 ---------------------------------------- (確か私の記憶では、高校での授業の際PC操作がありまして、その時担任が主のPCから全てのPCの操作を勝手に行う、ということをしていたので、おそらくやろうと思えば、「デスクトップを含む全ての場所を監視・操作」ということが可能なのでは?と思うのですが。しかしそれが学校独自のものなら、社内でそういうことをするのは限界があるのでは、とも思い。 しかしPCに詳しいわけでもないので、よく分かりません。) (>出来ればデスクトップを含めた全ての場所の監視 >最低でもネット閲覧していた場合の監視の方法 を宜しくお願い致します。)

  • 印刷時のジョブ名

    Printerオブジェクトを通して印刷するとジョブ名が、「MicrosoftVisualBasic」となりますが、これを最初から(EndDocで出力する前)変更する事は可能でしょうか? SetJob()APIで出力後変更する事も考えましたが、このAPIはWin9Xでは動作しないようですし、プリンタの監視ユーティリティの表示はそのままの場合がありました。 他の方法をご存知の方がおられたらぜひお願いします。