|
例)UWSCを実行させながら、DVDをフルスクリーンモードで鑑賞するなど・・・ |
| DATE:2007/10/31(Wed) 17:56
No.1222 |
|
|
| RE:裏側での実行機能はあるでしょうか? umiumi |
|
|
|
CLKITEM関数を使う場合は CLK_BACKを指定 KBD, BTN関数ならば MOUSEORG関数を使用して第2引数に 2 を指定 下にある掲示板検索ツール UBTrek を使い過去ログから情報を収集してみて下さい
|
|
DATE:2007/10/31(Wed) 22:29
|
|
|
| RE:裏側での実行機能はあるでしょうか? akira |
|
|
|
過去ログから色々たどり・・・下記記事を参考にさせてもらいました。
アクティブウィンドウに対してのキー操作 must こんにちわ。いつもUWSCを重宝させていただいております。
ご相談させていただきたいのですが、 一連のキー操作を非アクティブのウィンドウに対して行う方法はありますでしょうか?
経緯としましては、 最初KBD関数を利用して、ある一連のキー操作をループさせて行わせていたのですが、 同時に別のウィンドウで他の作業する必要が出てきたためです。
GetIDでUWSCで制御したいウィンドウのIDを取得してSCKEY関数でIDをキーを指定する方法も試したのですが、 それだと、キー操作が行われるたびに、UWSCで制御しているウィンドウがアクティブになってしまいました。
良い方法をご存知でしたら、ご教授お願いいたします。
DATE:2007/3/17(Sat) 16:09 No.598
-------------------------------------------------------------------------------- RE:非アクティブウィンドウに対してのキー操作 清水 --------------------------------------------------------------------------------
// マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送る MOUSEORG( ID, [基準指定 ] ) 引数 ID: Windowを識別するID 基準指定 : 0: ウィンドウ位置 (デフォルト) 1: クライアント領域の位置を基準にする 2: 指定ウィンドウ(オブジェクト)へマウス、キー情報を直接送る (第1引数はウィンドウIDでも ハンドル値でも可)
以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする 基準指定にて 2が指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る スクリーン座標に戻す時はゼロを指定 MOUSEORG(0)
--------------------------------------------------------------------------------
「基準指定にて 2が指定された場合は KBD()・・・」で可能のハズすが、私のところでは動作しません(windows2000)>umiumiさん
id1=exec("notepad") MOUSEORG(id1,2) //,2を削除すれば打鍵されます kbd(vk_a,CLICK,100) kbd(vk_b,CLICK,100) kbd(vk_c,CLICK,100) MOUSEORG(0)
なお、btnは基準指定2でも動作します。
RE:非アクティブウィンドウに対してのキー操作 umiumi 直接送る場合は目的のウィンドウを指定する必要があります id1=GetCtlHnd(exec("notepad"), "Edit")
そして、この記事を参考にHelpを読みかえし下記の説明をまでたどりつきました。ですが、「第二引数のアイテム名」に何をセットしていいのかがわかりません。サンプルのメモ帳の場合は、"Edit"を与えているみたいですが、他のアプリの場合には何を与えてやればいいのでしょうか?
// ボタン等、オブジェクトのハンドルをゲットする 戻値 = GETCTLHND( ID, アイテム名, [番号] ) 引数 ID: Windowを識別するID アイテム名: ボタン類のキャプション文字、もしくはオブジェクトのクラス名 番号: 同じアイテム名がある場合に番号指定 戻値 ハンドル値
※ GETCTLHND(ID, GET_MENU_HND) とするとメニュハンドルを返します GETCTLHND(ID, GET_SYSMENU_HND) とするとシステムメニュハンドルを返します
|
|
DATE:2007/11/10(Sat) 00:11
|
|
|
| RE:裏側での実行機能はあるでしょうか? ZEROSAM |
|
|
DATE:2007/11/10(Sat) 01:36
|
|
|
|
ありがとうございます。おかげさまでIDをGETすることができました。
あと、私の解釈が間違っているのかもしれませんので、確認させていただきたいこどがあります。以下のHelpに記述されている「以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする」という箇所ですが、これは非アクティブウィンドウであっても色判定チェック等を行えるという解釈でよろしいのでしょうか?
// マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送る MOUSEORG( ID, [基準指定 ] ) 引数 ID: Windowを識別するID 基準指定 : 0: ウィンドウ位置 (デフォルト) 1: クライアント領域の位置を基準にする 2: 指定ウィンドウ(オブジェクト)へマウス、キー情報を直接送る (第1引数はウィンドウIDでも ハンドル値でも可)
以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする 基準指定にて 2が指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る スクリーン座標に戻す時はゼロを指定 MOUSEORG(0)
|
|
DATE:2007/11/10(Sat) 02:29
|
|
|
| RE:裏側での実行機能はあるでしょうか? umiumi |
|
|
|
>これは非アクティブウィンドウであっても色判定チェック等を行えるという解釈でよろしいのでしょうか? 他のウィンドウに隠れている場合(見えない状態)にも色判定が出来るかという話であれば それは無理です。
|
|
DATE:2007/11/11(Sun) 01:01
|
|
|
| RE:裏側での実行機能はあるでしょうか? akira |
|
|
|
>他のウィンドウに隠れている場合(見えない状態)にも色判定が出来るかという話であれば それは無理です。
なるほど仕様ですね。了解いたしました。 |
|
DATE:2007/11/11(Sun) 01:15
|
|
|
|