• ベストアンサー

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

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

  • diode5
  • お礼率87% (128/146)

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

  • ベストアンサー
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

  • visualbasic2008で別アプリケーションを制御する

    visualbasic2008で別アプリケーションを制御する 初めて質問させて頂きます。 VisalBasic2008にて、リファレンスが公開されていないアプリケーションの制御をしたいと考えてます。 制御したいアプリケーションの起動は出来るのですが、その後、アプリケーションにて実施されるマウス等の手動操作のコマンドを取得し、VBにて手動操作を自動化させたいです。 だれか解る方おられましたら、教えて下さい。

  • 外部アプリケーションをタスクバーから元のサイズに

    VB2005の初心者です。 色々調べたつもりなのですが解らなくて・・・。 外部アプリケーションをshell関数やProcess.Start("○○.EXE")などで起動は出来るのですが、起動後、一旦VB2005アプリケーションで作業を行う為、最小化しています。VB2005アプリケーションのある作業を終了したとき自動的に最小化した外部アプリケーションを元のサイズに戻しアクティブにしたいのですがよく解りません、制御する方法を教えて頂けないでしょうか。

  • 別アプリケーションを操作するプログラミング

    別アプリケーションを操作するプログラミング あるデータベースソフトを使っていまして、データを特定の様式でプリントアウトできる機能を持っています。 ただこのソフト、数十枚分のデータを一括でプリントアウトする機能がなく、一枚一枚プレビュー画面を出して「印刷ボタン」をクリックして・・・とやる必要があります。 これを自動化できるツールを作りたいなと思っているのですが可能なのでしょうか? イメージとしては、別アプリケーションを操作するアプリケーションです。 画面上のボタンをクリックしたりするためには、そのボタン自身や置かれているウィンドウなどの部品名(?)が分からないと指定できませんよね? それを自動で調べて、名前等取得してくれるようなことが必要になると思いますが可能ですか? 調べていくうちに、そういうのは操作対象のアプリ側の製作者が、そういうことを想定してアンカーのようなものを用意してくれてないと無理というような話を聞いたのですが、やはりそうなのでしょうか? この言語なら可能とかいうのがありましたら、ぜひ教えていただけないでしょうか。

  • 操作自動化について

    一点教えていただきたいことがあります。 バッチやスクリプトで自動化したい操作があります。 アプリケーションを起動し、予め作成していたテキストファイルの内容を、起動したアプリケーションに出力させるといった動作を自動化させたいと思ってます。 できればバッチファイルで行いたいのですが VBスクリプト等でも結構ですので教えていただけますでしょうか? よろしくお願いいたします。

  • VBで他のアプリケーションを操作する

    VBを使って、たとえばブラウザや適当なアプリケーションのテキストボックスに文字を書いて検索ボタンを押すことはできますか。 ブラウザなどは立ち上げておいて、最大化してテキストボックスの位置がわかっているものとして構いません。 マウスの位置を動かして、ウインドウをクリックして(VBのフォーカスは失われる)、文字列を送り込んで、ボタンを押すということができるのでしょうか。 もちろんVBのFormの中では個々の操作ができることはわかっています。 まるで人が操作しているかのように他のアプリケーションを間接的に操作できるかどうかを教えてください。

  • お絵かきソフトプログラミングについて

    アプリケーションの作成について質問させて頂きます. 以前javaでちょっとしたお絵かきソフトを作ったことが有り、興味が湧いて 他の言語で本格的に作ってみたいと思っていますが、どうはじめていいのか困っています。 分からない点として (1)言語はC++でと思っているのですが、調べたていたらwinApiのプログラミングが要求 されたりと、どうはじめていいのかわからない状態です。まずはwinApiを使って製作するのが いい方法なのか? (2)理想としてはwindowsのペイント、gimpもどきのアプリを作ってみたいのですが、これらのソフトはどのような言語、ライブラリ(?)を使って作成されたのか?。 ご存じの方がいらしたら、ご回答の程よろしくお願いいたします。

  • vbのアプリケーション終了

    RS232cで繋がれた外部媒体と通信を行うアプリケーションをVBで作成しました。 通信を行った(オープン・クローズをきちんと実施)後、endコマンドによりアプリを終了させようとしたんですが、終わりませんでした どんな問題が考えられるのでしょうか? どうかよろしくお願いいたします。

  • アプリケーション開発の今後

    プログラミングもろくに出来ない、業界の人間じゃない、ずぶの素人の質問と思ってください。変な質問かもしれないので、その辺ご了承願います。 今後のアプリケーションは、デスクトップアプリからウェブアプリに移行するのでしょうか? 質問の意図は、これからVisualStudioでVBとかC♯でも勉強してみようかなと思っているのですが、無駄にならないかなという疑問がありまして。

  • EXCEL VBAから他アプリケーションを操作することは可能ですか?

    こんばんは。 VBAの本を購入し勉強していますが、VBAと他アプリケーションとの連携について記載が少なく(txtやcsvファイル操作)、どこまで出来るんだろうという不安があり質問しました。 (1)EXCEL VBAから他アプリケーションを起動し、設定操作、命令を送り操作することは可能でしょうか? イメージとしては他アプリに一方的に命令を送り操作できれば良しです。(アプリ側からのリターン要求はしません。) (2)第2の質問です。 VBAで他アプリを起動した状態で人が操作している感覚でマウスを操作できますか?(利用方法:他アプリの●ボタンを押したい!!) 目の前にソフトがあるのに触る操作は出来ないものでしょうか? いろいろ調べて見ましたが、この様な事例はありません。 駄目元ですが、こんな操作を知っていましたら教えてください。 こんな操作ができればいいな~

  • 任意のアプリケーションを自動で操作できるソフトはありますか?

    任意のアプリケーションを自動で操作できるソフトはありますか? 以下の例のような動作を求めています 1.Excelに対して、ひたすら特定のセルをコピーしたり 2.InternetExplore上で、100あるお気に入りをタブで3秒ごとに開いたり 3.ゲームアプリ上で、特定の範囲を行ったり来たりしたり 4.動画再生中に特定の色や景色が出てきた時に任意の指示を与えたり ・・・ いろいろなソフトに対して、マウス動作、キーボード押下、画像判定などができる ソフトがありましたら教えてください。上記3番4番の目的が主です。 以上、よろしくお願いします。

専門家に質問してみよう