OPEWIN マニュアル ■ 名前 opewin.exe - コマンドラインからWindowsを操作する ■ 動作環境 Microsoft Windows 95/98/NT40/2000 必要DLL : mfc42.dll,msvcrt.dll ■ 書式 opewin ... ■ 説明  opewinは、コマンドラインからWindowsの様々な処理を行うこと を目的に開発しました。  GUIアプリの自動操作を主な目的としているため、ウィンドウ/コ ントロール操作関連の機能が主な機能となっています。  処理内容は、opewinのパラメータとして、コマンドを羅列します。  コマンドは先頭から順に解釈され実行されます。  コマンド/パラメータは空白で区切って下さい。  コマンドが不正な場合は、当該コマンド実行時に発生します。  コマンド実行中は、内部的にカレントウィンドウハンドル(HWND) を保持しており、これを操作する(-fw,-gwコマンド等を利用)こと で操作対象のウィンドウ/コントロールを指定します。 ■ コマンド  コマンドは、「-」で始めます。 【ウィンドウ検索/カレントウィンドウ操作】 -wh  をカレントウィンドウにします。 例) opwein -wh 0x1234 -pwt ※ カレントウィンドうを 0x1234 に設定し、そのウィン ドウのタイトルを表示します。 -pwh  カレントウィンドウのウィンドウハンドル値を16進数で表示 します。 例) opewin -fw 電卓 -pwh ※ タイトルが「電卓」のウィンドウを検索し、そのウィ ンドウハンドルを表示します。 -fw  で指定されたタイトルを持つウィンドウを検索します。  検索結果が、カレントウィンドウとなります。該当ウィンド ウが存在しない場合は、カレントウィンドウはNULL(=0)となり ます。  内部的にはWindowsAPIのFindWindowを使用しています。 例) opewin -fw 電卓 ※ タイトルが「電卓」のウィンドウを検索します。 -gw [] []  または、カレントウィンドウを基準にしてで示 される関係のウィンドウを検索しカレントウィンドウにします。  が指定されている場合は、上記処理を回繰り 返します。  内部的にはWindowsAPIのGetWindowを使用しています。  には、次の値を指定できます。 next,n,GW_HWNDNEXT 兄弟ウィンドウの次のウィンドウ prev,p,GW_HWNDPREV 兄弟ウィンドウの前のウィンドウ first,f,GW_HWNDFIRST 兄弟ウィンドウの先頭のウィンドウ last,l,GW_HWNDLAST 兄弟ウィンドウの最後のウィンドウ child,c,GW_CHILD 子ウィンドウ owner,o,GW_OWNER 親ウィンドウ 例) opewin -fw 電卓 -pwh -gw child -pwh -gw next 14 -pwh ※ タイトルが「電卓」のウィンドウを検索し、子ウィン ドウ(コントロール)の15番目のウィンドウ(コントロー ル)をカレントウィンドウにし、そのウィンドウハン ドルを表示します。 -fwlm [] []  で始まるタイトルを持つウィンドウを検索します。  検索結果が、カレントウィンドウとなります。該当ウィンド ウが存在しない場合は、カレントウィンドウはNULL(=0)となり ます。  が指定されていた場合は、そのウィンドウので 指定された関係のウィンドウを起点として検索します。  には、-gwコマンドと同様の値を指定できます。  省略時には、「child」が適用されます。 例) opewin -fwlm "Microsoft Excel" -pwt ※ 「Microsoft Excel」で始まるウィンドウを検索します。 opewin -fw 画面のプロパティ -fwlm キャン current -pwh -pb ※ 「画面のプロパティ」ウィンドウの「キャン」で始ま るウィンドウ(実際には「キャンセル」ボタン)を押し ます。 -fwrm [] []  -fwrmのウィンドウタイトル検索を、タイトル文字列末尾で 判定するバージョンです。 例) opewin -fwlm "Becky!" -pwt ※ 「Becky!」で終わるタイトルのウィンドウを検索し、 ウィンドウタイトルを表示します。 -gfw  最前面に表示されているウィンドウを取得し、カレントウィ ンドウに設定します。  内部的にはWindowsAPIのGetForegroundWindowを使用してい ます。 【ウィンドウ制御】 -sw  で指定されたウィンドウの表示状態を操作します  には次の値を指定できます。 show 表示します hide 非表示にします 例) opewin -fw 電卓 -sw current hide -cw []  で指定したウィンドウを閉じます。  を省略した場合は、カレントウィンドウを対象としま す。 例) opewin -cw 0x1234 oepwin -fw 電卓 -cw -swt  カレントウィンドウのタイトルをに設定します。 例) opewin -fw 電卓 -swt でんたく ※ 「電卓」のウィンドウタイトルを「でんたく」にしま す。 -pwt []  ウィンドウのウィンドウタイトルを表示。  を省略した場合は、カレントウィンドウを対象としま す。 例) opewin -pwt 0x1234 -pb []  または、カレントウィンドウの中心部分を左クリック します。  自動的にボタンを押す場合などに利用します。 例) opewin -fw 電卓 -gw child -gw next 14 -pb ※ 例ではCALC.EXE (普通の電卓モード)が起動していた場 合、[6]のボタンが押されます。 【テキストボックス制御】 -set  カレントウィンドウをテキストボックスとして、テキスト内 容をに置き換えます。  カレントウィンドウがテキストボックスである必要がありま す。 例) opewin -fwrm メモ帳 -gw child -set あいうえお ※ 起動中の「メモ帳」のウィンドウを探してテキスト内 容を「あいうえお」に書き換える。 ※ メモ帳の「メモ」は半角です ※ 「メモ帳」のウィンドウの検索には、-fwrmを使用 しています。これは、実際にはメモ帳のタイトルは 「無題 - メモ帳」のように文書名を含んでいる為 です。 -aet  カレントウィンドウをテキストボックスとして、テキスト内 容の末尾にを追加します。  カレントウィンドウがテキストボックスである必要がありま す。 例) opewin -fwrm メモ帳 -gw child -aet かきくけこ ※ 起動中の「メモ帳」のウィンドウを探してテキスト内 容末尾に「かきくけこ」を追加する -aetd  カレントウィンドウをテキストボックスとして、テキスト内 容の末尾にで書式化された現在時刻を追加します。  カレントウィンドウがテキストボックスである必要がありま す。  中に次の書式指定として文字列を指定することがd けいます。 %Y 西暦4桁 %y 西暦2桁 %m 月 %d 日 %H 時 %M 分 %S 秒 %% 「%」 例) opewin -fwrm メモ帳 -gw child -aetd "%Y/%m/%d %H:%M:%S" ※ 起動中の「メモ帳」のウィンドウを探してテキスト内 容末尾に現在日付、時刻を追加する 例) opewin -fw "ファイル名を付けて保存" -fwlm ファイル名 current child -gw next -set "todaysfile"-aetd %Y%m%d -aet ".txt" ※ 「ファイル名を付けて保存」ダイアログのファイル名入力 テキストボックスに、「todaysfileYYYYMMDD.txt」と 入力する。(YYYYMMDDの部分が現在日付になる) 【ウィンドウメッセージ】 -sm []  で指定されたウィンドウにメッセージを送信します。  が省略された場合は、カレントウィンドウが対象とな ります。ただし、を省略する場合は、には数値を 使用できません。  には、メッセージを指定します。メッセージを表す数 値または、APIで定義されているシンボル (WM_COMMAND,WM_CLOSEなど)が使用できます。   には、メッセージのパラメータを指定し て下さい。  内部的にはWindowsAPIのSendMessageを使用しています。 例) opewin -fw 電卓 -sm WM_COMMAND 303 0 ※ 「電卓」に WM_COMMANDメッセージをパラメータ303と して送ります。(メニューの「関数電卓」が選択されま す) -pm []  -smコマンドのPostMessageバージョンです。  内部で、SendMessageAPIを使用するかわりに PostMessageAPIを使用します。 例) opewin -pm 0x1234 WM_CLOSE 0 0 ※ ウィンドウハンドル 0x1234 のウィンドウにWM_CLOSE メッセージを送ります。 【コマンド実行制御】 -slp