• ベストアンサー

アプリケーションソフトの自動化プログラミング

プログラミングについては初心者です。よろしくお願いします。 アプリケーションソフト(ROM書き込み用)をマウス操作でなく、外部スイッチなどで操作したいと考えています。VBでスクリプトを組むような方法を取ればできると思うのですが、ここで質問です。 1.プログラムから制御可能なアプリかどうかは何を調べればよいのでしょうか? ActiveXに対応しているかどうかということでしょうか? 2.制御可能とした場合、アプリ側の制御マニュアルのようなものが必要になると思うのですが、メーカーに何といって要求すればよいのでしょうか?

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

  • ベストアンサー
noname#11476
noname#11476
回答No.2

>ここでいう機能というのは最初からスイッチの入力コマンドをプログラムしておくということでしょうか? そもそもアプリケーションソフト(例えばお話のROMライター制御ソフト)が、外部信号などを受け付けるように作られていない限りは、普通のソフトはそう言うことは出来ないと言う意味です。 >>(ただし、マウス、キーボードの動きをスイッチの動作に応じてシミュレートし >>て、あたかも人間が操作しているかのように見せかけて動かすことは可能ですけど) >これはどのような方法でやるのでしょうか? Windowsのソフトウェアは、通常イベントメッセージというものを受け取って、それに対応する動作をプログラムするという仕組みになっています。 (キーボード、マウスなどはWindowsが管理していて、ユーザが操作したときに、アクティブになっているプログラムに対してそのユーザの操作をイベントという形で通知し、アプリケーションソフトはそれに対応する動作を行うわけです。) 一方Windowsは、キーボード、マウスなどの動作についてはデバイスドライバというものから受け取っています。 なので、このデバイスドライバに割り込んで、Windowsに対して、(実際にはキーが押されていなくても)キーが押されたよと通知するプログラムを仕込むと、Windowsはそれを受け取ってアプリケーションに伝えます。 つまり、外部スイッチに反応してキーボードなり、マウスなりの動きに変換してWindowsに通知するドライバを作ればそう言うことが出来るわけです。 フリーウェアなどでもその類のソフトは色々ありますよ。 あと、リモコンソフト(パソコンを電波方式などのリモコンで操作する物です)などもそう言う機能を使っています。 >最初に作られたAというプログラムがあります。このプログラムのユーザーがBというプログラムを作ってAを制御したいということです。 言われていることは分かりますが、普通はそう言う機能は備えていないと言うことです。 そんな簡単に出来る物ではなく、Windowsのプログラミングについてそれ相応の知識がないと作れませんよ。

diode5
質問者

補足

重ね重ねありがとうございます。だんだんわかってきたような気がします。 >このデバイスドライバに割り込んで、Windowsに対して、(実際にはキーが押され >ていなくても)キーが押されたよと通知するプログラムを仕込むと、Windowsはそ>れを受け取ってアプリケーションに伝えます。 >つまり、外部スイッチに反応してキーボードなり、マウスなりの動きに変換して>Windowsに通知するドライバを作ればそう言うことが出来るわけです。 これがひとつの回答であるというような気がします。 >フリーウェアなどでもその類のソフトは色々ありますよ。 これを教えていただけませんか? よろしくお願いします。

その他の回答 (2)

noname#11476
noname#11476
回答No.3

フリーのソフトであれば、参考URLからどうぞ。 この中からたとえば、 http://www.vector.co.jp/vpack/filearea/win/util/operate/index.html などにもいろんなものがあります。 具体的には、 http://www.vector.co.jp/soft/win95/util/se238086.html なんかは、人間の操作をあらかじめ指定しておいて、決まった時間に実行するようなソフトですね。

参考URL:
http://www.vector.co.jp/
diode5
質問者

お礼

フリーソフトを使ってみました。大変勉強になりました。 これを参考にして考えていこうと思います。 mickjey2さん、どうもありがとうございました。 またよろしくお願いします。

diode5
質問者

補足

こんなソフトがあるということを知りませんでした。 教えていただいてありがとうございます。 今仕事中なので、一段落したところで使ってみます。 (うまく使えるかどうか自信がないのですが・・・)

noname#11476
noname#11476
回答No.1

>アプリケーションソフト(ROM書き込み用)をマウス操作でなく、外部スイッチなどで操作したいと考えています。 ROM書き込み用という意味が不明で、外部スイッチで操作というのは? そももそアプリケーションソフトとは何を指しているのでしょうか? パソコン用の普通のアプリケーションソフトのことであれば、ソフト側にその機能がない限りそんなことは出来ないです。 (ただし、マウス、キーボードの動きをスイッチの動作に応じてシミュレートして、あたかも人間が操作しているかのように見せかけて動かすことは可能ですけど) >VBでスクリプトを組むような方法を取ればできると思うのですが、 なぜそのような考えに至ったのかがわかりません。 VBとはそもそもMicrosoft社が自社のアプリケーションソフトの為に作り上げたものです。 他社でVB を利用できるのはMicrosoftに準じた仕組みを導入したVISIO位でしょう。 なので、 ご質問1:調べる方法はありません。ソフトメーカが教えてくれれば分かります。普通はそんな機能は付いていません。 ご質問2:上記の通り普通は付いていません。付いていれば教えてくれる「かも」しれません。

diode5
質問者

補足

回答ありがとうございます。回答をもらえないかと少し心配しておりました(^^!) >ROM書き込み用という意味が不明で、外部スイッチで操作というのは? マイコンボードに使われるEEPROMなどにプログラムを書き込むROMライターの制御ソフトです。外部スイッチは入出力用の拡張ボードを使って取り付けようと考えています。 >そももそアプリケーションソフトとは何を指しているのでしょうか? 今回の質問で特定すればROMライターの制御ソフトです。 しかし、広義ではWindows上で動くプログラムという意味で使っています。 >パソコン用の普通のアプリケーションソフトのことであれば、ソフト側にその機能 >がない限りそんなことは出来ないです。 ここでいう機能というのは最初からスイッチの入力コマンドをプログラムしておくということでしょうか? >(ただし、マウス、キーボードの動きをスイッチの動作に応じてシミュレートし >て、あたかも人間が操作しているかのように見せかけて動かすことは可能ですけど) これはどのような方法でやるのでしょうか? この方法でアイコンをクリックできれば半分解決するような気がします。 >>VBでスクリプトを組むような方法を取ればできると思うのですが、 >なぜそのような考えに至ったのかがわかりません。 例えとしてわかりやすいかと思って書いたのですが、逆にわかりにくかったようですいません。 最初に作られたAというプログラムがあります。このプログラムのユーザーがBというプログラムを作ってAを制御したいということです。 (う~ん、ますますわかりにくかったらごめんなさい) 以上、よろしくお願いします。

関連するQ&A

専門家に質問してみよう