1 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 19:49:20 ID:rP5khwz50] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。 前スレ 自動化ツールuwsc使いよ集まれ3 pc11.2ch.net/test/read.cgi/software/1176677869/
72 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/28(土) 01:08:30 ID:imhwk0EW0] >>71 >UNTIL !IE.busy AND IE.readystate=4 ページ表示の完了を待つ部分はここだけ。 ランダムなURLを自動取得する部分を書かないと、同じことだけどな。
73 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 14:11:23 ID:bJqod+xu0] IEの画像表示を切っているときでも、特定の画像だけ表示することはどうやれば実現できますか? 手動のIEだとコンテキストメニューで画像の表示をやればできますが、それを直接やる方法など。
74 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 03:16:16 ID:uj3sv1g20] 2009/03/31 UWSC Ver4.5a、 Pro版と Free版をリリースしました。
75 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 10:32:20 ID:gAjYRmVT0] DLLに配列が使えるようになったみたいだね
76 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 19:38:02 ID:ORgiq0uE0] FOPEN("○○.○",F_READ or F_WRITE)でappendオープンとほぼ同等になるのか・・・ (前の部分も書き換えようと思えばできるから厳密に同じじゃないけど) 素直にF_APPENDフラグつけてほしい
77 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 20:22:58 ID:LeFjj7N90] なんでorなんだろうな…そこはandだろ…
78 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/02(木) 01:27:10 ID:/AIiEOlh0] ぜんぜん
79 名前:名無しさん@お腹いっぱい。 [2009/04/04(土) 21:44:58 ID:/d+v7qoR0] IPアドレスをワンクリックで変えるために下記のスクリプトを書きましたが、ページの読 み込み完了まで待ってくれなくてどうもうまくいきません。どこが悪いのでしょうか? //CREATEOLEOBJで生成 IE = CREATEOLEOBJ("InternetExplorer.Application") //IE可視化 IE.visible = True //URLジャンプ IE.navigate("https://ctu.fletsnet.com/CtuC101/init.do") //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 id = GETID("CTU設定 - Windows Internet Explorer", "IEFrame", -1) CLKITEM(id, "ログイン", CLK_ACC) //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 CLKITEM(id, "切断", CLK_ACC) //ロード完了まで待つ REPEAT SLEEP(0.1) UNTIL !IE.busy AND IE.readystate = 4 CLKITEM(id, "接続", CLK_ACC)
80 名前:79 [2009/04/04(土) 21:49:47 ID:/d+v7qoR0] すみませんUWSC掲示板というものを見つけたので、そちらにも書かせていただきました
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 22:31:42 ID:5o+P8JM70] >>79 スクリプト自体は別におかしくない サイトの作りでIE.busyとIE.readystateがうまく遷移しないんじゃない? テキトーにSLEEP(5)してみるとか
82 名前:79 [2009/04/05(日) 01:07:09 ID:506pPYQi0] >>81 UWSC掲示板にて有志の方に下記の記述を教えていただきまして、 実行したところまったく問題なく稼動するようになりました。 おそらくSLEEPでもうまくいくと思います。ありがとうございました。 WHILE !IE.busy AND IE.readystate = 4; sleep(0.05); WEND REPEAT; SLEEP(0.1); UNTIL !IE.busy AND IE.readystate = 4
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 04:14:05 ID:/k0QiX7S0] 申し訳ないのですが質問させてください あるネットゲームで左クリックだけをおよそ10秒ごとにクリックさせておきたいのですが それ自体はできたのですが、これをウィンドウをアクティブにしない状態(いわゆる裏マクロ)でずっと動作させておくにはどうしたらいいでしょうか? ACW(GETID("ネットゲーム名","SFMainWindow"),0,0,1686,1077,0) while TRUE BTN(LEFT,CLICK,) sleep(10.6+random(0)) wend ACWが原因なのはわかったのですが、単純にそこを消せばいいだけという事は無いみたいで困っています、どうか宜しくお願いします
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 04:55:25 ID:fwJAXoMx0] >>83 無理。 普通のWindowsアプリなら別の方法で裏で操作できるけど、 キー・マウス必須なゲームではそういうことはできない。 WindowsAPIでならやれなくもないかもしれないけど低レベルな操作ができるやつじゃないと無理。 ttp://scripts.web.fc2.com/VMware/ こんな感じで仮想マシンでゲームを動かし、その中でマクロすればずっと裏で動作する。 そのページで紹介してるのはホストからゲストを操作するやつで裏で動作するわけじゃないけど。 ちなみに、今のVMware Workstation6.5なら3D使うのは設定画面でチェック入れるだけ。 でも仮想はやっぱりグラフィックが重いから、少々非力でも別のパソコン用意したほうがいいけどね。
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 05:15:36 ID:/k0QiX7S0] >84 三国志オンラインというネットゲーですと下のような感じで裏マクロにさせておく事ができたのですが コレの応用とかでなんとかできないのでしょうか? 77 :ネトゲ廃人@名無し[sage]:2008/03/30(日) 02:26:21 ID:??? ググってもヘルプ見てもわからない人用 裏マクロサンプル wnd_id = GETID("ここに実行させたいウィンドウ名") //ウィンドウ名の一部でもOK ifb wnd_id = -1 then MSGBOX("MMO名が起動していません") exitexit endif MOUSEORG(wnd_id, 2) while TRUE Kbd(VK_8,CLICK,3) //定期的に実行したいキーの指定、この場合8を押す。 sleep(36+random(15)) //ここの数字を変えると待機時間を変更できる。現在は36秒+15秒までランダム wend
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 05:44:52 ID:fwJAXoMx0] >>85 アプリケーションに直接送るには対応してないのが多いんだよね。 多分DirectInputとかいうのつかってるやつには使えないんだと思う。 知らないけど。
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 10:46:50 ID:PbtivxSj0] マクロ実行中に、キー操作などで、マクロを強制的にとめることは出来ますか?
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 13:23:35 ID:BPKFh7I00] >>87 それくらいはヘルプ読んでくれ
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:05:31 ID:wzr692Rz0] IEをタブブラウザとして使用していて、指定の複数のページを開くようにしたいのですが、 以下(次のレス)の記述だと、アドレス欄にアドレスを貼り付けるのに失敗して、空白タブのままになる場合がたまにあります。 新しいタブを開いてからアドレス欄にアドレスを貼り付けるまでのウェイト(28行目)を長くしても同じでした。 どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか? 一番いいのは、シーケンス的な処理なしにIEにアドレス渡すだけってやり方なんですが……。 IEの「タブ ブラウズの設定」は以下のようにしてます。 ・「タブ ブラウズを有効にする」にチェック。 ・「新しいタブの作成時には常に新しいタブへ移動する」にチェック。 ・「クイック タブを有効にする」にチェック。 ・「現在のタブの隣に新しいタブを開く」にチェック。
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:06:21 ID:wzr692Rz0] // IEの宣言(?) Ie = CREATEOLEOBJ( "InternetExplorer.Application") Ie.visible = TRUE // IEを起動する Ie.navigate( "www.yahoo.co.jp/ ") // IEのウィンドウIDを取得 IeId = GETID( "Internet Explorer") // IEのウィンドウを最大化する CTRLWIN( IeId, MAX) SLEEP( 1) // マウスカーソル退避 MMV( 1, 1) SLEEP( 1) DIM Address[3] Address[1] = "www.infoseek.co.jp/ " Address[2] = "www.google.co.jp/ " Address[3] = "www.goo.ne.jp/ "
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/13(月) 11:08:39 ID:wzr692Rz0] FOR i = 1 TO 3 // 新しいタブを開く SCKEY( IeId, VK_CONTROL, VK_T) SLEEP( 3) SENDSTR( IeId, Address[i], 2, TRUE, TRUE) SLEEP( 1) SCKEY( IeId, VK_RETURN) Ie_Wait( IeId) NEXT PROCEDURE Ie_Wait( Id) i = 0 j = 0 REPEAT SLEEP( 1) IFB GETSTR( Id, 1, STR_STATUS) = "ページが表示されました" i = i + 1 ELSE i = 0 ENDIF j = j + 1 UNTIL ( i >= 3) OR ( j >= 20) FEND
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 00:17:40 ID:TCCc8Omk0] >Ie = CREATEOLEOBJ( "InternetExplorer.Application") ↑これには時間がかかるが、起動完了を待ってない。が、待つ必要もない。 >Ie.navigate( "www.yahoo.co.jp/ ") ↑これにも時間がかかるが、待ってない。 SLEEP()があるにはあるが、効果がまちまち > DIM Address[3] > Address[1] = "www.infoseek.co.jp/ " 配列を1から使っているが、UWSCの配列はこの場合0から3まで まあ >FOR i = 1 TO 3 0を飛ばして使ってるから問題はない >どのように記述すればそういった問題なくIEで複数のページが開けるでしょうか? SENDSTR() + SCKEY() でのページ移動をやめて Ie.navigate( "www.yahoo.co.jp/ ") を使えばいい。 ほぼ確実にできるようになる。 うまくいかない原因は多分 Ie_Wait( IeId) IEの操作ではよくある質問だけど、Navigateのあと待ちループをスルーすることがある。 キーEnter直後にはまだ前回の表示完了のメッセージが残ってるとか。 アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 08:53:44 ID:i3CXPBbq0] ie上のFLASHでログインから作りこまれているサイトを操作したいのですが ヘルプと多少のググリではヒントが得られませんでした。 ご存知の型いらっしゃいましたらひんとぷりーずです
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 09:23:50 ID:/l9xSbch0] >>93 シェアウェア版のuwscにflash操作のサンプルスクリプト付いてるから見てみるといいよ
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 11:04:54 ID:i3CXPBbq0] >>94 速レス多謝れす
96 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 19:18:25 ID:msqZMedl0] アクティブウインドウ内の相対座標で操作したいのですがうまくいきません。 それ用のコマンドでもありますか?
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:01:48 ID:QZ5xehbb0] STOPFORM(FALSE)でストップ窓出さないスクリプト実行中に 他のスクリプト多重起動できる? ------- しかしかゆいところに手が届く言語仕様は本当に癒されるなぁ わざわざ家で他言語のわけわかんない仕様と格闘したくないっちゅーねん
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:31:54 ID:/l9xSbch0] >>96 mouseorg
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:35:32 ID:mW/kK8aF0] >>97 <UWSC.INI> NotMultiplex = スクリプト実行の多重起動を制限します (ファイルの関連付等からの実行) 0:制限なし、 1:一つのみ、 2:二つまで (数はUWSC本体も含む) -9:制限なし、 -1:一つのみ、 -2:二つまで (マイナス値を付けた場合には '多重起動禁止'のダイアログは出ません)
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/14(火) 20:48:45 ID:msqZMedl0] >>98 アリガトー
101 名前:89 mailto:sage [2009/04/14(火) 20:52:08 ID:jYCCUEGB0] >>92 回答ありがとうございます。 > Ie.navigate( "www.yahoo.co.jp/ ") を使えばいい。 > ほぼ確実にできるようになる。 これを単純に使用した場合、一番左のタブに指令が行くようなので 1番目のタブにyahoo 2番目のタブにinfoseek …… といったことができませんでした。 > アドレスを入れる前にこのメッセージを消しておけば素通りはしなくなる。 消せるのですか。 調べてみますが、また分からなかったら教えてください。
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/15(水) 05:34:31 ID:qgyfHlhE0] >>99 うん ずっとUWSC.INIにNotMultiplex = 0あったはずなのに多重起動できなかったから謎だった 今STOPFORM(TRUE)入りのスクリプト一回実行したら STOPFORM(FALSE)でストップ窓出さないスクリプト実行中にもちゃんと多重起動できるようになった 一体なんだったんだろう
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/15(水) 06:02:54 ID:HthVxZ2l0] >>101 新しいタブで開くならIE.navigate2の第2引数に次のどれかを指定すればいいらしい。 VBでは&H800だけど、UWSCでは$800と指定することに注意。 Const navOpenInNewTab = &H800 Const navOpenInBackgroundTab = &H1000 ttp://www.happy2-island.com/vbs/cafe02/capter00711.shtml 英語なので分からないけど Get Active Tab in IE7 ttp://social.msdn.microsoft.com/Forums/ja-JP/vbgeneral/thread/60c6c95d-377c-4bf4-860d-390840fce31c UWSC掲示板でIE7の話題 ttp://www.google.co.jp/search?hl=ja&q=site%3Abigcosmic.com+IE7 どうしても既存のタブに開きたいのなら、 キー送信でタブを切り替えつつ、タブごとにGetActiveOLEObj()を実行して それぞれのIEオブジェクトを取得すればいい。(多分できるんじゃないかな) IE1〜IE10のオブジェクトがあれば、たとえばIE5.navigate()で5つめのタブで開くとかできるでしょ。 IEオブジェクトは配列にすればスマートに書ける dim IE[10] IE[cnt] = GetActiveOLEObj() IE[cnt].navigate()
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:08:00 ID:3eWeWjWG0] 同じIDの2つのウインドウに対してそれぞれ命令文実行するのはどうしたらいいんでしょう?
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:16:25 ID:vJUVWnem0] ウィンドウ違ったらIDも違うだろ
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 09:40:53 ID:3eWeWjWG0] GETIDしてもクラス名とか同じなんす・・・どこか見分ける方法あるんでしょうか?
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 10:19:36 ID:7iQc6sCf0] だからIDだろ…おまえは何を言ってるんだ
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 11:06:27 ID:3eWeWjWG0] 自分でも何が言いたいのかよくわからなくなりました・・・
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 11:27:01 ID:z2t7NbQ10] GETIDを使いたくてもウィンドウ名とかクラス名が同じだから取得できないってことじゃないの
110 名前:横レス mailto:sage [2009/04/17(金) 16:01:13 ID:oV5BKBHw0] >>108 109だとしたら GETALLWIN( )で全ウィンドウのIDを読んでから必要なものだけ残す方向で
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/17(金) 19:51:44 ID:dPRHXoSq0] >>106 見分ける方法は表示されてるテキストとかボタンとかだな。
112 名前:名無しさん@お腹いっぱい。 [2009/04/18(土) 21:40:19 ID:XXPYfPCL0] 初心者の質問ですいませんがご教授ください。 [YES][NO]のメッセージボックスを順番に3つ出し、YESが2つ出た時点で "YESが2つ貯まったよ"というメッセージボックスを出しOKボタンでUWSを 終わらせたいのですが、どうもうまく文が書けません。 以下のように書いてみたのですが[関数が正しく閉じていません]となって しまいます。お願いします。 POINT = 0 IF MSGBOX("チェック1OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF MSGBOX("チェック2OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT IF MSGBOX("チェック3OK?",BTN_YES or BTN_NO) = BTN_YES then POINT = POINT + 1 IF POINT = 2 THEN MSGBOX("YESが2つ貯まったよ") AND EXITEXIT
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 21:42:10 ID:RzsxB0wk0] マルチステートメントをANDでつないでる人なんて初めて見たわ。 IFBにして行分けなきゃ駄目に決まってるじゃん
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/18(土) 21:53:58 ID:wfTm4mrd0] これはひどい
115 名前:名無しさん@お腹いっぱい。 [2009/04/18(土) 21:55:44 ID:XXPYfPCL0] >>113 ありがとうございました。 解決しました。
116 名前:104 mailto:sage [2009/04/19(日) 11:33:06 ID:cQ6R7vH10] 根本から勘違いしてるのかもしれないので質問させてください。 たとえば、新規に開いたメモ帳2窓だとGETALLWIN( )しても ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね?
117 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:45:06 ID:yPMpTKOZ0] >>116 >>105 同じIDのウインドウなんてありません。
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:45:06 ID:kETpq9Eh0] いやだからウィンドウIDは違うよ
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 11:57:47 ID:8Ti6dx9WP] >>116 手動で二つのウィンドウを区別する場合、あなたはどう判断しているの? 左右に並べて右側のウィンドウが知りたいならSTATUS関数を使って座標を比較すればいいんだし あなたは何をしたいんですか?
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 12:03:17 ID:yPMpTKOZ0] >>116 もう一つ言うと、 > ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね? ウインドウIDとクラス名と言ってるけど 「notepad」は、確かにクラス名だけど 「無題 - メモ帳」は、ウインドウIDじゃない。タイトルです あなたが言ってるのは、同姓同名で生年月日まで一緒の別人をどうやって区別するんですか? しかもその二人は、免許証番号や電話番号まで一緒なんです。って言ってるようなものです。
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 14:08:17 ID:Me2htpU20] >>120 いや、同姓同名の同住所でも免許証番号とかは違うから。 一人二役でない限りは。 >>116 うん。だから区別できないよ。 だから自分でExecとかCreateOLEObjして自分用のを作るんだよ。
122 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 15:40:48 ID:8Ti6dx9WP] えーそうかな? 単に「タイトル」「クラス名」「ID」の意味が分かってないだけだと思う。でないと >ウインドウIDもクラス名も両方とも「無題 - メモ帳」「notepad」で識別する方法無いですよね? が全く説明つかない。 俺の解釈は以下の通り。 //2個未保存のメモ帳があって、それぞれ「AAAA」「BBBB」と入力されている想定 //104時点での考え IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい if IDその1 = IDその2 then MSGBOX("同じID") // だから104で「同じID」と言ってる //109-110の重要キーワード「GETALLWIN」を聞いた116時点での考え IDその1 = GETID("無題 - メモ帳", "notepad")//「AAAA」側のIDを取得したい GETALLWIN() //これを使えば同名、同クラスの別IDを参照できると勘違い IDその2 = GETID("無題 - メモ帳", "notepad")//「BBBB」側のIDを取得したい if IDその1 = IDその2 then MSGBOX("同じID") // だから116で「GETALLWIN( )しても」と言ってる //109-110が言ってた「GETALLWIN」の使い方 ウィンドウ数 = GETALLWIN() FOR I=1 TO ウィンドウ数 IFB STATUS(ALL_WIN_ID[I-1], ST_TITLE) = "無題 - メモ帳" THEN MSGBOX(GETSTR(ALL_WIN_ID[I-1], 1)) //「AAAA」「BBBB」が表示されるはず ENDIF NEXT
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/19(日) 22:15:44 ID:yPMpTKOZ0] >>121 だから、別人という前提が間違ってる。勘違いだと言ってるんでしょ ユニークに割り当てられているはずのものが同じならそれは別なものじゃなくて同じものなんだから
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 03:19:17 ID:EnXtAM1m0] >>123 >>116 が言ってるのは別人という前提なんです。 >新規に開いたメモ帳2窓 これはメニューからメモ帳を2回クリックして2つ起動し、ウィンドウが2つある状態ということですよ。 2窓について ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1111555451 それぞれちょっとずれたことを言ってますね。 IDは確かに一つの窓に一つで識別できるけど、 ID以外の方法で区別するのは難しいですよね。 >>104 はIDとは何なのか分かってないので、IDと言ってるのは無視して考えないと。 メモ帳のステータス置いときます。 ID 57 PARENT -1 PROCESS 5868 Handle 9635392 ICON 0 VISIBLE 1 ACTIVE 0 BUSY 0 TITLE 無題 - メモ帳 CLASS Notepad
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 08:20:00 ID:cLKDMuVI0] >>123 は端折りすぎだけど、 同じ免許書番号の別人がいないように 同じウインドウIDの別ウインドウなんて存在しないんだから その前提が間違ってるってことだろ。 別ウインドウかどうかなんて画面で一目瞭然なんだから IDが同じってのが間違ってるってことは確定的に明らか
126 名前:名無しさん@お腹いっぱい。 [2009/04/20(月) 09:05:26 ID:lfFRPe8i0] 使い始めたのですがどうしても判らない点があるので教えて下さい。 WEB上でsubmitのボタンがdisabledを使用していて、一旦押すと しばらく表記文字がグレーになって押せません。 このenable/disableの状態を取得する方法はありませんでしょうか? 宜しくお願いします。
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/20(月) 10:01:29 ID:EnXtAM1m0] >>126 状態 = IE.document.all.ボタン名.disabled HTAていうの使いはじめてみたんだけど、これいいよ。 MS Office PremiumにMicrosoft Development Environment(MSE.EXE)てのがついてて、 HTMLコントロールのプロパティとかの一覧が出てくる。 最近の開発環境なら当たり前だけど、僕が持ってるのOffice2000だからそーとー前のなんだけど。 場所は"C:\Program Files\Microsoft Visual Studio\Common\IDE\IDE98\MSE.EXE" ・・・あれ?Officeの付録じゃなかったっけな・・・ WindowsのSystemフォルダと日時が同じだからXP Homeについてるのかな? あ、これ使う場合のファイルはHTMLファイルで、 CreateObjectする場合は別にプロパティ一覧とか出てこないけど。
128 名前:89 mailto:sage [2009/04/20(月) 14:54:07 ID:AwZv06Kt0] >>103 遅レスですが、以下で新しいタブで開きました。ありがとうございました。 Ie.navigate( Address, $800)
129 名前:127 [2009/04/21(火) 10:48:50 ID:CPJxMALFO] UWSCは当初ゲームの自動操縦のために使い始めたんだけど、 今はIEを操作することが多いんですよね。 IEの操縦ならHTAでっていうかHTML+VBScriptにすると、画面も使えちゃって便利です。 HTMLのスクリプトならJavaScriptじゃないとって思ってたけど、 UWSCでBasic系の記述に慣れてるのと、HTAで使うのはJavaScriptじゃなくてJScriptなので、 どうせならVBScriptを使ってWeb用とHTA用をはっきり分けたほうがいいかなということで VBScriptで行きました。 HTAで作ったツールの第一号をうpってるんで使ってみてください。 ていうかできればコレをダウンロードして、規制されてる僕たちのために代行やってください。 ttp://karimofu.org/dlp/mofu1_6055.zip.php 標準ZIP DLパス:siberia
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 12:15:22 ID:zWBQpk48P] >>129 どう見てもウィルスです 本当にありがとうございました カスペルスキーインターネットセキュリティ 2009 アクセスが遮断されました 入力したURLのWebページを表示できません 入力したURL: karimofu.org/storage/Lr1tsrD6l6Qh 21be/mofu1_6055.zip このWebページはウイルスに感染しています 次のウイルスが見つかりました:Trojan-Downloader.JS.gen この情報が正しくないと考えられるときは、ご利用のサービスプロバイダーにご連絡ください 情報: Tue Apr 21 12:14:05 2009 カスペルスキーインターネットセキュリティ 2009
131 名前:名無しさん@お腹いっぱい。 [2009/04/21(火) 13:33:41 ID:CPJxMALFO] >>130 あなたのパソコンがウィルスに感染してるか、うp炉だ自体がウィルスだと判定されているんだと思います。 そもそもZip圧縮されたものがウィルスとして活動できるわけないでしょう。偽装ならともかく。 AVG ClamWin Eset eTrust McAfee MicroWorld Norman Sunbelt VirusBuster の4・20の最新パターンで検索して一つも引っかかりませんでしたよ。 www.filterbit.com/ 郵便補助ツール007.zip uploaded on 2009-04-21 04:13:23 AM UTC Scan Completed in 172 ms. Final Result NO VIRUSES DETECTED 郵便補助.hta uploaded on 2009-04-21 04:14:45 AM UTC Scan Completed in 6.344 secs. Final Result NO VIRUSES DETECTED sleep.vbs uploaded on 2009-04-21 04:15:21 AM UTC Scan Completed in 6.234 secs. Final Result NO VIRUSES DETECTED 同じものを別のとこに置いたから、こっち↓からのダウンロードを試してみてください。 scripts.web.fc2.com/scriptsup/yubin007.zip
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 13:44:41 ID:ghaE4/Ws0] >>ID:CPJxMALFO DLする気になれないからウィルスかどうかは判らんが、HTAとJScriptの話題を続けるなら 他所でやってくれ。
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 14:00:12 ID:KISr4rZl0] >>131 帰れカスが
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 14:25:54 ID:zWBQpk48P] https://www.virustotal.com/jp/ にて>>129 と>>131 をチェックしました。 結果は以下の通りです。 https://www.virustotal.com/jp/analisis/64c72feb68f9b05ce73599509baf8187 皆さん注意してください。 >>131 が言っているのは全くの嘘、詐欺、デタラメです。 最近のウィルス対策ソフトは圧縮データをバックグラウンドで自動で解凍し、 中身に問題のあるファイルが含まれているかをチェックしています。 圧縮されている「郵便補助.hta」というファイルはウィルスです。 まだ対策が始まったばかりで未対応のウィルス対策ソフトもあります。 既に実行された方は www.kaspersky.co.jp/virusscanner にてウィルスがどこにあるかを調査し、手動で削除する必要があります。 (無料のため自動では削除されません) 皆様、くれぐれも実行などせぬように注意願います。
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 15:44:40 ID:hCW2ez470] Trojan-Downloader.JS.gen でも何でもないけど HTTP_GETしてるスクリプトは誤判定されるんだろうな どっちにしろスレ違いだし、もうあきらめなー
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 17:20:34 ID:EjoW6ZpV0] 落として検査してソース見たよ
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 19:21:07 ID:hCW2ez470] 俺も見たよ 問題ないだろ 関数GetTextByURLだけ抜き出して>>134 でチェックすると引っかかる F-SecureとかKasperskyはあまりアテにならんってことだな
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/21(火) 23:19:31 ID:KISr4rZl0] 問題ないとかじゃなくてスレ違いだっつの
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 17:32:54 ID:N45Vs4AF0] 初心者です 座標(X,Y)の色が黒で無いという文を作りたいです PEEKCOLOR(X,Y)= $181818 否定の ! はどのようにつければいいのでしょうか 試行錯誤してみましたが機能しませんでした
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 19:50:11 ID:5189R7q50] <>
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 21:33:39 ID:5EWcb3vi0] 思うんだが181818だけが黒じゃないよね?
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/22(水) 21:37:39 ID:GhDeitu20] >>139 !(PEEKCOLOR(X,Y) = $181818)
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 00:06:35 ID:kwl9x0DH0] >>142 さん ありがとうございます 機能しました
144 名前:シベリアよりのお手紙 mailto:sage [2009/04/23(木) 13:39:24 ID:VMVPYLE80] ■ブラウザで掲示板に書き込む操作【送信ボタンクリック編】 初心者に簡単なほうから順に ※IDやIEは適切に取得している前提 (1) ClkItem(ID, "書き込む", CLK_ACC) (2) IELink(IE, "書き込む") (3) IELink(IE, "", 1) (4) IE.document.all.[アイテム名].click() (5) IE.document.[フォーム名].submit() (1),(2)は表示されているボタン名を指定してクリックする方法で、簡単です。 アイテム名、フォーム名はWebページのソースを見て確認する必要があります。 「name=」や「ID=」で名前がつけられてないときは、forms[0]やitems[0]などと指定します。 【解説】 また、ボタン名は「submitです」 (1) ClkItem()はローカルアプリケーションの操作用ですが、CLK_ACCを指定するとWebページの操作も可能になります。 (2)と(3) IELink()は、<a>タグによるリンクをクリックするものです。 標準以外のボタンやテキストリンクの場合に使えます。 (2)テキストで書かれたリンクの場合の書き方です。 (3)画像リンクの場合の書き方です。”ログイン”などと表記されていても、画像が埋め込まれている場合はこちらを使います。 (4)と(5) DOM(Document Object Model)と呼ばれるアクセス方法です。 2ちゃんねるでは(5)については動きません。ボタン名がかぶっているからかも。
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 14:11:23 ID:ToP+iXmu0] どうも配列変数が巨大(x{1000]とか)なスクリプトがあるとUWSC関係のいろいろに影響するっぽい 起動オプションでUWSC用メモリ確保量指定できるといいんだけど
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/23(木) 14:34:53 ID:hbhpeBX00] 大昔のPCとビデオキャプチャカード(予約録画機能なし)+UWSCで録画専用PCを作成してみた。 rec.uws 番組タイトル 分数 をuwscのタイマーにセットし、(タイマーは40個分あるので充分) rec.uwsは時間になるとchkbmpで録画ボタンを押し、分数で与えた時間が経過すると停止ボタンを押す。 終わったらmpgデータを、 録画済みフォルダにタイトル+数字.mpgが既にあれば、 タイトル+(数字+1).mpgにリネーム、なければタイトル001.mpgにリネーム リネームしたmpgを録画済みフォルダに移動する。 そのうち、 録画しない空き時間にmpgをMediaCoderでaviに自動変換して入れ替えていく機能も追加しようと思う。 四、五万もだせば最新・高機能のHDDレコが買えるのだから、こんなもの作って喜んでいるのは貧乏人の証明以外何物でもないのだが。 手間はほんの数時間だからいいんだよ!
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 17:00:06 ID:IAlYDpEu0] ttp://siromasa.xxxxxxxx.jp/Term/1a00.html ←ここのzip解凍を参考に Dim FilePath_Lha Dim DirPath FilePath_Lha=PARAM_STR[0] DirPath=PARAM_STR[1] UnLHA32(FilePath_lha, DirPath) Function UnLha32(a_FilePath_Lha, a_DirPath, a_Command = "e", a_Option = "-y") a_DirPath = a_DirPath + Format(ChrB(0), 1) PathAddBackslashA(a_DirPath) Dim szCmdLine = a_Command + " " + a_Option + " " + DQ(a_FilePath_Lha) + DQ(a_DirPath) Dim t_Len = $1000 Dim t_Buff = Format(ChrB(0), t_Len) UnLha(0, szCmdLine, t_Buff, t_Len) Result = t_Buff FEnd DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL DEF_DLL PathAddBackslashA(var String) :String :ShlwApi.DLL Function DQ(a_Path) Result = "<#DBL>" + a_Path + "<#DBL> " FEnd とやってみましたが 「Not DLL Function:UnLha」 「20行目:UnLha(0, szCmdLine, t_Buff, t_Len)」と出て上手くいきません。 unlha32.dllはsystem32の中にありVBでは上手くいきます。 解決の糸口を教えてください。
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 19:14:42 ID:QD9XwKZQP] >>147 DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。 ファイルの先頭に書いておけば間違いないと思う。
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 21:03:06 ID:H7TyYdrJP] >>147 ヒント 大文字と小文字を区別して書く習慣をつけよう
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/27(月) 23:58:18 ID:ITcnKio80] >>148 >DEF_DLLは、UWSCの関数と違って使う前に定義しないといけない。 これ相当前に解消されてるハズ。 現に関数部の後にまとめてコピペしても動くし…。 >>149 関係ないような… >>147 調べてないけど、 >DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL これ合ってる? DEF_DLL UnZip(HWND, STRING, var STRING, DWORD) :INT :UNZIP32.DLL を単純に真似しただけという理由なら駄目だと思うよ… オイラが間違ってたらスマン。
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 00:05:16 ID:UnYs7tqY0] >>147 DLL系は敷居が高いなぁ…と言ってしまうようなにわかスクリプターとは俺のこと。 今動かしてるのはこんな感じ。関数作るならその都度宣言してもいいんじゃないかなぁ。 …なんで宣言した引数より少なくて動くのかはしらね。逆に在ると動かないのに気づいたのは奇跡。 lha("c:\aaa\", "c:\aaa.lzh") function lha(in, out)//入力はフォルダ専用 DEF_DLL Unlha(Long, String, String, Long) :Long :UNLHA32.DLL dim hWnd in = "<#DBL>" + in + "<#DBL>" out = "<#DBL>" + out + "<#DBL>" commandline = "a -drn "+ out +" "+ in result = Unlha(hWnd, commandline) fend
152 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 00:18:30 ID:lagyuQtDP] >>151 それで動いてるんなら、戻り値がLongとすべきところをintにしてるのが問題っぽいね。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 00:36:03 ID:UnYs7tqY0] >>151 リザルトなんて取ってもfalseに成るだけだしなぁ。まだまだ詰めが甘過ぎるなぁ。 ところで、こちらからの質問なんだけど… httpからのダウンロード時に URLDownloadToFileA を使っているわけだが これを使うとスレッド動作じゃなければ、UWSCが無反応になってしまう。 …つーか専有するのはわかるけどな。UWSCでスレッドは制御しにくいから嫌なんだ。 かといって WinHttp.WinHttpRequest.5.1 等のものを使っても同じく専有して無反応。 外部にダウンロードに必要な取得cookieを渡す仕様は嫌なのでUWSCの中で完結したい。 なんかスレッドの良い処理方法は無いですかね。 …UWSCのスレッドは終了が判らないから同時ダウンロード数が弄り難いんだ。 もう downloadBalancer とかの関数を作って、偶に抜けたりするのは勘弁だ… …調べたり試したりするほどに無理な気がしてきたぜ。素直に別のEXE作ろうかなぁ…threadめ…
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 07:01:41 ID:lagyuQtDP] >>153 こんな風にやればいんじゃね?知らないけど。 ThreadCnt = 0 for i = 0 to listcnt - 1 ifb cnt <= 3 then thread downloadfile(URLList[i], FilePathList[i], ThreadCnt) endif sleep(1) next function downloadfile(URL, FilePath, var cnt) cnt = cnt + 1 result = URLDownloadToFile(0, URL, FilePath, 0, 0) cnt = cnt - 1 fend
155 名前:147 mailto:sage [2009/04/28(火) 10:20:25 ID:C7CacfK90] >>151 他レスを頂いた皆様ありがとうございます。 151氏のソースでさっくり動きましたのでパックリぱくらせていえ参考にさせて頂きました。m(._.)m
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/28(火) 12:35:26 ID:r3leceUUP] ちなみに>>147 が動かなかった原因はここ。 >DEF_DLL UnLha(HWND, STRING, var STRING, DWORD) :INT :UNLHA32.DLL 関数名が間違っている。正しくはUnlhaね。 DLL関数自体は厳密に区別する。もともとC言語で生まれた概念だし。 だから関数が見つけられずに「Not DLL Function:UnLha」って言われているだけ。 大文字と小文字を区別して書く習慣をつけない限り間違い続けるよ。
157 名前:147 mailto:sage [2009/04/28(火) 13:02:54 ID:C7CacfK90] >>156 おっしゃるとおり検証して確認いたしました。エラーは正確に正してくれていたのですね。 勉強になります。感謝です。
158 名前:150 mailto:sage [2009/04/28(火) 23:09:04 ID:naDOL5i60] >>156 >>147 あぅ、気づかなかった… スレ混乱させてスマンかった。反省。
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 20:11:23 ID:W27H0amO0] 任意の長文をテキストボックスに入力させる方法は? アルファベット数文字だったら KBD(VK_A,CLICK,40) KBD(VK_H,CLICK,40) KBD(VK_O,CLICK,40) とかやっちゃうんだけど。 クリップボードを使うしかないのかな。 長文は固定じゃないから文章を入力したテキストファイルを複数用意しておいて その内容をどうにかしてクリップボードに入れて 貼り付けって考えてるんだけど どうかな? もっとスマートなやりかたあるのかな。
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 20:20:44 ID:6PozxKUv0] SENDSTR使えよw
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 20:30:09 ID:VCE73Rq/0] おおおぅ!こんな関数があったとは!
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 20:48:25 ID:i5Em8Ahd0] ( ゚д゚) え? 使用頻度も多いし、CLKITEMなんかとともに関数の中ではまっ先に覚えるものだと思うんだが
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 21:05:57 ID:jmZu6dcUP] だから初心者なんだろ?
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/04(月) 21:25:47 ID:/XePhOys0] >>162 すまん、目的が目的だったからchkimgとifbが先だった。 まぁ、用途によって覚えるモノは違うさ。 さて、俺もSENDSTR覚えたぞ。あとはhtmlソースから任意の文を抜き出す方法を理解してくる。
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 14:09:24 ID:0o+yJk7+0] メモ帳が起動していなかったら、起動するってどうやって記述すればいいの?
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 14:28:20 ID:xNlAE/wF0] ヘルプに書いてあったような。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 17:32:47 ID:7o1dfAoW0] ifb getid("メモ帳") < 0 exec ("notepad") endif . . . とか? exec()は NotepadID = exec("notepad") とかやっとくと後から融通が利くと思う。
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 18:03:41 ID:OvZysuYR0] メモ帳が起動してるケースで 「NotepadIDが取得できずにエラーが出ました」 って質問が来たりして。
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 18:26:15 ID:0o+yJk7+0] >>167 ありがとうございました。 1歩前進し出来ました。 >>168 初めて1時間。なんとなくわかってきました。
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 19:54:56 ID:7o1dfAoW0] あとフルパスも使えたりする
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/06(水) 14:03:18 ID:b6Xj8bdU0] スクリプト超初心者で意味不明です。 UWSCはそれよりは少し簡単だとききました。 キャッシュバックモールの検索で使う不純な目的ですが… UWSC Free版 Ver4.5aで @文字を指定して検索 A11〜20秒ランダムで時間指定して間をあける。 B検索結果のページから、検索ページへページを戻す。 C @とは違う文字で検索 @〜Cの繰り返しをこのソフトでできますか? この方法や手順のコツがあれば教えてください。
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/06(水) 16:15:12 ID:tpC5BtzM0] >>171 問題なくできる コツとしてはフレーム使用サイトだった場合IEGET/SETDATAが使えないから a_tags = IE.document.frames("そこのフレーム名").document.getElementsByTagName("a") a_tags.item(0).innerHTMLなりa_tags.item(6).clickなりするところ ducumentオブジェクト(DOM)の詳しい使い方はUWSC以外でも共通なんで必要になったらネットにもいろいろ情報転がってる