• ベストアンサー

市販の業務パッケージの入力画面を制御する

お世話になります。 VBで開発されたと思われるパッケージを使っているのですが、 外部のプログラムから入力画面(売上入力など)の各項目に値をセットして 登録処理を実行するといったような、アプリケーションを外部からのリモート操作のようなことは出来ないでしょうか?

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

>間違いあれば指摘ください。 ありません。 Spy++により、アプリ及びコントロールのクラス名が分かります。 (参考URLの"Notepad", "Edit") これを元にコントロールのウインドウハンドルを取得して、SendMessageすればいいのです。 >入力画面(売上入力など)の各項目 だだ、同じコントロールが複数ある場合は、クラス名からはどれか特定できないので コントロールIDを元にSendMessageするという案でした。

参考URL:
http://www.vbvbvb.com/jp/gtips/0801/gSendMessageWmSetTextFindWindowEx.html
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

質問199357参照 FindWindowExでコントロールを探す手法が紹介されていますが、 Spy++でコントロールIDを調べて、SendDlgItemMessageでメッセージを送ったほうが簡単かな。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=199357
HiroBlue
質問者

お礼

情報ありがとうございます。 私のやりたいことは、不可能ではないのかなぁという気持ちになりました。 ただ、自身では解決に至らないような気もします。 Spy++とは、MS VisualC++に付属のツールということでよろしいでしょうか? (少し調べてみましたら、そのような情報がありました) 以下のとおり理解したのですが、間違いあれば指摘ください。 ・Spy++を使うと、Windows内でのメッセージ交換を覗き見することができる。 ・マウスの移動した経路などを記録するのではなく、Windowsの部品に対して何か処理をしたということを認識することができる。 (オペレータが何をしたかでなく、Windowsが何をされたかを認識する) ・特定のアプリケーションのテキストボックスには、必ず何らかの認識することができる名前とかIDがついている。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • torukun
  • ベストアンサー率0% (0/1)
回答No.2

エー・アイ・ソフトという会社のScriPlayer PRO32というソフトがあります。 参考までにと書いてみました。

参考URL:
http://www.aisoft.co.jp/
HiroBlue
質問者

お礼

情報ありがとうございました。 Windows Easy Control Tool ScriPlayer PRO32 Ver.2.1 for Windows 標準価格:29,800円(税別) JANコード:4988617764019 試用版などあればと探してみたのですがみつけられませんでした。 また、WinMe,Win2000,WinXPに対応した版が発売されていないようでした。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

いやあ同じようなことを考えておられる人がおられるのだなと思いました。ただ有りますと言えないのが残念ですが。私は10年ぐらい前に、ホストが大型機で端末機側でDos時代の日立のパソコンとBasicを使っていました。その拡張Basic部分に、ホストアクセスと言ったと思いますが、画面インタフェースと言っていたと思いますが、自分でBasicでプログラムを組み、パソコンディスク上のファイルを読んで、ホストが送ってくる画面上の所定のフィールドに、データ(例えば会社名漢字)を自動的にセットして、自動的にEnterキーを押す指令がBasic側プログラムで出来て、それをすると送信できる。そしてホストから結果が返ってくると、Basic側で捉えることが出来て、例えば印刷のファンクションキーをBasic側で出せて、結果を印刷とかも出来る。スピードは、照会で1日500件前後と遅いですが、自分だけで自動化できて便利でした。送信・入力データも自分流に作れるので、少しBasicが組めれば応用が広がりました。 その後こんな機能を紹介している記事や本を見たことがありません。関心を持ちつづけてみてください。 一般的に、そう言うことを考慮していない・関係のないプログラム(100%この類)の実行時に、好む個所で自分のプログラムの実行を割りこませるために、プログラム実行権を横取りないし派生することは出来ません。 唯一パソコンでも画面V-RAMのセット済みの段階のようなところは必ず通り仕様が統一的な場面になるので、捉えるチャンスなんですが、WINDOWS時代になり、マルチウインドウになったので複雑になって難しくなったと素人の私は思います。何かのご参考になれば幸いです。

HiroBlue
質問者

お礼

