- 144 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/29(月) 23:59:39 ID:kPmAlv+60]
- すみません教えてください。
クリックしたウインドウを、クリックした回数によって分岐、指定したサイズ・位置に並べて表示 するuwsを書いています。 指定秒数内にキーが押されたかの判定を Vk_LShift 等のキーで指定すれば成功するのですが、 Vk_Lbutton 等のマウスボタンで指定すると高確率で失敗してしまいます。 内容は、クリックによってアクティブになったウィンドウのタイトルを、クリックした数だけ取得し、 ((title_1 = title_2) and (title_2 = title_3)) or (2回目のクリックがタイムアウト) なら ACW(GetID(title_1),0,19,int(G_SCREEN_W/3),G_SCREEN_H-19,0) (title_1 <> title_2) and (title_2 <> title_3) なら 3つのwindowを画面幅/3で左から並べて表示 (※実際には and を使わずにif文を分けて書いています) タイムアウトとクリック判定のFunctionはサンプル.UWSから流用させていただいて、 (GetTimeしてwhile〜2秒以内にVk_Lbuttonが押されればTrueを返す〜wend) といった内容です(ウィンドウは最大で4分割)。 マウスクリックの判定では、ウィンドウを1回しかクリックしなくても、2回クリックがあったと判断 されて(MsgBoxを挟んで確認しました)、つまり(title_1 = title_2)となり、title_2の場所にtitle_1 が表示されてしまいます(対象ウィンドウが1つのときは3回クリックすれば良いのですが)。 ifb target_1=target_2 で分岐してもクリックの回数が意図したとおりに反映されないのでNGでした。 タブレットペンのダブルクリックアシストをOFFにしてペンを使っても同じで、キー判定にしなければ 失敗します。 マウスは5ボタンマウスで、ドライバはOS(XP Home)標準のドライバを使用しています。 マウス付属のドライバは削除済みで、ダブルクリックの速度なども標準設定のままです。 exec("taskmgr")でのアプリケーションタブからウィンドウを選ぶようにして、Sckey(0,Vk_APPS,V)では 細いタスクバーと細いタイトルバーを使用していると隙間ができてしまうのでNGでした。 できたらクリックでこれを行いたいのですが、よろしければアドバイスお願いします。
|

|