人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

元々コマンドライン機能を持っていないGUIアプリケーションを、なんとかコマンドラインで操作できるようにしたいと考えています。
この様なことは実現可能でしょうか?

私は普段PHPを使って開発をしている為、Windowsアプリケーション開発には詳しくありません。
Windowsアプリケーション開発をされている方などからのアドバイスをお聞きしたいです。
もちろん、場合によってはC/C++言語を学ぶことも考えています。

よろしくお願いします。

●質問者: router
●カテゴリ:コンピュータ インターネット
✍キーワード:C/C++ GUI PHP Windows アドバイス
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Dworkers
●23ポイント

そのGUIアプリがActiveX EXE、もしくはActiveX DLLの場合、それらのEXE/DLLを呼び出すコマンドライン用EXEを別途作成する方法が考えられます。

IDE(Visual Studio等)のメニューバーより「参照設定」を選択し、そのアプリのEXE/DLLが指定可能であればこの方法が利用できるかと思います。

◎質問者からの返答

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

早速Visual Studio C++ 2005 Expressをインストールして、試してみました。

指定可能だったのでどうやら利用できそうではあります。

とはいえ、C++は知識不足もいいところですので、引き続きご回答をお待ちいたします。

Dworkersご回答の方法の解説や、学べる情報、もしくは別のアプローチからコマンドラインで操作する方法があれば、ご回答ください。


2 ● pigment
●23ポイント

コマンドラインでないといけない理由がわからないが・・・

UWSCでコントロールするのはだめぽ?

◎質問者からの返答

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

残念ながらコマンドライン出なければなりません。

UWSCはある程度決まった操作しか出来ないし、ちょっとずれたりするとかの不安もあります。

何より、他のプログラムから当該のプログラムを操作する用途に使えません。


3 ● Dworkers
●22ポイント

<ActiveXに関して>

C++、PHP共に開発経験がないので

適切なアドバイスができなくて申し訳無いのですが、

ActiveXに関しては以下のサイトが参考になるかと思います。

■COM総合研究所

http://www5.plala.or.jp/atata/

■COM研究室(まずはこっちからがお薦めです)

http://www5.plala.or.jp/atata/com/

C++言語について学んでも良いということなので、

1度参照されてみることをお薦めします。

参照設定したコンポーネントのインスタンス生成方法や、

そういうことの解説、サンプルもあります。

PHPにも「クラス」が存在すると思いますが、

ActiveXも簡単に言えばクラスライブラリです。

WindowsアプリケーションをActiveXコンポーネントとして作成することにより、

他アプリケーションからクラスライブラリとして利用することが可能になります。

COMというのは乱暴に言えばそういうクラスライブラリ技術の総称?です。

ちなみにVBでもActiveXは利用できます。

C++でなくVBでも良いのであればVBの方が簡単かと思います。

余談ですが、VBとVBAとVBScriptは似たようなもで、

どれが1つ理解すればスムーズに他の言語も理解できます。

VBScriptはJavaScriptの代わりにHTMLに埋め込むこともでき、

VBScripからActiveXコンポーネントを呼び出すこともできる為、

覚えておいて損は無いかと思います。

つまり、IE限定になりますがPHPで吐き出すWebページで

ActiveXコンポーネントを利用することができます。

Windowsアップデート等にこういった技術が利用されています。

◎質問者からの返答

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

確かコメントをつけてくれた方がいたような気がしますが、消えてしまっていますね。

コマンドラインで操作したかったのは、いくつかありますが良く使っているフリーウェアです。

GUIで繰り返し操作するのがめんどうなので、コマンドラインで出来ないものかと。

リバースエンジニアリングにあたるかもしれないといった話でしたが、であればやめておこうと思います。

しかし、単純に興味はあるのでもう少し調べたいです。

Dworkersさんの言う方法は、つまりあらかじめ呼び出されることを想定して作られた、たとえばUNZIP32.DLLのようなものを、組み込むのにとる方法、と考えていいのでしょうか。


4 ● pigment
●22ポイント

あらためてUWSCをお勧めします。

コマンドラインではありませんが、GUIで繰り返し動作させるスクリプトを組むこともできます。

自分はInternetExplorerのエディットボックスにISBNコードを書いてHTML上のボタンを押して、HTML上で出てきたHTMLタグをテキストに吐き出すというスクリプトをUWSCで実行したことがあります。

何百冊ものISBNコードと自分のIDを入れて、書籍一覧のアフィリエイトを作ったということです。

UWSCは結構GUIアプリをコントロールできるものです。

イメージで説明すると、、、

Windwowsアプリはメッセージで動いているのでメッセージ送れば外部から動かせるのです。

ユーザがアプリにメッセージを送るには、キーで打ち込んでボタンを押すのですが、UWSCでも同じことができます。

アプリの起動している座標とかは関係ありません。(ここ大事)

ボタンやエディットボックスにメッセージを送れば、アプリがどこに起動していようときちんと動作します。

コマンドラインではありませんが、バッチの代わりにスクリプト書いて実行するんですから、作業は変わらないでしょう?

GUIアプリのコントロールではほかの手もありますが、

わかりやすさからUWSCをお勧めします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