お礼が遅くなり申し訳ありません。 やりたいことは非常に単純明快なのですが、実現するには難しいイメージを感じました。同じような事を考えている人がいるということはなんだか嬉しく感じました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB6のアプリケーションで入力した値をASPで表示する方法を探しています。

    質問させていただきます。 VB6で作成したアプリケーションからASPのページを呼び出す プログラムを作成しています。 アプリケーション側で入力した値を引数として渡し、 ASPのページで表示させたいのですが、どのようにすれば いいでしょうか? 方法や参考になるサイトなどありましたらお願いします。 開発環境は Windows2000 VB6 IIS5.0 です。

  • EXCEL入力値のWeb画面への入力について

    Excelに入力された値をWeb画面上のある入力領域に挿入し、 Web画面上のボタンを押すという処理を繰り返し行いたいと思います。 単純な操作なのですが、手入力で行うと結構面倒で、できれば 自動化したいと思います。 VBAプログラムでプログラミングしたいと思うのですが、 Web画面上への入力、ボタン押下処理は、どのようにしたら 良いのでしょうか。

  • パッケージソフトを自動化したい

    VB6で作成されたパッケージソフトが会社に入っており、そのパッケージソフトの画面に別のプログラムからデータを自動入力をしたいと考えております。 (そのパッケージにはAPIが用意されてません。) そこで、そう言った操作の方法をネットで検索しますと『FindWindow』や『FindWindowEx』、『SendMessage』などの関数がヒットしましたが、マイクロソフトMSDNのサイトを見ますと、これらの関数はWindows2000の関数として記載されており、WindowsXPやWindows7では記載されておりません。 現在、これらの関数を使用しなくても、開発の出来るツールや言語があったりするものなのでしょうか。 ご存じの方がいらっしゃれば、何卒ご教授の程お願い致します。

  • 「値引入力」って何に使うのですか?

    ある販売管理パッケージのカスタマイズ開発を しております。 売上入力のメニュー画面には、「売上入力」、 「売上返品入力」の他に「値引・値増入力」 という選択肢があるのですが、 これは何に使うものなのでしょうか? 単に値引きするだけなら、 売上入力の単価を訂正して値引することもできますし、「値引」という商品名を使って、数量=1×マイナス金額で行値引きに対応することもできるのですが、 これをあえて使うメリットって何なんでしょう? 経理上、必要なのでしょうか? さらに値引はわかるのですが、現実的に値増なんて 発生するものなのでしょうか?

  • Web画面でのフォーカスの制御

    <Web画面におけるフォーカスの制御について> VBでよく使うLostFocusのような、データが入力されたあとでの処理をするような機能がWeb画面作成のプログラムでは、あるのでしょうか?

  • VCでIEを制御するには

    こんにちは VCで作成したプログラムで、ブラウザ(IE)に、 入力欄(IDやパスワード)に値をセットしたり submitさせたりを したいのですが、 どのような方法がありますか? VBでは比較的簡単に?出来たのですが、 VCでは、どのようにすれば良いのか、頭を抱えています。 ご指導頂ければ幸いです。 よろしくお願いいたします。

  • 入力値チェック

    VBにて、テキストフィールドに入力した値を チェックするプログラムを作りたく、記載を致しました。 わからない点として、 (1) 値を入れ終わった直後に入力チェックが入るようにする コードをどうかけばいいのか? (2) 入力チェックは、"1~5"の値入力のみを受付ける。 それ以外は、"入力を受け付けない"というメッセージを 促し、テキストフィールドの値を空にする。 の2点です。 このチェック処理を作るための手順についてお伺いしたく 記載を致しました。 ご教授の程お願い致します。

  • 置換の画面を起動するには?

    VBではなくてエクセルマクロ(VBA)の話なんですが、マクロ実行過程で置換の画面を自動的に起動させ、そこにユーザが入力した値を使って、続きの処理をさせたいのですが、置換の画面って起動できるようにプログラムすることはできませんか? →置換の画面って標準で用意されてないのでしょうか?

  • Win2000からXPマシンを制御

    WMIを使用したVBプログラムを作成しています。 開発環境:Win2000 VB6(SP5) WMIを使用してリモートマシンの電源OFFなどの制御を 行なっていますが、自マシン(Win2000)からNT、2000の マシンに対しては電源OFFできました。 が、XPマシンに対して処理を行なうと、WMIでのエラー (アクセス拒否)となります。 XPに対しては、WMIの使い方が違っているのでしょうか? (WMI始めたばかりでよく理解しておりません)

  • EXCEL VBA シート内の特定のセルに値が入…

    EXCEL VBA シート内の特定のセルに値が入力された際に処理を実行するプログラム EXCELシート内の特定のセルに値が入力された際に処理を実行するプログラムをEXCEL VBAで作成したいと考えています。 EXCELに計測データを取込み、このデータが設定値以外の場合のみ、トリガーを出す様なイメージで使いたいと思います。 どの様に考えれば良いでしょうか?サンプル等ありましたら紹介ください。 上記質問の”トリガー”について補足します。 あるセルに値が入力されたら、マクロを実行するという風にしたいという意味です。 単純にマクロ実行を手動で行うのでは無く、ある値が判定値以外の場合に他アプリケーションを操作したいという意味です。。