NI製品ディスカッション

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

LabVIEWによる他社アプリケーション操作について

現在、LabVIEW上で他社アプリケーションを起動し操作することを考えています。

 

実際に使用するアプリケーションはZeiss社のZEN 3.0で、顕微鏡カメラと接続し撮影するアプリケーションです。これを起動したのちに、顕微鏡カメラで連続撮影を行いたいと考えています。

 

https://forums.ni.com/t5/NI製品ディスカッション/他のアプリケーションの起動について/m-p/821710

上のディスカッションの様にシステム実行viを用いて、コマンドプロンプトによって起動することは可能になりましたが、その後のアプリケーション上の操作(ボタンを押す、ショートカットを入力する等)は可能でしょうか?

 

ご教授よろしくお願いいたします。

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

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

システム実行VIでアプリケーションのEXEファイルを起動する場合、起動時に引数を含めて起動できるように作成されているEXEに対して実行オプションとしての引数を追加できますが、起動後の操作はできません。

 

このソフトウェアを制御するためのライブラリやAPIが準備されている場合は、それを利用して操作できる可能性はあります。

その例として、レポート生成サブパレットに含まれているVIにはMicrosoft WordやExcelを起動してファイルを作成するものがあります。このような処理が可能なのはWordやExcelが外部ソフトウェアから制御できるAPIが存在して利用できるようになっているためです。

 

ZEN用Open Application Developmentというものがあり、主要な機能へのアクセスがあるようですので、それを利用すれば操作可能になる可能性はあると思います。この点はZeiss社にご確認ください。

0 件の賞賛
メッセージ2/4
4,149件の閲覧回数

お世話になっております。

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

ひとまずZeiss社にも連絡をして確認させていただきます。

 

重ねて質問で申し訳ないのですが、ご回答における「API」というのはLabVIEW上ではユーザが自由に利用できるものなのでしょうか。(例えばOffice以外のアプリケーションでAPIが存在する場合、それを操作するための関数などはあるのでしょうか)

Open Application Developmentにはpythonによる制御はできる様なので、pythonを通じて制御になるかと推測しています。

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

>「API」というのはLabVIEW上ではユーザが自由に利用できるものなのでしょうか

 

APIは、Application Programming Interfaceの略でそのソフトウェア以外からアクセスできるように設計されているライブラリです。たとえばWindows OSにもWindows APIがあり、LabVIEWを含むさまざまなプログラミング言語で利用できます。

 

基本的にAPIは、主にDLL形式(.dll)になっており、LabVIEWでは以下の呼び出し方法があります。

  • ライブラリ関数呼び出しノードを使用する
  • .NET関数を使用する
  • メーカーが提供するLabVIEW用のAPIを使用する(この場合は、サブVI化されているものがあります。)

 

Open Application Developmentにはpythonによる制御はできるとのことですが、LabVIEW 2018以降ではPythonのソースコードを実行できる関数が含まれるようになっており、Pythonでアプリケーションを制御するプログラムを作成しておき、LabVIEWで実行することはできると思います。

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