From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

マルチモニタの情報を取得する

解決済み
解決策を見る

現在複数のモニタを識別する方法を検討しております。

InterfaceはHDMI-DVIになります。

モニタの解像度は取得可能ですが、その他の情報も読めるようにしたいです。

開発環境はLabVIEW2011 DS2, 32-bitになります。

 

 

0 件の賞賛
メッセージ1/7
7,325件の閲覧回数

googleで「labview multi display resolution」と検索すると下記のサンプルが見つかりますがお役に立ちますか?

 

Programmatically Read Monitor Resolution

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/7
7,260件の閲覧回数

お忙しい中、ご回答ありがとうございます。

 

下記ご紹介頂きました内容は既に確認しており、接続されているモニタ数と各モニタの解像度を取得する事が出来ます。

今回はもう少し突っ込んだ情報を取得したく、モニタの型番やシリアルID等が読み出せる事が目的です。

EDIDの情報が抜き出せれば、後はバイナリ変換で何とかなりそうなのですが、LabVIEWでの読み出し方法が分らない状況です。

 

0 件の賞賛
メッセージ3/7
7,255件の閲覧回数

横から失礼致します。

 

Windows Vista以降のPCをお使いであれば、WmiMonitorIDクラスを使用することでモニター情報が取得できます。

 

-WmiMonitorID class (Windows)-
https://msdn.microsoft.com/en-us/library/windows/desktop/aa394542(v=vs.85).aspx

 

以下のVBサンプルを元にLabVIEWでも実装してみました。

 

-WmiMonitorID, ROOT\WMI, c# samples-
http://wutils.com/wmi/root/wmi/wmimonitorid/cs-samples.html

 

モニターの型番は「UserFriendlyName」のプロパティから取得が可能です。

 

GetMonitorInfo.png

 

SnapCrab_GetMonitorInfovi フロントパネル_2017-7-6_19-32-41_No-00.png

 

純粋にLabVIEWの関数などで出来ないことがあれば、.NET系の関数を使用することでLabVIEWでも実装することが可能なものもありますので、

今後参考になれば幸いです。

メッセージ4/7
7,210件の閲覧回数

ご返信ありがとうございます。

 

この手のプログラムを組んだ事が無いため非常に勉強になります。

添付頂きましたviですが、私が2011 32-bitを使用しているため、開くことができませんでしたので、添付頂いた画像を元に作成を行っておりますが、

.NET Object To Variant.vi でどうしてもエラーが発生してしまいます。

エラーの内容は下記になります。

 

LabVIEW:  入力パラメータが無効です。たとえば、入力がパスである場合、OSで許可されていない文字(?、@など)がパスに含まれている可能性があります。
=========================
NI-488:  コマンドの実行にはGPIBコントローラがコントローラ・イン・チャージである必要があります。

メソッド名: .NET:Convert Object To LabVIEW Variant

0 件の賞賛
メッセージ5/7
7,195件の閲覧回数
解決策
トピック作成者rotowaが受理

rotowa様

 

返信が遅くなり申し訳ありません。

 

今回のコーディング内容に全く関係のないGPIB系のエラーが出るということは

使用する関数や設定などが上手く行っていないということだと思います。

 

LabVIEW2011で開けるように保存したものを添付致します。

ご確認の程よろしくお願い致します。

 

何かご不明な点がありましたら、お気兼ねなく返信いただければ幸いです。

0 件の賞賛
メッセージ6/7
7,141件の閲覧回数

ご回答ありがとうございます。

ファイルが開けるようになった事で、原因が分りました。

System.management.dll 関数が不足していたようです。

 

フリーダウンロードで入手し、問題を解決する事が出来ました。

 

ありがとうございました。

0 件の賞賛
メッセージ7/7
7,133件の閲覧回数