HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0319
イナウサほかのexeファイルを制御する4解決


イナウサ

リンク

2017/3/19(Sun) 18:09:48|NO.78596

いつもお世話になっていますイナウサです。題名にも書いたようにほかの人が作ったexeファイルを制御
したいです。制御するexeファイルにはボタンや入力ボックスなどがありますが、そのexeファイルのボタン
を押すなどしたいのです。どなたか教えれください。



この記事に返信する


MillkeySoftware

リンク

2017/3/20(Mon) 00:29:55|NO.78602

サンプル用に、HSP でウィンドウとボタンを作って、キーボードの特定キーで対象ボタンを押すスクリプト。

#uselib "user32.dll" #cfunc FindWindowEx "FindWindowExA" int,int,sptr,sptr #define WM_LBUTTONDOWN 0x0201 #define WM_LBUTTONUP 0x0202 #define MK_LBUTTON 0x01 screen 0,800,600,0 : Title "Window制御 - EMD" Button gosub "対象のボタン",*ButtonControl pos 100,0 : mes "キーボードの【↓】を押すと、対象ウィンドウの対象ボタンを押します" *main stick ki,,0 //HSPが非アクティブでも検出するようにします。 if (ki&8) : gosub *SendControl await 10 goto *main *SendControl //ウィンドウ管理リストより、操作対象のウィンドウを検索します。 TargetMainHWND = FindWindowEx(0,0,"hspwnd0","Window制御 - EMD") if TargetMainHWND = 0 : dialog "対象のウィンドウを検索できませんでした" : return //上記で検索されたウィンドウの中にある対象のウィンドウを検索します。 TargetButtonHWND = FindWindowEx(TargetMainHWND,0,"Button","対象のボタン") if TargetButtonHWND = 0 : dialog "対象のウィンドウを検索できませんでした" : return //対象のウィンドウのボタンに対して、マウス押し離しメッセージを送信 SendMsg TargetButtonHWND,WM_LBUTTONDOWN,MK_LBUTTON,0 SendMsg TargetButtonHWND,WM_LBUTTONUP,MK_LBUTTON,0 return *ButtonControl color rnd(255),rnd(255),rnd(255) : boxf 100,100,200,200 return
ウィンドウは必ずウィンドウクラス名とウィンドウ名のどちらかを必要とします。
そのどちらかがわからないと、制御することはできません。
また、同名のウィンドウクラスまたは同名のウィンドウ名が存在する場合、どちらが検索されるかは保証できません。



イナウサ

リンク

2017/3/20(Mon) 03:59:59|NO.78604

ウィンドウ検索について詳しく聞かせてください。
自分が制御しようとしているのは
http://www.daisendenshi.com/download/ddk0668t_manual.pdf
の12ページに登場するアプリです。どこをどう変えたらいいのか教えてください。



MillkeySoftware

リンク

2017/3/20(Mon) 12:03:02|NO.78612

どこをどうするも何も、ウィンドウの中にウィンドウがあるっての理解してますよね?
ボタン・メッセージボックス・チェックボックス・コンボボックスはすべてウィンドウである。

サンプルは、HSP で作った「Window制御 - EMD」という親ウィンドウの「対象のボタン」という子ウィンドウを探してその子ウィンドウにウインドウメッセージを送っているだけです。
わかりやすく説明しているだけなので、一括取得などは考慮していません。

詳しくは、下記 URL を見てください。
http://www.hsptv.sakura.ne.jp/play/pforum.php?mode=pastwch&num=66538



イナウサ

リンク

2017/4/2(Sun) 18:24:57|NO.78823

ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.