2

現在、LabView の System Exec.vi を使用してサードパーティ ソフトウェアを実行しています。このプログラムにキーボード入力を送信する必要がありますが、標準入力を介して送信することはできませんが、Windows のように行うことができます (つまり、Alt+F4 をクリックするとウィンドウが閉じ、Alt+F で [ファイル] メニューに移動するなど)。 . 私はすでにこのキーボードの組み合わせをプログラムに挿入する方法を持っていますが、私が抱えている問題は、System Exec でそれを実行するとすぐに、このプログラムがどういうわけかバックグラウンドに移動することです。これは、「最小化を実行」を false に設定した場合でも、「完了まで待機」の状態に関係なく発生します。

プログラムウィンドウがバックグラウンドになっている原因がわからないので、LabViewウィンドウ(常にアクティブなまま)からプログラムウィンドウに切り替える必要があります。誰もこれを行う方法を知っていますか?

ありがとう!

4

1 に答える 1

1

アクティブにするウィンドウの名前がわかっている場合は、「ライブラリ関数の呼び出し」を介して Windows API user32.dll の FindWindowASetForegroundWindowを使用できます。http://digital.ni.com/public.nsf/allkb/B5F993B3C19521CB86256F1E00595E64
を参照してください。

于 2012-07-15T01:26:16.923 に答える