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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0308
AKIIEの現在表示しているページに「すべて選択」を送る?3未解決


AKI

リンク

2008/3/8(Sat) 13:11:18|NO.14024

こんにちは
IEで現在開いてるページを「すべて選択」にしたいのですが

#include "hspext.as" aplsel "HSP" aplact wait 10 aplkey 65,2
ではなにも起こりません。
どうすればいいですか?



この記事に返信する


KENTA

リンク

2008/3/8(Sat) 15:56:13|NO.14025

開いているページはそのハンドルを取得してアクティブにし、
そこにkeybd_eventでCtrl+Aを送ればすべて選択状態にできます。

//すでに開いているIEをすべて選択(Ctrl+A)状態にする //HSP-NEXTのactwin命令使用 #module #uselib "user32.dll" #cfunc GetForegroundWindow "GetForegroundWindow" #cfunc GetWindowThreadProcessId "GetWindowThreadProcessId" int,int #func AttachThreadInput "AttachThreadInput" int,int,int #func SetForegroundWindow "SetForegroundWindow" int #cfunc FindWindow "FindWindowA" var,int #uselib "kernel32.dll" #cfunc GetCurrentThreadId "GetCurrentThreadId" ;▼アクティブウィンドウの制御 #deffunc actwin int prm1 handle=prm1 if handle!0 : hsphwnd=handle : else : hsphwnd=hwnd if hsphwnd==0 : return -1 ThreadId1=GetWindowThreadProcessId(GetForegroundWindow(),varptr(PID)) ThreadId2=GetCurrentThreadId() AttachThreadInput ThreadId2,ThreadId1,1 SetForegroundWindow hsphwnd AttachThreadInput ThreadId2,ThreadId1,0 return 0 #global #uselib "user32" #func keybd_event "keybd_event" int,int,int,int #cfunc FindWindow "FindWindowA" int,int #func ShowWindow "ShowWindow" int,int #func HideCaret "HideCaret" int #func DestroyCaret "DestroyCaret" class="IEFrame" IEhwnd=FindWindow(varptr(class),0) actwin IEhwnd keybd_event 17,0,0 //Crtlを押す keybd_event 'A',0,0 //Aを押す keybd_event 'A',0,2 //Aを離す keybd_event 17,0,2 //Ctrlを離す stop



AKI

リンク

2008/3/8(Sat) 17:27:31|NO.14027

ユーザー関数を使用しないとむりですか?
「すべて選択」→「コピー」→「クリックボードを文字列変数に代入」
→「指定文字列検索」と言う風な流れにしようと思うのですが



KENTA

リンク

2008/3/9(Sun) 01:19:00|NO.14034

最初提示したスクリプトが動かなかった理由は、たぶんaplkey命令が原因だと思います。
なのでaplkey命令の内容を変更することによってできると思います。

//aplkey命令の内容を変更 #module #uselib "user32" #func keybd_event "keybd_event" int,int,int,int #deffunc aplkey_ int _p1,int _p2 if _p2=1 :keybd_event 16,0,0 if _p2=2 :keybd_event 17,0,0 if _p2=4 :keybd_event 18,0,0 keybd_event _p1,0,0 keybd_event _p1,0,2 if _p2=1 :keybd_event 16,0,2 if _p2=2 :keybd_event 17,0,2 if _p2=4 :keybd_event 18,0,2 return #global #include "hspext.as" aplsel "HSP" aplact wait 10 aplkey_ 65,2

>「クリックボードを文字列変数に代入」
hspext内のclipget命令を利用すればできます。

>「指定文字列検索」
instr命令などの文字列検索命令でできます。



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