1 名前:名無しさん@お腹いっぱい。 [2009/12/09(水) 05:27:33 ID:J1DL1P1U0] Windowsを自動化させるツールUWSC。 www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/06(土) 17:07:22 ID:MuLbdSUi0] >>174 マイナス値を使っても一発で目的の文字列に到着しないんです 一行で簡単に書ければ....と思ったのですが、諦めます 正規表現は、自分にはまだ早すぎる(理解できてない)ので もう少し勉強してから挑戦してみようと思います ありがとうございました
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/06(土) 17:42:47 ID:bC6Cwg/o0] >>170 これは便利ですね。簡単にできました。どうも有り難うございました。
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/06(土) 20:30:18 ID:IY8b0Hns0] >>175 どうせならTOKEN使った関数を自作した方がスマートですよ。 こんな感じで。動かしてないので動作は保障できませんが。 function GetStrForward( kword ) result = "" while true str = token( "<#CR>", str, true ) if ! length( str ) then break // trueを外していると、途中で抜ける場合がある if ! pos( kword, str ) then continue // キーワードが見つかった場合、その前方の文字列を返す。 result = copy( str, 1, pos( kword, str ) - 1 ) exit wend fend BetweenStrを何度か実行するのって、長いソースだとそーとー実行時間の無駄だと思うんです。 だから、キーワードを含む行をまず見つけて、その1行から切り出す方法を考えた方がいいかなと。 tokenの区切りが文字列で指定可能ならもーちょっと使えるんですけど・・・ HTMLの場合はDOMを駆使するともっと効率的にアクセスできる場合もあるから、 先にDOMで絞り込めないかを考えた方がいいかもしれません。 確実に抽出できるならHTML全体からとった方が短くかけるかもしれませんけど。
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/06(土) 21:25:28 ID:MuLbdSUi0] >>177 あ、ありがとうございます 例まで書いていただいて非常に嬉しいのですがハードル高いっす 残念ながらtoken、function、DOMやらの文字が何一つ理解できません 精進して出直してきます、でも有り難う
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/11(木) 02:46:55 ID:yrYtb4hB0] 失礼します。 キー同時押しのスクプリトご存知の方おしえていただけませんか よろしくお願いします
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/11(木) 11:48:29 ID:KutBFNeQ0] kbd(vk_shift,down) kbd(vk_1,down,30) kbd(vk_1,up,30) kbd(vk_esc,up)
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/11(木) 11:52:43 ID:KutBFNeQ0] なんかちょっとしくってた
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/12(金) 04:04:08 ID:9YYIHyOz0] >>179 // ショートカットキーの実行 SCKEY( ID, キー, [キー, キー, キー, ...] )
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 01:06:22 ID:gvQMSvHV0] >>180 >>182 お返事ありがとうございます。 参考にさせていただきます。
184 名前:名無しさん@お腹いっぱい。 [2010/02/13(土) 02:00:24 ID:qgx2boSW0] 失礼いたします。 uwscにて実行したいことがあります。 画面上に出ている英数字画像の入力をしたいのですが うまく入力してくれません。 12桁の英数字が表示され、左の英数字から順番に入力して欲しいのですが、 UWSファイルに書き込んだ通りの順番で入力してしまいます。 UWSファイルには1,2,・・・〜8,9,0,A,B,・・・〜Y,Zの順番で書き込んでおります。 「8 B A Z 9 0 Z Y A B C D」と入力したいのに、 「8 9 0 A A B B C D Y Z Z」と入力してしまいます。 助言だけでも聞けたらと思いレスいたしました。 宜しければお力添えをお願いいたします。
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 02:02:19 ID:qgx2boSW0] sage忘れまして申し訳ないです。 久しぶりの2chでの書き込みですっかり忘れてました。 そして連レス申し訳ありません。
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 04:38:30 ID:eUy/fvfx0] >>184 ループをこんな風にしてるんでしょ? 例1) DIM data="ABCDEFG" for i = 1 to length(data) copy(data, i , 1) ←この文字があるかどうか探している KBD() ←見つかったらすぐ入力 nest 文字の判定はやっぱり↑みたいにしないといけないけど 文字が見つかったらその座標を記録していくべきでしょ。 で、座標のX成分でソートして小さい方から入力する。 DIM KEYCAR[8] ←これに見つかった文字の文字コードをセット DIM KEYX[8] ←これに見つかった文字の座標をセット 文字が一通りスキャンできたらKEYXとKEYCARを並べ替え、 KEYXの小さいものからKEYCARを入力していく。 ソートは件数も少ないし、バブルソートがシンプルでいいと思いますよ。
187 名前:名無しさん@お腹いっぱい。 [2010/02/13(土) 07:59:27 ID:YuKBFn4V0] (´-`).。oO(nest・・・・・)
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 13:12:06 ID:qgx2boSW0] >>186 さんありがとうございます。 >座標のX成分でソートして小さい方から入力する。 >DIM KEYCAR[8] ←これに見つかった文字の文字コードをセット >DIM KEYX[8] ←これに見つかった文字の座標をセット >文字が一通りスキャンできたらKEYXとKEYCARを並べ替え、 >KEYXの小さいものからKEYCARを入力していく。 座標のX成分でソートとはどういったことをすればX成分を検出できるのでしょうか? 無知過ぎる私にはやはり早いのでしょうか。。
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 17:44:34 ID:hcaqZS6v0] uwscを使用してるんですが [K]キーを押すのではなく[K]キーを押し続けるにはいったいどうすればいいんでしょうか 情報くださいorz
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 19:03:56 ID:eUy/fvfx0] >>188 もしかしてCHKIMG()を全体にかけてるんですか? だとしても >TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納 とあるので、G_IMG_XをKEYXの配列に格納していくだけですよ。 他の方法で画像を解析してる場合でも、座標くらい取れるでしょう。 たいていは文字は読みにくいように加工されているからCHKIMG()では対処できないんですけどね。 >>189 > [K]キーを押し続けるには KBD(VK_K, DOWN)
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/13(土) 23:46:03 ID:qgx2boSW0] >>190 さん CHKIMGの構文くらいしか理解出来ていないほどの初心者です、、涙 理解しきれていない部分が多々あるのでなんともいえないのですが、、 やはり>>186 の構文で行った方が確実なのでしょうか? もし宜しければ>>186 の内容を分かりやすく説明していただけたらと、涙 本当に初心者過ぎて申し訳ないです。 ここで詳しく説明できないような内容でございましたら、 捨てアド用意しておりますので、そちらでも構いません。 最初はggrksとか書かれるとは思いましたが、 ここまでご親切にお教えしてもらえると嬉しくて仕方ありません><
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/14(日) 00:12:51 ID:4sAlpgnt0] >>191 > やはり>>186 の構文で行った方が確実なのでしょうか? いや、chkimgでいいです。 copyで文字列から取り出したのはあんまりいい方法じゃなかったです。 ただ、chkimgしたら座標を取り出さないと並べ替えできませんよと。 本来手動で行うべきところを自動化するのはあんまりよろしくないので これ以上具体的な解説はやめときます。 ソートとかの部分的な話なら別にいいけど。 僕もユーザー登録とか半自動化したけど、画像読み取りは難しいから そこだけ入力待ちとかにしてますよ。
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/14(日) 00:22:56 ID:XhJVEd4Q0] >>192 さんありがとうございます。 ソートとはクリップボードの文字列のソートの事でしょうか? どういう効果で、どのように使用するのか教えていただいたら光栄です。
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/14(日) 00:49:51 ID:4sAlpgnt0] >>193 えーと、そこはぐぐって欲しかったですね。 ソートとは並べ替えのことです。 ttp://su10.sgu.ac.jp/~morita/Seminar/6thStudent/entani/sort/bubble/bubble.html 関数化してちゃんとできてるかテストしてから組み込んだ方がいいと思います。
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/14(日) 18:50:13 ID:7ySdGB3b0] Aの操作を○回実行した後にBの操作を実行し 最初に戻るという操作はどうしたら出来ますか?
196 名前:名無しさん@お腹いっぱい。 [2010/02/14(日) 19:20:34 ID:nB/iMQXP0] >>195 While(True) For i = 1 To ○ Aの操作 Next Bの操作 Wend
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 01:51:46 ID:fbzctM220] UWSC Ver4.6 umiumi 64bit環境での高レベル記録、CPUUSERATE関数の対応 KINDOFOS関数にてOSが64bitかのチェックをできるようにした STATUS関数にてアプリが64bitかのチェックをできるようにした VARTYPE 関数にて型変更をできるようにした ROUND関数にて丸め位置を指定できるようにした GETSTR関数にてマウス移動オプションを付けた CHKIMG 関数のヒット数チェックにてヒットした位置情報を配列に格納するようにした 多重のCALL文にてファイルのカレントを識別してなかったのを修正 COM のBoolean型を数値型に変換していたのを修正 設定画面が出ている時にはスケジュールが走らないように修正 Pro版: CREATEFORM にてIFrameが使われた時にsubmitボタンの処理ができなかったのを修正 UDebug: 64bit環境にて Help->"Folder with .INI"で間違ったフォルダを開くのを修正 DATE:2010/2/14(Sun) 01:29 No.2862 Windows 7 64bit環境での動作について umiumi 32bitアプリに対しては問題ありませんが、64bitアプリに対しては以下の制限があります CLKITEM、GETITEM関数の種別にて ツリービュー, リストビュー, タブ指定は無効 (替わりに ACC指定を利用して下さい) GETSLCTLST関数にてツリービュー, リストビューは無効 POSACC関数にて ACC_API(APIトラップ) 指定は無効 STATUS関数にて ST_PATH(EXEパス取得) 指定は無効 64bitの DLLを呼び出す事はできません また、SOUND 関数にて"BEEP"指定時は PC内部スピーカではなく、通常のサウンド出力になる
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/15(月) 02:09:13 ID:DLqX4NXD0] タスクアイコンを右クリックして選択をするにはどうしたらいいですか?
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/17(水) 05:35:30 ID:cjyZasPE0] >>198 アイコンの画像をビットマップで保存してchkimgで座標を取ってBTN(RIGHT, Click)かな。 アイコンが動いたり隠れたりするとうまくいかないので他の方法探した方がいいね。 ウィンドウ一覧からID取ってPostMessageとかでメニューを出すみたいな。
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/17(水) 06:00:12 ID:cjyZasPE0] エディタの正規表現検索使ったリンクアドレス抽出が便利だったけど別窓に移動するとダメだったので、 UWSCで検索ワードを別窓にコピペするマクロを作ってみた。 サクラエディタでの正規表現の例 <a href="/test/read.cgi/bike(.*)" target="_blank">cache .*でリンクアドレスをワイルドカードにしてるくらいだけど、範囲検索に複数キーワードとシフトキーを駆使するよりも簡単だし、 操作手順が少ないのでマクロもシンプルになり、使い回しが効くようになる。 Alt+TABで切り替わるように設定し、検索側窓をアクティブにした状態でAlt+F1をクリックして開始する。 ショートカットキーはSCKEY()が確実だが、多重起動のエディタのIDを適切に取得するのは大変だし、 どの道Alt+TABで切り替えるんならKBD()でいっかと。 // あらかじめ最初の検索位置に飛んでおく。 // 終了はストップボタンで。 stopform(true) while true sleep(0.2 ); KBD(VK_CTRL, DOWN) // コピー sleep(0.01); KBD(VK_C, CLICK) sleep(0.01); KBD(VK_CTRL, UP) sleep(0.01); KBD(VK_ALT, DOWN) // 窓切り替え sleep(0.01); KBD(VK_TAB, CLICK) sleep(0.01); KBD(VK_ALT, UP) sleep(0.2 ); KBD(VK_CTRL, DOWN) // 貼り付け sleep(0.01); KBD(VK_V, CLICK) sleep(0.01); KBD(VK_CTRL, UP) sleep(0.01); KBD(VK_RETURN, CLICK) // 改行 sleep(0.3 ); KBD(VK_ALT, DOWN) // 窓切り替え sleep(0.01); KBD(VK_TAB, CLICK) sleep(0.01); KBD(VK_ALT, UP) sleep(0.2 ); KBD(VK_F3, CLICK) // 次検索 wend
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/23(火) 14:54:49 ID:F3gsnxhTP] >>198 TrayCommand 0.06を使うと良いと思うよ
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/25(木) 09:04:22 ID:d7sFY4K50] スケジュール機能を使って特定のウィンドウが現れたときに それを閉じるスクリプトを書きたいんだけど、 wshid = getid("Windows Script Host","#32770") ifb wshid = -1 exitexit else wsh2id = getstr(wshid, 1, str_static) ifb wsh2id <= "書き込むことが出来ません" ctrlwin(wshid, close2) endif endif 「書き込むことが出来ません」の前の文字が変わるから 部分一致で閉じるようにするにはどうすればいいの?
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/25(木) 09:43:16 ID:tNdZxzY+P] 「特定のウィンドウ」とそうでないウィンドウを あなた自身はどう見分けてるの?
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/25(木) 13:17:48 ID:+bexKkLC0] >>202 if pos( "書き込むことが出来ません", getstr() ) then print 見つかりました
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/25(木) 18:01:42 ID:d7sFY4K50] >>204 あ、posっていうのがあったのか ヘルプ読んでたはずなのに見落としてた ありがとう
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/26(金) 22:10:30 ID:1IEGk7vg0] ver.4.6にしたら、chkimgで範囲チェックエラーがでるようになったよ。
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/04(木) 08:28:32 ID:PO6OGpHQ0] VB6とかOfficeのVBAのエディタみたいに入力直後に登録されたキーワードがヒットしたら 強制的に大文字小文字を整形して置換(if→Ifとか)されるような機能を持ったテキストエディタないですか? 大文字小文字を気にして打ち込んでたらだるいしかといってそのままだと見返したときにすごく分かりにくいしで疲れました
208 名前:名無しさん@お腹いっぱい。 [2010/03/04(木) 08:40:10 ID:2mTNuI0U0] ロケットマウス、久々に新ver出てるのにスレ無いんだね・・・ ttp://home.att.ne.jp/yellow/town/rockm.htm
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/04(木) 10:10:42 ID:SA9xyQjv0] ロケットマウスは使い物にならない、ゴミ。
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/05(金) 06:08:33 ID:+qj40agr0] ロケットマウスは素早くマクロ作れるから便利だよ でも最新版は高すぎる
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/05(金) 10:02:22 ID:qXBK1A2U0] 必死宣伝乙。
212 名前:名無しさん@お腹いっぱい。 [2010/03/05(金) 15:02:28 ID:kdn5jr8z0] >>210 何でこのスレ見てるの? >>208 スレが欲しければ自分で立てろ。客がつくまで自分で維持しろ。 僕もAT小型限定の話をするとあっち行けと追い出されるし、 スレ立てすると「AT限定や小型限定があるだろ重複だ」とか言われて落とされてたけど、 自分で維持してたらそれなりに人が集まってきたよ。 【運転楽々】原付二種△小型AT限定【経費格安】 ttp://namidame.2ch.net/test/read.cgi/bike/1265783258/
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/05(金) 17:46:16 ID:YqnzvMb+0] >>212 お前が一番ウザイな
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/05(金) 17:56:25 ID:lSX1pwuz0] 誤爆か
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/05(金) 21:44:36 ID:RZfD8bdP0] >>207 秀丸でもxyzzyでもいいけど、自分でマクロ書くしかないんじゃ?
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 16:35:31 ID:uUmPPbJA0] でも、UWSC専用のエディタって欲しくないか?? 色分け程度ならsakura専用であるにはあるが、入力補助や、デバッガ機能付きとか。 そういうオレはterapad使いで、色分けすらないから、記述漏れが探しにくい。 自分で作るのも面倒だし、テキストエディタって何個も入れたくないしな。 専用エディタなら割り切って入れる気になる。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 17:54:10 ID:i7mh1+mx0] >>216 無いなら作れよ… 作らないまでも、terapadでもオートコンプリートとかマクロのプラグインあるんじゃね? 色分けだとか、デバッガ起動くらい普通に付けられるんじゃねーの?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 17:57:43 ID:YVVc2xU3P] 秀丸と秀丸の強調表示、単語補完、マクロ制御で十分すぎる 低機能なエディタを使ってるから汎用エディタって発想に至らないんだろうなー この人が最初からEmEditorや秀丸あたりを導入していれば「専用エディタ」などと 馬鹿げた悩みなど起こさなかっただろうに、と残念に思う
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 18:00:27 ID:i7mh1+mx0] エディタ論争に発展しそうですね! viでいいじゃない…
220 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 18:12:50 ID:oDoON3sd0] VXEditorでもいいじゃないか
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 18:19:56 ID:xpFYgJ560] >>218 こういう異様に高圧的な奴が湧くと荒れる法則 俺はメモ帳で編集してますが
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 19:07:36 ID:v7GY0UD50] 自分で使いたいエディタがあるなら勝手に使えばいいじゃないか。 専用があって、なぜ悪い。
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 19:40:30 ID:boTq+at40] それはどうかんがえてもEmEditorの独壇場ですね。 無料のエディタなんて所詮無料分の値打ちしかないですよ。 EmEditorさえ入れておけば間違いないです。
224 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 21:14:59 ID:LIOXzylY0] ポータブルでも動くエディタがイイと思うがな。UWSCもポータブルで動くしね。 X-Finderも入れれば、相対パスで動かせるし、関連付けもOSと独立して設定できる。 バックアップも楽だし、環境揃えるのも楽。便利だよ。
225 名前:sage [2010/03/06(土) 21:27:36 ID:sUf1krysI] 質問です UWSCを途中でやめて、また始めから開始するにはどうしたらいいですか??
226 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 21:30:18 ID:sUf1krysI] ↑名前間違った
227 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/06(土) 23:37:45 ID:h9shLCdf0] >>225 手動でやると仮定すると、 UWSCを通常起動ならSTOPボタンで止めて再生ボタンで再開。 Alt+F1キーで開始してAlt+F2キーとかで停止とかも出来る。 >>223 > 無料のエディタなんて所詮無料分の値打ちしかないですよ。 そのとおり。 UWSC Proを買って専用エディタを入手すればデバッグまで出来ちゃうからお勧め。
228 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/07(日) 04:54:07 ID:azd9KX7S0] メモ帳最強伝説
229 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/07(日) 11:21:23 ID:fJBc+XukI] >>227 Alt+F2で止めれるんですけど Alt+F1で再開が出来ません バージョンが古いと出来ないってありますか?
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/07(日) 11:53:33 ID:fsPwSQkP0] >>229 XPなら古いバージョンでもできるけど 7とかなら新しいのじゃないといろいろ動かなかったりするかも。 最新でも動かないなら環境依存。他の何かが邪魔してるんじゃないかな。
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/08(月) 14:41:27 ID:LRrJZmuF0] IE7のリンクをクリックした時に出るエラーダイアログを自動で閉じたいんですが ifb GETID("Windows Internet Explorer","#32770") > -1 //ダイアログを閉じる処理をする endif としてるんですが、このときエラーダイアログがでていないとGETIDでかなり時間を取られます。 エラーダイアログが表示されているかどうかの判定で良い方法はありますか?
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/08(月) 15:19:30 ID:8gw+l4vY0] >>231 >>97 で使ってる > GetWindow( H, GW_ENABLEDPOPUP ) COMは多分止まってるからIEオブジェクトは使えないので、 あらかじめH = IE.HWNDとしてハンドルを保存しておく。 GetWindow()でダイアログが表示されていればハンドルが取得できる。 ただし、ポップアップウィンドウにはサブメニューとかツールチップも含まれるので、 Status()で"#32770"かどうかをチェックする必要がある。 すべてのウィンドウをリストアップするのと違い、自分の子ウィンドウだけを見るAPIを直呼びするので高速。
233 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/08(月) 17:11:16 ID:LRrJZmuF0] >>232 アドバイスありがとうございます。 APIの使い方とかわからない素人で、 >>97 のスクリプトを見てもよくわからないのでもう少々詳しく質問させてください。 def_dll GetWindow(hWnd,long):long:user32.dll //dllを呼び出せるように宣言 Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ ここまではわかります。 >あらかじめH = IE.HWNDとしてハンドルを保存しておく。 これはどういう意味でしょうか? おそらくスクリプトとしては ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0 //ダイアログを閉じる処理をする endif こういう感じになるのですよね?
234 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/08(月) 17:42:07 ID:8gw+l4vY0] >>233 > H = IE.HWND これはIEオブジェクトを管理するウィンドウのウィンドウハンドルです。 UWSCで言うIDのようなものですが、ウィンドウハンドルと言うのはWindowsのAPIで使うものです。 IDとウィンドウハンドルは「IE.HWND」で検索したら出てきますが、 ID = HNDToID(IE.HWND) HWND = IDToHND(ID) と言うように変換できます。 if ! IDToHND(ID) then exit と言うように、IE窓が終了している場合に中断できるのでIDを保存しておくと便利です。 GetWindow()で使うときも GetWindow( IDToHND(ID), GW_ENABLEDPOPUP ) とできるので、IDを保存しておいてもいいです。 > ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0 ハンドルは符号なし整数なので、この比較はしない方がいいでしょう。 負の整数と判断された場合に失敗します。 !が分かりにくいなら0 <> GetWindow() でもいいです。
235 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/08(月) 19:25:04 ID:LRrJZmuF0] >>234 ご丁寧にありがとうございます。 もう少々ググッて勉強してきます。 またよろしくお願いしますm(__)m
236 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/16(火) 15:03:54 ID:HiT6yWWl0] テキスト入力のやり方が分かりません教えてください
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/16(火) 21:52:10 ID:cI9JqU5P0] 何を聞きたいのか分かりません教えてください
238 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 06:51:54 ID:DkHyneUl0] windows7でuwscを通常通り動かす方法ありませんか
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 07:01:16 ID:8KLxlRw70] UAC切れ
240 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/17(水) 11:05:24 ID:u/flnLmx0] >>238 普通にwin7で使ってます。 しかも64 64アプリを制御できなかったりしますが、ほぼ問題なし ==>IEは32,64両方入ってますから
241 名前:名無しさん@お腹いっぱい。 [2010/03/17(水) 23:14:19 ID:j5IphMiE0] スクリプト入力補助、3文字ぐらいうったらあとの文字が自動でるようにしたい んですけど、どうすればいいんですか?CLCLというのは使い方が意味がわからなかったです。
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/18(木) 16:58:33 ID:HTSNWkk9P] それをUWSCで作ればいいと思うよ
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/18(木) 17:57:55 ID:pleFRDKk0] >>241 xyzzy + ac-mode.l (white.s151.xrea.com/wiki/index.php?script%2Fac-mode ) + uwsc-mode.l (big.tm.land.to/handbook/uwsc.htm ) でできる。
244 名前:名無しさん@お腹いっぱい。 [2010/03/19(金) 00:16:25 ID:r6TwPwzy0] 241です、回答ありがとうございます。そこまで教えられてるのにわからない自分がなさけないです. uwsc-mode.lはsite-lispフォルダに、uwscはetcフォルダに入れてください。←ここまではわかる siteinit.lとかに以下の文を追加してください。 ; UWSC (load-library "uwsc-mode") (push '("\\.uws$" . uwsc-mode) *auto-mode-alist*) ↑意味ワカラン
245 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/19(金) 00:40:50 ID:ZI4R2SXH0] そうですか
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/19(金) 01:34:35 ID:rPEvvIJr0] >>244 xyzzy.s53.xrea.com/wiki/index.php?QuickTour あとは気合いと根性で
247 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/19(金) 03:40:08 ID:y7YOOYqA0] 釣りじゃ無かったのかよ
248 名前:名無しさん@お腹いっぱい。 [2010/03/20(土) 18:31:49 ID:B79HWejI0] 241です 気合と根性で補完入力できるようになったんですが、そのファイルにしか適用 されないというか、ほかのファイル開いたときはまた補完されなくなっちゃうんですけど 入力して覚え直させないといけないんです。これじゃー意味ないです。
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/20(土) 19:02:33 ID:Ajn0jtpj0] あー、そうですか。
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/21(日) 23:22:41 ID:FxCOzvKn0] while true ifb getkeystate(VK_X) then sleep(0.3) endif ifb getkeystate(VK_UP) then sleep(1) endif ifb getkeystate(VK_G) then KBD(VK_DOWN,DOWN,40) KBD(VK_DOWN,UP,40) KBD(VK_DOWN,DOWN,40) KBD(VK_DOWN,UP,40) KBD(VK_X,CLICK,10) sleep(1) KBD(VK_DELETE,CLICK,100) endif KBD(VK_F,CLICK,50) wend これだとVK_Gのときに最初の処理がスルーされることが あります。最初というのはダウンアップとXキーのことです。 しかもそれが大体ですがひとつおきになります。 何が問題なのでしょうか?
251 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/21(日) 23:42:42 ID:9nY7crvD0] >>250 あまりよく読んでないけど、短間隔ループの中でGetKeyで分岐というのはUWSCはムズイよ。 そこまでに押されたKEYを取得だから… 公式の過去ログで良い回答あったと思うけど、探すの面倒だわ。
252 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/22(月) 10:04:04 ID:r9UvCn9t0] >>250 用途がイマイチわからないので答えるのも難しいけど 自動操作系? それとも入力支援? 自動操作系なら一定の待ち時間を設けるといいかも。 sleepじゃなくてループで。 例えば while true i=0 Repeat ifb getkeystate(VK_X) then sleep(0.3) endif Sleep(1) i=i+1 Until i>3 とか。Xキーの押下状態で処理をする時に押されてないor押そうとしている時の待ち状態を作る感じ?
253 名前:250 mailto:sage [2010/03/23(火) 00:07:33 ID:l7gIg+dd0] ゲームでアイテムを拾うというのとコマンド入力というので使っています。 連続して使うこともありできれば時間をあまりおかずに使いたいと 考えてましたがやはり短い間隔では取得が難しいみたいですね。 それとパソコンの性能が低いというのも関係あるかも。 >>252 UWSC以外にもゲームパッド用のソフトも使ってるのでXが押されたときの スリープはそっちのソフト用です。 UPのスリープもコマンド入力時のためのものです。 ずーっとアイテムを拾うようにFキーが連打されるように なっているのでスリープを設けないと入力できないと いうことからです。
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/24(水) 12:24:59 ID:2ytrfO4cP] ifb getkeystate(VK_X) thenとかが何のためにあるかわからない・・・ これは俺がアホなのか?
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/24(水) 15:09:35 ID:HwpEcix70] ハンゲームでファミスタオンラインというゲームをやっているのですが、 このソフトを使ってバックグラウンドで動作させる事は可能でしょうか?
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/24(水) 16:10:50 ID:yu0OAHHi0] 間違いない
257 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/24(水) 16:47:13 ID:C4V6o9Yd0] 外部DLLとかも読み込めるんだから基本不可能なことはないだろ
258 名前:255 mailto:sage [2010/03/24(水) 17:14:51 ID:HwpEcix70] MOUSEORG で 2 を指定したのですが受け付けてくれないのです。 他に何かやるべき事はあるのでしょうか?
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/24(水) 18:13:20 ID:C4V6o9Yd0] ヒント;DirectInput
260 名前:255 mailto:sage [2010/03/24(水) 18:42:44 ID:HwpEcix70] DirectInputを使用しているアプリはUWSCの送信は受付ないという事でしょうか? 表では動くのですが、裏では動かないです><
261 名前:名無しさん@お腹いっぱい。 [2010/03/27(土) 09:48:15 ID:2VmSdvyL0] KBDで使用するCLICKとDOWNの違いってなんですか? CLICKが反応しなくてDOWN/UPに変更した事もあるんですが。
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/27(土) 10:03:17 ID:2VmSdvyL0] すいません。補足です。 例えばキーを押しながら別のキーを押したい場合はDOWNだと思うのですよ。 ですが例えば"A"を単打したい場合ってCLICKでもDOWN/UPでもどちらでもいいんですかね? 記録する時どちらも記録されていたので違いがよくわかりませんでした。
263 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/27(土) 12:20:23 ID:GJlX799VP] どっちでもいい 好きな方をつかえばいいと思うよ
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/27(土) 12:40:55 ID:HsANWc9NP] >>262 環境によるけど 自分はダウンアップにしてるよ ハンゲのゲームやってたときに よく固まってたんですよ それでダウンダウンダウンダウンって 違う箇所を4回くらいダウンさせて アップってしたら固まらないようになったです 珍しい事例かもしれないけど 一応お伝えしておきますねw がんがってください^^
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/27(土) 20:09:52 ID:2VmSdvyL0] レスありがとうございました。 なるほど。やっぱり違いはなかったんですね。 >>264 事例ありがとうございます。覚えておきますw
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/29(月) 16:50:16 ID:zWqUoN180] UWSCでスクリプトを動かしている間に別の作業をしたいのでMOUSEORGを使ってキーイベントを直接送りたいのですがうまくいきません // マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送る MOUSEORG( ID, [基準指定 ] ) 例えばnotepadに直接キーイベントを送りたい場合は MOUSEORG( notepad, [2] ) という書き方でよろしいのでしょうか ご教授いただけるとうれしいです
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/29(月) 21:36:29 ID:xNpZMuTv0] ドラッグしてCtrl+Cでコピーした文章をSendstrで出力したいんですが、 コピーした文章の出力方法がわからないのです。 Sendstrの文字列に当たる部分にはどのように書けばいいのでしょうか?
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/29(月) 22:25:27 ID:NFgbt+8v0] >>266 IDはプロセスIDだから、UWSCからnotepadを開くなら開く時の戻り値、 そうでないならGetIDでIDを貰って来なきゃならん。 [基準指定]の[]は省略可を表すだけで、2っていれときゃいいよ。 >>267 何処に出力したいのかは大丈夫? ファイルに出力するなら、ヘルプのファイル操作関連 起動しているメモ帳やなんかに出力したいならSendStr 画面に表示したいならFukidasiやらPrintやらを使えばいい。 SendStrはヘルプ読めば解ると思うけど、 String=GetStr(0) SendStr(送り先ID,String) とすれば、変数Stringにクリップボードの文字列を格納して、それを送り先のIDに送る。 文字列の部分には""で囲った文字列か、文字列を格納した変数名を書けば良い。
269 名前:267 mailto:sage [2010/03/30(火) 02:35:32 ID:i+J5d4Um0] >>268 ありがとうございました。クリップボードからの取得方法がわからなかったのです。 よく見たらヘルプにも書いてましたね・・・初心者ですいませんm(_ _)m
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/30(火) 06:36:51 ID:w9o7uVAy0] どなたか、TaskbarSorterをVista対応に改良してもらえないでしょうか? 一応使えることは使えるようなんですが、使えない機能がいくつかあるので、よろしければお願いします
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/30(火) 06:37:53 ID:w9o7uVAy0] すいません、>>270 は誤爆です…
272 名前:266 [2010/03/30(火) 10:20:54 ID:enNRlci80] >>268 返信ありがとうございます GetIDで取得するIDはClassというものでよろしいのでしょうか? id = GETID("Notepad") MOUSEORG(id,2) 〜処理〜 これでは間違っているのかうまくいきませんでした よろしければ教えていただけるとうれしいです
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/30(火) 10:51:08 ID:nQEKerym0] >>272 Notepadはクラス名はNotepadになるけど、タイトル名は別名かと…
274 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/30(火) 12:21:01 ID:uAc8A7pjP] なにか重大な勘違いをしているようだ
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/03/30(火) 12:24:14 ID:B93d/s/o0] >>272 ウィンドウのタイトルでOK ヘルプの例にあるように、 id=GetID("メモ帳") でいいよ。