3 :
名無しさん@お腹いっぱい。 :2007/04/16(月) 09:16:54 ID:QAZbqHpD0
シェアウェア版(Pro)が登場したのはウソじゃないが、
Free版が配布停止になったわけではない。
>>3 のスレでシェアウェア化、とスレタイにあるのは厳密には正しくない。
よってこちらを残すことを提案。
さて。みなさん。どれに乗り換えますか?
お尋ねいたします。
2つIEウィンド立ち上げてると以下のスクリプトじゃうまくいきません。
タイトル指定しようにもIEのタイトルはなく
[
https://www.*** - Microsoft Internet Explorer ]となってます
このよう場合、片方のIEウィンドを指定して操作するには
どうしたらよいのでしょうか?
IE = GETACTIVEOLEOBJ("InternetExplorer.Application")
SOSA = GETID("
https://www.*** ")
SCKEY(SOSA,VK_ALT,VK_4) //リンクへ
SLEEP(0.1)
SCKEY(SOSA,VK_RETURN)
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4
IE.document.opSelectForm.elements[3].value="3311" //セレクトBOX内選択
IE.document.opSelectForm.elements[8].click
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.readystate=4
SOSA = GETID("
https://www.*** ")
GetActiveOLEObj("InternetExplorer.Application",Status(SOSA,st_title))は?
10 :
8 :2007/04/22(日) 00:43:30 ID:Akh+rxDo0
>>9 早速の回答ありがとうございます。
SOSA = GETID("
https://www.*** ")
IE = GetActiveOLEObj("InternetExplorer.Application",Status(SOSA,st_title))
ですとIE = Get~行目COMエラーで止まってしまいます・・・orz
スレの流れが遅くなったねー。みんな乗り換えちゃったんだから当然だけどw
13 :
8 :2007/04/22(日) 10:50:51 ID:Pc2MM/um0
>>11 IE = GetActiveOLEObj("InternetExplorer.Application","
https://www.*** ")
でもCOMエラーで止まってしまう。
ダメポ orz
昨日から始めました。超初歩的質問ですいませんがお世話になります。 メモ帖などから実行しようとすると指定外ファイルとなります。 指定ファイルにするためにはどうすればいいのでしょうか?
>>14 あー俺も同じとこで詰まってる
どうやるんだろうねこれ
>>15 方法が分かったので書いておきます。
スタート→マイコンピュータ→ツール→フォルダオプション→表示→「登録されている拡張子を表示しない」のチェックをはずす。
→「全てのフォルダに適用」→適用→OK→保存したメモ帖をクリック→F2
→ファイル名の語尾をUWSに変える。
もう一つのUWSCスレで教えてもらいました。
試してみてください。
追記:そのファイルを編集する場合は普通に右クリックから編集でできます。
どれだけ初心者なんだw
WSHはいくらか使っているのですが UWSCをよく知らないのですが UWSCではWin32APIがどのくらい使えるのでしょうか? 多分コールバックとかは使えないのではないか、と思いますが・・・ API関数でポインタを扱うものは普通に使えます? あとウィンドウにメッセージを送る機能は標準装備されてますでしょうか?
ここは初心者が多いのでもう一つのスレで聞かれたほうがいいと思います。 自分もAPIは苦手でMessageBox又は人が作ったPostMessageのサンプルぐらい しか使えません。逆に教えて貰いたいくらいですw
あSendMessageも使えた DEF_DLL SendMessageA(hwnd, uint, uint, long): long: user32.dll
お初にお目にかかります。 UWSCは繰り返し機能や任意ウインドウを認識してそのウインドウに対応した動作が可能との ヘルプ内の説明を見て、なんとか自分で組んでみようと考えたのですがズブの素人には中々難しく 良ければお力をお貸しくださいm(_ _)m 相談内容は「ゲーム」ではありますが、チーティングではなく特定のルーチン作業を簡略化するものです。 ゲーム名は「競馬伝説Live!」です。 具体的な内容は、このゲームは仕様上フリーレースというユーザーが任意の条件で開催できる レースがあり、所有馬のタイムや距離の適正、馬場の適正などを自分で調査する必要があります。 しかし、この馬の適正を調べる為には何種もの適正検査を行い私の場合一つの条件で5回程走らせ タイムの平均を記録しています。 この作業が非常に面倒で、できればこのルーチンをUWSCに肩代わり させることは出来ないかという事が目的です。 タイムの記録は自分が行い、そのタイムが表示されるまでの処理をUWSCにて行いたいのです。 人間にとって単調な繰り返し作業は精神的に厳しく拘束されることで時間も費やしてしまう為 なんとかしたいというのが狙いです。 又、皆様にお力を貸して頂いた内容のプログラムが完成したら、こちらで公開させていただければと考えております。 タイムの記録スクリプトは別途入手しておりますが(タイムを記録して指数を計算する内容)暗号化されている為 内容は読み取れませんでした。 できればこのスクリプトは途中で呼び出して使いたいという考えです。 参考までに、別のプログラムですがこういったプログラムでIDなどを取得しているようなので貼り付けておきます。 (これは、競馬伝説における馬券購入スクリプトの一部ですが他者様作成の物です) 次レス参照
STOPFORM(FALSE) //競馬伝説のウィンドウ情報取得 public メインX, メインY メインID = ID取得("競馬伝説 Live !") メインX = STATUS(メインID, ST_X) メインY = STATUS(メインID, ST_Y) public 本日レースX, 本日レースY public 出馬表X, 出馬表Y public 上位馬[3][2] //上位馬[着順][馬番、指数](上位馬[0][]は使用しない) if (買い目保存ファイル <> "") then ファイルID = ファイルを開く(買い目保存ファイル) 競馬場に行く() //開催場所を全部実行 for 開催場所 = 1 to 6 //ローカル場所がない時は飛ばす if (開催場所 = 3 AND PEEKCOLOR(本日レースX + 650, 本日レースY + 145) = $A5F3FF) then continue 開始レース = 出馬表表示(開催場所) 券種設定() //土曜1レースから日曜12レースまで予想 レース = 開始レース while (レース <= 24) 出走頭数 = 出走頭数を数える() ifb (予想(出走頭数,レース,開催場所)) if (買い目保存ファイル <> "") then 買い目書き込み(ファイルID, 開催場所, レース) if (! 予想のみ) then 購入() endif
//次のレースへ ifb (レース < 24) if (GETID("購入限金額オーバー", , 0.1) <> -1) then KBD(VK_ENTER) マウス(出馬表X + 965, 出馬表Y + 625) SLEEP(出馬表表示待ち) else //念のため最終レースか調べる ifb (PEEKCOLOR(出馬表X + 930, 出馬表Y + 621) <> $FFFFFF) if (GETID("購入限金額オーバー", , 0.1) <> -1) then KBD(VK_ENTER) while (GETID("出馬表/馬券購入", , 0.2) <> -1) マウス(出馬表X + 960, 出馬表Y + 735) wend else レース = レース - 1 if (GETID("購入限金額オーバー", , 0.1) <> -1) then KBD(VK_ENTER) マウス(出馬表X + 965, 出馬表Y + 625) SLEEP(出馬表表示待ち) endif endif レース = レース + 1 wend //end 土曜1レースから日曜12レースまで予想 next //end 開催場所を全部実行 if (買い目保存ファイル <> "") then FCLOSE(ファイルID)
//---------------------------------------------------------------------- //指定されたタイトルのウィンドウのIDを取得 //---------------------------------------------------------------------- function ID取得(タイトル) Result = GETID(タイトル) ifb (Result = -1) SLEEP(待ち時間) Result = GETID(タイトル) ifb (Result = -1) MSGBOX(タイトル + "ウィンドウのID取得失敗") EXITEXIT ENDIF ENDIF FEND //---------------------------------------------------------------------- //マウスクリック //---------------------------------------------------------------------- procedure マウス(座標X, 座標Y) MMV(座標X, 座標Y) BTN(LEFT, DOWN, 座標X, 座標Y, マウス間隔) BTN(LEFT, UP, 座標X, 座標Y, クリック) SLEEP(待ち時間) fend
//---------------------------------------------------------------------- //ウィンドウをマウスクリックで表示する //---------------------------------------------------------------------- function ウィンドウ表示(座標X, 座標Y, タイトル) for i = 1 to 3 //3回までリトライ マウス(座標X, 座標Y) SLEEP(出馬表表示待ち) Result = ID取得(タイトル) if (Result <> -1) then exit //成功 next fend
とりあえず作業をUWSCで記録することからはじめてみたら? 難しいことはそれが出来てからやればいいと思うよ。
保守
通報しました。 そしてこのスレの削除来も出してきました。
30 :
専守防衛さん :2007/06/07(木) 23:23:50 ID:WvvIPKFp0
通報? 馬鹿すぎて笑える おなかが痛いよ ふひっひひひひひhh
それは何よりです
UWSCをBOTツールかなにかと勘違いしちゃってるんじゃないの? これだからパソコンをゲームにしか使わないお子様は困る。
ネット銀行のログインに使ってます。 口座番号に暗証番号にパスワードにセキュリティ番号 と入力項目が多すぎるんだよ。 UWSCで自動入力するのでかえって危険度が上昇している>俺。
・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・
37 :
名無しさん@お腹いっぱい。 :2007/06/26(火) 22:19:35 ID:QIdJnTZy0
たのみます教えてください、馬券ツール使っても当たんない 資金増えない・・・。 印し予想=0 タイム予想=0 オッズ予想=1 不利枠予想=1 古馬割引=10 これでいいの? なんですかこの数字は?
38 :
救済タモリ :2007/06/27(水) 22:19:03 ID:Q96jZX0g0
すみませんが、競馬伝説でフリレを連続して行なえる事が出来るよう になるツールを知っているネ申は居ませんか。頼みますから教えてください
>>38 俺もほしい。
朝の6時とかログインしてると、誰もいなくて、
仮眠とって10時くらいにおきると 今度はなかなかはいれなくて
2度寝ができん。
>>39 あれ、俺、こんな書き込みしてたっけ?
別の板に似たようなこと書いてたけど・・・。
41 :
名無しさん@お腹いっぱい。 :2007/07/08(日) 08:01:07 ID:YkkleEAc0
>>37 俺も試してみたいんだがどこで手に入れた?
42 :
名無しさん@お腹いっぱい。 :2007/07/17(火) 11:30:12 ID:WnsTzPFx0
えー、馬券ツールを使用する者ですが… 僕はこれで回収率は必ず160は越えます。 //---------------------------------------------------------------------- //購入レース条件設定 //---------------------------------------------------------------------- public 前走なしレースを無視 =TRUE public 最低頭数 = 5 //この頭数以上の時に予想する //この頭数未満の時はそのレースは予想しない public 少頭数予想 = 0 //この頭数以下の時は少頭数予想にする(使用しないなら4以下に) //---------------------------------------------------------------------- //予想方法設定 ペース編 //---------------------------------------------------------------------- public 印予想 = 2 //印による予想の重み(多頭数予想時にしよう) public タイム予想 = 6 //タイムによる予想の重み(多頭数予想時にしよう) public オッズ予想 = 2 //オッズによる予想の重み(多頭数予想時にしよう) //印予想×印値 + タイム予想×指数 + オッズ予想×(−単勝オッズ) public 印少頭数予想 = 1 //少頭数予想時にしよう public タイム少頭数予想 = 1 //少頭数予想時にしよう public オッズ少頭数予想 = 0 //少頭数予想時にしよう public ペース判断する = TRUE //TRUE の時→ペース補正をする //FALSEの時→ペースを無視する 1度やってみてください。 タイムは重視にしたほうがいいです。で、印はまぁ少なくていいです。 ダメなようだったらおかしくならない程度に色々いじって、やってみてください。
43 :
名無しさん@お腹いっぱい。 :2007/07/17(火) 11:32:11 ID:WnsTzPFx0
>>41 今、馬券自動ツールを配布していた人は、配布を停止しています。
残念ながら、ダウンロードはできませんが、誰かデータファイルをうつしてくれる人を
探して、コピーすることをオススメします。
44 :
名無しさん@お腹いっぱい。 :2007/07/17(火) 11:58:49 ID:kruLQnTr0
始めたばかりでよくわからないのですが・・・ 1を押したら自動で2を押す みたいなことはできないのでしょうか>< 教えてください
45 :
名無しさん@お腹いっぱい。 :2007/07/19(木) 16:44:40 ID:McP8AJvt0
47 :
名無しさん@お腹いっぱい。 :2007/07/21(土) 03:29:51 ID:8ufH9goe0
>>43 馬券ツール持ってる人ってそんなに簡単に見つかるもんなん?
ひょっとしてほとんどの人が持ってるとか
48 :
名無しさん@お腹いっぱい。 :2007/07/22(日) 17:46:33 ID:WDDjz1Nw0
Vistaで馬券ツール使える方いませんか?タイム予想1にすると指数計算できませんってなって買えないのです。0だと買えるが、ほとんど当たらないどうしたらよいものか・・・。
すみません、基本的なことかもしれませんが ヘルプをみても無かったものですから教えてもらえませんでしょうか? 使用しているUWSCのバージョンは4.0Cです。 @現在起動しているUWSファイルをフルパスで知る方法はありますでしょうか? AGETDIRはDIRを見るだけのようですが、パス指定でDIRを新たに作れますでしょうか? @が分かればdosコマンドで作れるは分かってるのですが・・・
50 :
49 :2007/07/29(日) 00:24:43 ID:L+8HJRhL0
自己解決しました 結局自分のパスは分かりませんでしたが デフォルトで起動パスに一時フォルダを作って作業するようにしました。
51 :
名無しさん@お腹いっぱい。 :2007/07/31(火) 10:05:51 ID:Jjm5Izdw0
KIDさんのIEを操作するサブルーチンのuwsのソース落として使ってみたんですが Uスクリプト:COM_Error: インターフェイスがサポートされていません,ProgID: "InternetExplorer.Application" C:\(省略)\IE_SUB.UWS:22行目:IETEMP = CREATEOLEOBJ("InternetExplorer.Application") とエラーがでてきて使えません。 まだこのソフトは使ったばかりなので基本的なことかも知れませんが どうすればいいのか教えてもらえませんか?
なぜか繰り返し作業をしてくれません。 再生しても記録した作業の最後まで行った所で、ループせずに停止してしまいます。 どうすればよいのですか?
困ってます。 エクセルファイルを開きたいのですが、 Excel = XLOPEN("ファイルパス名") で行っても、SYNTAXERRORとなります。 何処を直せば良いですか?
54 :
ストフリ :2007/08/23(木) 12:56:46 ID:uCL0GavZ0
自動ツールを使うと本日レースアイコンがみつかりません、となります どうすればいいでしょうか?
いっぺん氏んで生まれ変わればなんとかなるかもしれない。
56 :
名無しさん@お腹いっぱい。 :2007/08/27(月) 03:21:22 ID:6XpPUQrL0
だれか馬券ファイルの改造版を配布してください;w;
57 :
tomo :2007/08/27(月) 14:19:37 ID:2yeuzWfq0
はじめまして。あるUWSCスクリプトの答えがどうしても見つけられず、困っています。(A)の文字列を(B)のような形に連番を振った形に変換するにはどうしたらいいのでしょうか?お忙しいところ、恐縮ですが、よろしくお願いします。 (A) "toyota0236154up" "honda0345125up" "nissan0158976up" (B) NO1"toyota0236154up" NO2"honda0345125up" NO3"nissan0158976up"
DOSCMDでRENAMEを使ってみればいいと思うけど 連番とかだとFor - Next とか入って複雑になるかもしれない・・・ あとは自分で調べてください。運がよければ誰かが教えてくれるでしょう。 でもリネーム用のソフトを使った方が簡単かもしれません。
あるウェブページを読み込んでその中に「ポチ」という文字が入っていたら メッセージで表示する、というような場合どうかけばよいでしょうか?
httpget grep
62 :
名無しさん@お腹いっぱい。 :2007/09/16(日) 17:09:48 ID:AHLpvEuB0
海外の馬券は買う気がしないが、 今までの自動のやつに初心者レースの自動馬券買うのをUP望む・・・
そんなんちょこっと書き換えたら簡単にできるようになるでしょ。
初心者までは開くように出来たんだけど レースを選んでくれない
m9(^Д^)プギャー
どこを変更すればいいか分からない 地方までは、ちゃんと動くのに 初心者を開いてレース選ぶ時に マウスが友達紹介の所をクリックする
その程度の書き換えもできない乞食は消えろ
69 :
名無しさん@お腹いっぱい。 :2007/09/21(金) 17:54:48 ID:vZrsNd3X0
ヒエ〜
該当する部分のスクリプトをよく見れば直せる。 ろくに理解していない俺でもできた。
馬券スレで詳しいヤツいるらしいからそちらへどうぞ。
なんか両方のスレともすっかり寂れたな… 珍しいwindow名とclassを持ったダイアログを見つけたので、なんとなくここへ書く。 ドローソフトExpressiin3Jのビットマップ保存で出てくる、作業中のダイアログなんだが (コレが出ているあいだは作業中なので、待ち判断に必要) ST_TITLEがnull(空っぽ) ST_CLASS名が"Afx:400000:808:10011:0:0" こんな変なclass名を持ったやつは初めてだ…
>>72 それはMFCというクラスライブラリがつけるクラス名形式
わりと珍しくはない
枠や馬連など買いわける事が出来るヤツをお持ちの方、 教えてくれるとありがたいです。 駄目なら作り方のヒントだけでも^^;
76 :
74 :2007/09/23(日) 21:07:47 ID:gTGr9tsb0
今までのと見比べて、自分なりに解釈してみよう? あと、枠や馬連で買い分けるヤツを持ってる方、 出来れば教えてくださると助かります^^; ムリなら、ヒントだけでも・・・
そういうのは他所でやってくれないか? ここをクレクレ厨スレにしないでくれ
あれだよ、UWSCスレ2つあるんだから、 協力して意見だしあって少しずつ作っていこーよw で、その競馬のやつってゲームなの? そこからわかってないw
79 :
名無しさん@お腹いっぱい。 :2007/09/24(月) 16:54:43 ID:HGLvVCtN0
失礼します 「OKボタンにマウスを移動する」 って言うのをやりたいんですが、用語が理解できません 一個一個ググって見たんですが・・・ それぞれの用語が何を意味するのかを勉強できるところがあれば教えてください // OKボタンにマウスを移動する while True wid = GETID(GET_ACTIVE_WIN) // アクティブウィンドウ btn_id = HNDTOID(GETCTLHND(wid, "OK")) // OKボタンのハンドル ifb btn_id > 0 MMV(STATUS(btn_id, ST_X), STATUS(btn_id, ST_Y)) // マウス移動 endif sleep(1) wend
すみません、直接載せてしまうとそう言う結果に繋がるとは考えず まだ自分の持っていない知識を他の方から少しでも 教えていただくことが出来れば、もっと良質な品が出来ると安易に考え 情報交換のつもりで載せてしまいました。 答えを提示されて、なぜ?っと考える人だけでは無いですものね これからはもっと深く考え行動します、本当に申し訳ありませんでした><
81 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 19:54:40 ID:DghZKJMV0
ネトゲ関係のマクロはタブーでしょうか? 複数のウィンドウの数字キーを押しっぱなしにしたいのですが、 複数のウィンドウを同時操作ってできませんかね
複数のuwscを動かせばいいんじゃない?
スレッドでもいいのかな?
84 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 20:53:12 ID:DghZKJMV0
>>82 UWSCを起動している状態では
もうひとつのUWSCを起動できないです
>>83 スレッドとは?
85 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 20:56:18 ID:hygD3nOk0
UWSCで使われてるのってBASICなの? なんか見慣れない表現多いんだけど
>>84 ごめん82と83は俺w
UWSC複数起動できるみたいだよ。やったことないから知らないけど
まぁスレッドがいいと思うけどヘルプみてください。
スクリプト構文→スレッド生成
クラスとか作ってスレッドで動かせば行けると思うよ。
>>85 VB的な構文だからあれだけど
デルファイがベースなんだと思いますよ
VB -> sub、 Delphi -> procedure
87 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 21:26:34 ID:hygD3nOk0
なんでベースが有るんだよ。野球か? 見慣れないのはお前が初心者だからだろ。 複数起動くらいできるだろ。
89 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 21:30:45 ID:hygD3nOk0
変なのがわいてきたな
じゃ亜種で
uwsc.exeでuwscファイルを開いて再生、というやり方では二つ同時には走らないけど、 .uwsの関連づけをuwsc.exeにしてダブルクリック、というやり方で動かせば複数のuwscスクリプトが同時に動くよ タスクマネージャーで二つ以上の.uwsが動いている状態を確認できる。
92 :
名無しさん@お腹いっぱい。 :2007/09/26(水) 22:39:30 ID:DghZKJMV0
>>91 あの、片方が全画面で片方が最小化という状態でも大丈夫でしょうか?
普通に動作するものは組めるのですがウィンドウが絡むとサッパリで・・・
95 :
名無しさん@お腹いっぱい。 :2007/09/28(金) 09:02:55 ID:/ilkZ4HW0
>>95 おまえがIDつついて俺につきまとってるんだろ。
これ以上つきまとったら対策講じるぞ。
俺はマトモな事しか書いていない。
USWC.exe <スクリプト名>でバックで実行できる。
かんれんづけとは関係無い。
UWSCを既に開いていてもこれは実行可能だ。
どうやら95の言うとおりみたいだな
やめる押したはずが書き込むおしてたw まぁ、もうみてないだろうからやめとく
UWSCのスケジュールって時々実行されずに無視される事があるね。
102 :
名無しさん@お腹いっぱい。 :2007/09/30(日) 17:55:38 ID:IvdwkcGC0
下記の2番目(トレード・コンパクト)のラジオボタンをクリックしたいのですが
どのようにしてクリックすればいいのでしょうか?
<input type="radio" name="lg_isc" value="-1" checked="true">オンライン・ホーム<br>
<input type="radio" name="lg_isc" value="-1">トレード・コンパクト<br>
<input type="radio" name="lg_isc" value="-1">どこでもトレーダーPro.
http://www.icnet.ne.jp/~supreme/IE_HowToUse.html ここにある例を参考に
次のようにやってみたのでが1番目(オンライン・ホーム)の初期選択から変化しません。
IE_SelectItem(1, "Tag='INPUT',Type='radio',name='lg_isc',value='-1'")
IE_ItemProc(1, "CLICK", "")
valueが全部"-1"というのもよくわからないのですが。
よろしくお願いします。
リンク先は見てないけど IESETDATA(IE,true,"lg_isc","-1",2)
104 :
名無しさん@お腹いっぱい。 :2007/10/02(火) 00:15:49 ID:g+gdX1SI0
>>103 ありがとうございます。うまくいきました。
以下のようにして、Javascriptを通して、IEからもう一つIEを開く処理をするのですが、、 IE.Navigate("javascript:w = window.open("", "order","width=716,height=600")") このとき、Javascriptによって開いたIEの、javascriptでの名前?(↑で言う"order")を UWSCから取得する方法ってありますでしょうか? 説明が下手 and 板違い申し訳ない。 よろしくお願いします。
htmlのソース開けて抜くのはダメ?美しくないけどwww
107 :
105 :2007/10/05(金) 16:18:55 ID:+auitsK40
>>106 とりあえず、それで対処してみます。
ありがとうございます。
</td> <td class="xxx"> 17,090<BR> (09:00) こんなんを op=IEGETDATA( IE, "TAG=TABLE", 2, 2, 3) print "op="+op とすると op=17,090 (09:00) と表示されます。17,090だけ必要なのですが (09:00)を消すにはどうすればいいのでしょうか?
改行コードでtokenしたらいいんじゃまいか print "op="+token("<#CR>",op)
>>109 ありがとうございます。うまくいきました。
111 :
名無しさん@お腹いっぱい。 :2007/10/07(日) 17:47:31 ID:4JDrUiXd0
FireFoxとの組み合わせで、たくさんのページを自動で読み込みたいと考えています 読み込んだ後に、保存をするのですが、FireFoxがページの読み込みを終了したという判断を させるにはどうすればいいでしょうか? お願いします。教えてください。
画面を定期的にキャプチャして分析するのがいいと思う。
113 :
超初心者 :2007/10/09(火) 17:02:38 ID:cFwvDbmw0
初歩的な質問です。 スプリクトを少し変更したいのですが、 ファイルを開くと文字化けしてしまいます。 どうすれば、中身を表示できるのでしょうか? 宜しくお願いします。
>113 それはスクランブルがかかってるから無理
115 :
超初心者 :2007/10/10(水) 09:52:08 ID:j395jLsw0
>114 やっぱり無理なんですね。 ありがとうございました。
MOUSEORG() の基準指定:2 って機能している? CHKIMG() では機能しているみたいだけど、 「基準指定にて 2が指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る」 は大嘘ではないかと?
>>116 大嘘なのかテストしたサンプルあればよろ
いまのとこ???です。
>>117 バージョン3.1cまでは、MOUSEORG(ID, 2) の後の MMV() や BTN() は機能するみたいだけど、
4.2以降は、 CHKIMG() の動作は確認出来たけど、 MMV() や BTN() は全く動作せず、完全無視される。
MOUSEORG(ID,1) にした時の動作は確認済み。
4.1x や 4.0x ではテストしていないので不明。
IEに表示されるページには、画像のある特定領域をクリックすると、
それに対応したリンク先のページを表示する様になっている。
test.bmp は、その画像のクリック可能領域の一部
テストしたサンプルは、
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = TRUE
ID = GetID(" - Microsoft Internet Explorer")
MouseORG(ID, 2)
IE.Navigate("
http://www.example.com ")
While TRUE
if (! oIE.busy) and (oIE.readyState = 4) then Break
Sleep(0.1)
Wend
Ifb ChkImg("test.bmp", 0, 0, G_SCREEN_W, G_SCREEN_H) then
BTN(LEFT, CLICK, G_IMG_X + 1, G_IMG_Y + 1)
EndIf
// 4.3d
IE = GetID("履歴 - Microsoft Internet Explorer", "IEFrame")
if IE <= 0 then msgbox("ない")
MouseORG(IE, 2)
Ifb ChkImg("test.bmp", 0, -1, G_SCREEN_W, G_SCREEN_H) then
Msgbox("X:" + G_IMG_X + " Y:" + G_IMG_Y)
else
msgbox("NG")
EndIf
こんなの作ってORGの 1と2試したけど、どっちもクライアント座標だね
ソースみてて怪しいのは
if (! oIE.busy) and (oIE.readyState = 4) then Break
oIEが謎オブジェ
Msgbox("X:" + G_IMG_X + " Y:" + G_IMG_Y)
これで Ver3.1cと今使っている奴とでの座標確認してみてください。
あと画像クリックの範囲が大きいのなら+1じゃなくて
その範囲の半分くらいのところがいいんじゃないかと思います。
"
ttp://www.example.com " ここみれなかったので
IE = CreateOLEObj("InternetExplorer.Application")
としているんだから
IE.document.form・・・でクリックすればICON状態でも
いけるよ
>>119 ttp://www.example.com はRFC2606に載っている例示専用の架空URLです。
RFC2606
ttp://www.ietf.org/rfc/rfc2606.txt 3. Reserved Example Second Level Domain Names
The Internet Assigned Numbers Authority (IANA) also currently has the
following second level domain names reserved which can be used as
examples.
>IE.document.form・・・でクリックすればICON状態でも いけるよ
最近のウェブサイトは、ボタンだけでなくログイン等にもフラッシュを使っていたりするもので…
>oIEが謎オブジェ
Procedure として書いてたのをそのままコピペした為、間違えました。
正しくはIEです。
MouseORG(IE, 2) の時、ChkImg() で座標の取得は出来るのですが、
Ver4.x では MouseORG(IE, 2) のままだと Btn() が動作しません。
>>121 IEじゃない他のアプリにKBDが使えていたので
クリック場所のせいかと思ってましたが
テストした結果私の方もMMVやBTNが動かない orz
フラッシュだと無理っぽいですが
CLKITEM( ID, アイテム名, CLK_ACC)で もしかしたら
クリックできるかも?
確かめないでレスしてごめんなさい。
低能・馬鹿と呼ばれる人種と論争になったとき あの、なんとも言えぬ四次元から繰り出されたような言い分。 まさに想定外な常識を一万光年超えたような奇妙な言い分。 とっさに反応できなくなる自分が虚しくなる時ないか?
↑失礼しました。もう一個のUWSCスレに投下するレスをゴバクしました
UWSCを使って並列ループ処理をするにはどうしたらいいんでしょうか? While True Aの処理 Sleep(60) Wend While True Bの処理 Sleep(300) Wend と単純にできるのかなと思ったらだめでした。 どなたか教えてください。
>>125 counter=0
Thread Aの処理
Thread Aの処理
While TRUE
Sleep(1)
counter= counter+1
If counter MOD 60 =0 Then Thread Aの処理
If counter MOD 300 =0 Then Thread Aの処理
If counter MOD 300 =0 Then counter= 0
Wend
>>126 >>127 ありがとございます。
UWSCの例と127さんが書いてくれたのを合わせて
試してるんですがうまくいきません。
counter=0
Thread Aの処理()
print "メイン"
cnt = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
for i = 1 to 10
print Token(", ", cnt, True)
Sleep(1)
next
procedure Aの処理()
fend
Thread Aの処理()
for i = 1 to 10
Fukidasi("スレッド " + i)
Sleep(1)
next
procedure Aの処理()
fend
While TRUE
Sleep(1)
counter= counter+1
If counter MOD 60 =0 Then Thread Aの処理
If counter MOD 120 =0 Then Thread Aの処理
If counter MOD 120 =0 Then counter= 0
Wend
Threadをまだよく理解できていません。2つ
3つとか増やして使えないのでしょうか。
>>128 合わせるなよw
126と127は別々のやり方で、しかも127は間違った骨格だけしか書いてないぞ!
とりあえずUSWC例だけコピペ実行して Threadを理解した方がいい
127は、こう書きたかったんだと思われる
counter=0
While TRUE
Sleep(1)
counter= counter+1
If counter MOD 60 =0 Then Aの処理
If counter MOD 300 =0 Then Bの処理
If counter MOD 300 =0 Then counter= 0
Wend
好きな方でどうぞ
>>128 ご意見ありがとございます。
方法さえわかればできるかと思ったんですけど だめです。。。
>>126 さんのヒントをもらってthreadを使って2つの並列処理は無事に
できたんですけど
Thread Aの処理()
While TRUE
print "ご飯"
Sleep(133)
Wend
procedure Aの処理()
While TRUE
print "麺"
Sleep(212)
Wend
fend
ホントは4つの処理を同時にしたくて、
>>127 さんの方法を
加えれば3つ目の処理も加えれるかなと思ったんですがうまくいきません。
実際のSleep時間はこんな感じで
If counter MOD 133 =0 Then Aの処理
If counter MOD 148 =0 Then Bの処理
If counter MOD 172 =0 Then Cの処理
If counter MOD 212 =0 Then Dの処理
If counter MOD 212 =0 Then counter= 0
counterを0にもどすと空き時間ができるので
Threadでスレッドを4つに増やしてそれぞれループできないかなと
いろいろ自分なりに試したんですがわりません。
並行処理 覚えればいろいろ便利だろなと思うのでなんとか
できるようにしたいです。ご意見ください。
counter 0クリアしなくていいじゃん別に
127だが ディレイ無しで初期時に各処理を動かしたいように見えたのであああした。 カウンタのリセットは保険だな。 タイミングがどうでもいいなら次のような判りやすい処理にもできる。 Class Main Procedure ループA While TRUE 処理 A sleep(60) Wend Procedure ループB While TRUE 処理 B sleep(300) Wend Fend Procedure Main Therad ループA Therad ループB While TRUE Sleep(10000) Wned Fend EndClass ※最近使ってないのでヘルプ見て適当に書いただけなのであとは適当に。
127だが…↑で更にタイミングも合わせるならこんな感じにするといい。 Class Main Procedure 処理A Print "処理A実行" Fend Procedure 処理B Print "処理B実行" Fend Procedure ループA Thread 処理 A sleep(60) Wend Procedure ループB While TRUE Thread 処理 B sleep(300) Wend Fend Procedure Main Therad ループA Therad ループB While TRUE Sleep(10000) Wned Fend EndClass ※最近使ってないのでヘルプ見て適当に書いただけなのであとは適当に。
127だが… 少なくともFendがひとつずつ抜けてた。まだ間違いあるだろうが 大体意味的には通じるとおもう。 ※最近使ってないのでヘルプ見て適当に書いただけなのであとは適当に。
>>127 さん本当に感謝です。 できました!
2つとも動かしてみて なるほどなるほどです。
一つ目の方法がしたかったんですけど、両方ともお持ち帰りします。
127感謝.txtにして保存しておきます。
ありがとございました。
理解できたようなので蛇足だが
>>129 での初回実行はcounter= counter+1を最後にもってくる方法もある。
4つの処理を完全に独立したいなら、カウンターを4つにすればいい。
ちなみに なんで 「処理A」でなく「Thread 処理A」なのか理解できなかったが、
処理Aの処理時間が無視できるわけか。勉強になりました。
137 :
名無しさん@お腹いっぱい。 :2007/10/21(日) 13:42:26 ID:Giw/sDR0P
ごめんww大誤爆ww
iuwscは長いつもりだったが、Threadの存在自体今回初めて知ったよ
while true 処理 wend のループを指定した時間で止めるにはどうしたらいいでしょうか?
if break
質問です。 ショートパス(8.3形式のパス)からフルパスを得る方法って、UWSC上では何かないでしょうか FileSystemObjectで FSO = CreateOLEObj("Scripting.FileSystemObject") print FSO.GetFolder("ショートパス名").path では、元のショートパスがそのまま返ってくるのでダメでした
スミマセン質問撤回。 ↑をを行う必要がなくなってしまった。 UWSCでDrop on scriptを使用しようとしたが、うまくいかなくて AutoHotkeyでDropしてそのファイル名をUWSCに渡そうかと思ったのですが、 (AHKではショートパス) 何度もやってできなかったUWSCでのDrop on scriptの設定が、 今日あっさり成功してしまった。 Drop on scriptをアンインストール、再インストールしたら成功。
すみません教えてください。 クリックしたウインドウを、クリックした回数によって分岐、指定したサイズ・位置に並べて表示 する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でした。 できたらクリックでこれを行いたいのですが、よろしければアドバイスお願いします。
ねえねえ、Helpおすと「取り消されたアクション」って出るんだけど、他にもこういう症状の人いる?
記録したやつ再生する時もっと速く動作させたいんだが なにか方法はあるんでやんすかねぇ〜?
148 :
名無しさん@お腹いっぱい。 :2007/11/10(土) 23:58:37 ID:YjmRoufm0
自動ツール配ってる神はいねーのかよ! つかえねーな
uwscが自動化ツールだろ 精薄?
複数のブログに自動的に記事を投稿するとかできますか? 一回、記録してやってみだんだけど、画面が読み込み途中だったり カテゴリ選択ができなかったりと私では、無理でした・・・ 過去ログ読むと自動でログインしたりしてる人がいるので できることは、できると思うのですが。
151 :
名無しさん@お腹いっぱい。 :2007/11/14(水) 13:34:43 ID:PbBvJU5Z0
べんりなプログラム人気投票でトップ賞は10万円にすればもりあがるのに、
ネットランナーあたりから賞を貰った場合名誉か不名誉か
ネットランナーってもうないだろ
154 :
名無しさん@お腹いっぱい。 :2007/11/16(金) 00:51:07 ID:gmrmXdUO0
プログラムのことばがまだ難しい。 もっと人間が命令するのと同じ にならんのかな
なんだかにほんのことばが難しそうだなお前
156 :
名無しさん@お腹いっぱい。 :2007/11/16(金) 12:07:52 ID:D3d5GPTB0
あはははは!!! 君たちこえーよ!
誰か馬券ツールUPして
158 :
名無しさん@お腹いっぱい。 :2007/11/17(土) 02:26:09 ID:AL/q7EXC0
競馬伝説のフリレの自動化ツールってありますか?
SPEAK("kohnnichiwa") sleep(0.5) SPEAK("watashi no nama e wa windows XP Service Pack 2 desu") sleep(0.5) SPEAK("diejinie tu cut te kudasai nae") sleep(0.5) SPEAK("yoroshiku")
ブラウザに表示されるリンクのクリック操作ができない。 自動で覚えさせるのではないよ。 誰か教えてください。m(_ _)m よく、OKボタンとかあるけどああゆうのは、できるのですが ジャバみたいなやつがどうしてもできません。 誰かできる人お願いします。
犯罪やいやがらせの幇助はしたくない。
>160 1000万前払いしてオペレーターを雇ってクリックさせる。
>>160 その画面でキーボードの「Tab」ボタンを押したり
「Shift」+「Tab」を押したりしてみ
フォーカスされるリンクが変わっていくだろ
がんがれ^^
164 :
160 :2007/11/27(火) 03:15:50 ID:J7vsrhLp0
webの操作を記録できるやつつかったらすんなりできました。 自分で一からやるのは、面倒だし覚えるのにも時間がかかるので ソフト買って実践、実践で覚えていこうと思っています。m(_ _)m 記録するやつちょーかんたんだね。価格がちょい高いような気もするが 素人が0からやるにはもってこいだよ。
入力ボックスで、未入力、cancel、入力の振り分けができないとです なにも入力せずにOKおすと、実行になってしまいます While True tarID=INPUT("なんか入れて") ifb tarID =NOTHING then MsgBox("未入力") Continue elseif tarID = EMPTY then MsgBox("cancel") else MsgBox("実行") endif break wend print tarID どう直せばいいとですか?よろしくお願いします
ifb tarID =NOTHING then ではなくて ifb tarID = "" then
167 :
165 :2007/11/29(木) 15:24:46 ID:d0cLb6qh0
>166 どうもです。試してみました。 >ifb tarID = "" then ですと、cancel押したときも反応しちゃって駄目でした cancelと未入力の振り分けがわからんとです
評価順を変えるべし While True tarID=INPUT("なんか入れて") ifb tarID =EMPTY then MsgBox("cancel") elseif tarID = "" then MsgBox("未入力") Continue else MsgBox("実行") endif break wend print tarID
どなたか教えてください。
次のようなテストスクリプト作ったのですが、最後のIELINKで製品ページに遷移しません。
どないしたらいいでしょ?
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("
http://www.docomo-technavi.com/ ")
Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4)
IELINK(IE,"定額データプランで、知らないうちに定額対象外データ通信に切り替わって、高額請求になることはありませんか?")
ACW(GETID("Q&A | お客様サポート | NTTドコモ - Windows Internet Explorer","IEFrame"))
Repeat; sleep(0.2); Until (! IE.busy) and (IE.readyState=4)
IELINK(IE,"製品") //←ここでページ遷移しない。
動かないのは対象のページが別のウィンドウとして開かれてるから。 Shell.Application使って新しく開かれたウィンドウを特定して IELINK(win2,"製品") でいいんじゃない?
>170さん 169です。 すんません! もうちっと詳しく・・・ 「Shell.Application使って新しく開かれたウィンドウを特定」とはどのようにすれば良いのでしょう? それと、win2ってのは、どこから引っ張ってきたのでしょう? よろしくお願いしますっっ
169です。 なんとか、うまくいったんで、質問取り下げます。 ありがとうございました。
>172おいおい、自己完結したら結果をみんなに報告しろよな
174 :
名無しさん@お腹いっぱい。 :2007/12/14(金) 05:14:47 ID:jwKgQoMT0
質問 私まるっきりのPC初心者で自動馬券ツールを使いたいのですが 馬単の1,2番人気を自動で購入出来ればそれだけで言いのですが こんな私でも出来ますでしょうか、親切な方詳しく手順を教えてください
できる。UWSC掲示板にいき過去ログを読め。 もしくは、訊け。それが一番の近道。 体験版のRecIE使って試しに今まで自分がやっている動作を記録し て実行してみたら?同じ動作ならすぐにできるようになるよ。
176 :
名無しさん@お腹いっぱい。 :2007/12/27(木) 04:42:31 ID:MYGtweGY0
>>169 僕がコピペして試したけどFAQには飛ばなかったよ
バージョン古いのかな
2006/10/9のものだけど。
177 :
名無しさん@お腹いっぱい。 :2007/12/27(木) 11:08:19 ID:zuJKhCPG0
馬券ツールで「本日のレースアイコンが見つかりません」となるのですがどうしたら直りますか教えてください。
178 :
名無しさん@お腹いっぱい。 :2007/12/30(日) 12:33:59 ID:pkK1wxs00
質問日時: 2007/4/28 01:51:18 解決日時: 2007/5/12 03:22:18 質問番号: 11,438,452 自分の職場に、見るからにとても気が強い女性がいます。 そんな女性の彼氏として... 自分の職場に、見るからにとても気が強い女性がいます。 そんな女性の彼氏として務まるのは、やっぱり女性慣れしていてリードできる男性だろうな、と思っていたのですが、何と誰が見ても物静かな雰囲気の男性でした。 正直、「これだけ気が強い女の子の彼氏って、どんな人なんだろう・・・」と思っていたのですが、とてもビックリです。 自分の考えは偏見だったでしょうか? 回答日時: 2007/4/28 01:59:28 編集日時: 2007/4/28 02:00:59 回答番号: 36,785,555 気が強いからこそ、物静かな男性と付き合うんじゃないのかな。結構私の周りもそういう組み合わせ多い。 「引っ張ってほしい」っていう男の人が、気の強い女性に惹かれるんじゃないかと思う。 本当に気の強い女性は、相手にリードされることを嫌うと思うよ。自分の考えで行動するだろうから。 ま、見た目が気が強そうでもそんなことない人もいるし、見た目だけで気が強そうって思ってるなら、そういう点では偏見だけどね。 回答日時: 2007/4/28 23:00:19 回答番号: 36,806,435 きっと普通はあなたのように思う人が多いでしょう が! 人は自分にないものを求めてしまうのです。 彼女は気の強い性格なので、物静かな雰囲気の男性がどうしても 気になってしまったのでしょう! 心理的に見ても、これは当然の結果だと思いますけどね〜
180 :
名無しさん@お腹いっぱい。 :2008/01/02(水) 23:55:30 ID:TxWJDXZV0
181 :
名無しさん@お腹いっぱい。 :2008/01/04(金) 01:16:15 ID:ARo1pyR/0
182 :
名無しさん@お腹いっぱい。 :2008/01/04(金) 18:14:46 ID:17ShWXhF0
パス教えて!
パス教えてください
ドリブルも
ほしゅ
ID=getid(" 省略 ") IFB CHKIMG("ガテン.bmp")=true then clkitem(ID,"ガテン.bmp",CLK_BTN) end ある画像が出たら左クリック押すというのを造りたいんですがnot〜bmpと出てしまいます uwscのフォルダにもその画像はbmp保存してるんですがね。。。 詳しい方おしえてください
>>186 スプリプトと同じフォルダに画像置くか
フルパスで指定
>>187 さん レスありがとうございます
早速同じフォルダに入れてやってみてるんですが。。。。。。です
not〜bmpと。。。。
>>186 の式自体はどこかおかしい所はないでしょうか?
いつでもいいのでお時間あるときにまたご指導ください^^;
ちなみにガテンてのは適当につけた画像の名前です^^;
>>186 ,188
エラーメッセージを出しているのは
IFB CHKIMG("ガテン.bmp")=true then
じゃなくて
clkitem(ID,"ガテン.bmp",CLK_BTN)
の方だろう。
UWSC付属のヘルプにこう書けと書いてあったか?
ヘルプにある例文はこうだ
Ifb CHKIMG("タスクトレイアイコン.BMP")
BTN(LEFT, CLICK, G_IMG_X+5, G_IMG_Y+5)
Endif
>>189 さん ありがとうございました
これをいい機会にもっと勉強します・・
191 :
名無しさん@お腹いっぱい。 :2008/01/30(水) 15:21:03 ID:xio/Vph70
>>180 パス解けたぞ
ヒント
turu????12?で
?部分は自分で解読してくれww
192 :
名無しさん@お腹いっぱい。 :2008/01/30(水) 22:27:14 ID:xio/Vph70
↑ 大ヒント turu????123で ?部分は自分でw
turutaro123
194 :
名無しさん@お腹いっぱい。 :2008/01/30(水) 22:40:27 ID:xio/Vph70
>>123 おしいw
大大ヒント
turuka??123で
?部分は自分でw
ここまできたら判るでしょw
195 :
名無しさん@お腹いっぱい。 :2008/01/30(水) 23:51:59 ID:zh7E6+t1O
画面を16bitにしてますが「本日レースアイコンが見つかりません」となるのですがどうすればいいですか?
196 :
名無しさん@お腹いっぱい。 :2008/01/31(木) 00:12:12 ID:/36LQTlp0
//本日レースアイコンクリック IFB (CHKIMG("空アイコン")) マウス(G_IMG_X + 20, G_IMG_Y - 64) ELSE MSGBOX("本日レースアイコンが見つかりません") EXITEXIT ENDIF //END 本日レースアイコンクリック ここを削除してレース画面を出した状態でUWSCを起動で良いと思うけど でわ〜乙
197 :
名無しさん@お腹いっぱい。 :2008/01/31(木) 00:39:45 ID:mUjNsktP0
http://blog.livedoor.jp/uwsc/archives/cat_50008789.html WindowsAPI使っていろいろ頑張ってるけど
DLL呼び出すんならデフォルトでAPI使える言語使うよねえ?
>>197 // JaneDoe Viewの操作を補助する。
// スレを切り替えると自動更新し、最終取得で並び替える。
ID = GetID("JaneDoe View", "TMainWnd")
prev = GetSTR(ID, 1)
while 1
sleep(0.1)
// アプリが終了された場合は連動して終了
if !IDToHND(ID) Then break
url = GetSTR(ID, 1)
ifb prev <> url Then
cnt = 0
str = url
REPEAT; cnt = cnt + 1; UNTIL "" = token("/", str, true)
ifb 4 = cnt Then
CLKITEM( ID, "《更新", CLK_MENU or CLK_SHORT )
prev = url
endif
endif
wend
>DLL呼び出すんならデフォルトでAPI使える言語使うよねえ? Win32API の実体は DLL なんだが… API のラッパーがデフォルトであるスクリプトってことか?
「uwsc.exe本体が起動していなければ起動させる」にはどうすればいいでしょうか? ↓で一応できるのですが「二重起動〜」のエラーを出ないようにしたいです。 EXEC("UWSC.exe") if GETID("Uwsc","TMessageForm") > 0 then ctrlwin(GETID("Uwsc","TMessageForm"), close)
そのスクリプトを実行すれば必ずUWSC本体が起動するだろ。
罠ツールに引っかかるなよ
なんだまた誰か引っかかったのか?
203 :
名無しさん@お腹いっぱい。 :2008/01/31(木) 14:41:21 ID:mUjNsktP0
>>199 uwsをuwsc.exeに関連付け
>>198 DLLから値を受け取るとき、あらかじめ" "空文字列を割り当てて受け取らないといけないけど
これが・・・
文字列処理でトークン切り出したりできるけど、何文字とか、一文字ずつとかそういう切り出し方ができないから
自由なサイズのバッファが割り当てられなくて不自由。
204 :
名無しさん@お腹いっぱい。 :2008/02/01(金) 23:36:32 ID:i3E3nVsIO
馬券ツールのいい設定ないですか? 全然儲からない
小倉やれよ小倉ダート短距離 東京は開幕週だから様子見
繁殖牝馬買いツールupしてください
PASSがわかりません>< ヒントください^^;
>>208 あなたのペットの名前を入力してください。
procedure 券種設定() select (券種) case "馬単" マウス(出馬表X + 670, 出馬表Y + 700) マウス(出馬表X + 670, 出馬表Y + 700) //念のため selend fend この座標ってどうやって調べるんですか?
三連複の座標知りたいのですがわかる人いませんか
UWSCの次のバージョンは公営賭博予測機能が付いているらしいよ。
214 :
名無しさん@お腹いっぱい。 :2008/02/08(金) 17:14:41 ID:sWr4gnPq0
繁殖牝馬購入ツールパス無しUPお願いします
tes
>214 繁殖をUPしたら自分にも悪影響するだろ そのくらい思いつけw
日本語でよろしくてよ。
誰か繁殖ツールもってない? 馬券ツールと交換しようぜ。
メールおしえれ あげてもいいよ
222 :
221 :2008/02/16(土) 08:03:07 ID:ITv1VbIn0
自己解決シマスタ
224 :
219 :2008/02/17(日) 21:26:04 ID:ViNre6rT0
スクリプトからカレントディレクトリを変更するのはどうやってる? 例えばあるプログラムをexecで実行するときにそのプログラムの有る ディレクトリに切替えないと設定ファイルをうまく拾わせられない場合とか。 ひょとしてWin32APIとかWscript.Shellとか使わなきゃだ目か? GET_CUR_DIRが有るから設定できるようにすべきだよな? あるいはEXECで実行時のカレントディレクトリ指定できるとか。 プリプリ。久しぶりに使うと機能の非対称性にむかつく。
>>225 DOSから実行すればいいじゃね?チェンジディレクトリでカレントフォルダにしたい場所に行って、次もDOSからプログラムを実行させるとか。
2つにに分けると動かしたいプログラムは実行ファイルのあるフォルダがカレントフォルダになるから、改行を含める時の <#CR>使ってやるとか。
実際やったことないからわからんが。
>>225 作業ディレクトリを指定してプログラムを実行する必要があるとき
俺はおとなしく API 関数の ShellExecute() 使ってるよ
初歩的な質問で申し訳無いのですが、UWSCに特定の作業を実行させているときに UWSCと対象のソフトを動作させつつ別のソフトを操作するといったことはできますか?
>>228 ユーザビリティインターフェース(ACC)を使うと、実際に人がマウスとかキーボードを使って操作するのと同じになるので無理だけど、
MMV、KBD、SCKEYとかを使わず、ACCも明示的にfalseにすれば可能。
ただし、ダイアログなどを開くと、新規ウィンドウということで表に出てきてしまう。
230 :
名無しさん@お腹いっぱい。 :2008/02/28(木) 14:43:57 ID:o/wI0HN+0
メイプルストーリーってゲームではUWSCを使ってマクロできるんですか? よければ教えてください。
232 :
名無しさん@お腹いっぱい。 :2008/02/29(金) 14:52:40 ID:szipRSHv0
uwsファイルを開こうとすると文字化けするんですけどどうしたらよろしいですか?
googleやショップなどの検索結果で 検索結果の一番上をクリックするスクリプトを作りたいのですが ド素人のためわかりません Tab移動も考えたのですがバナーなどでTabの回数が変わってしまい 思うようにできませんでした どなたか教えていただけないでしょうか?
>>234 ちゃんとやるならソース見るしかないと思うけど、
画面レイアウトの見た目を利用するなら、
たとえばGoogleの検索結果は「ウェブ」って文字のちょうど下あたりから検索結果のレイアウトが始まり、
タイトルと抜粋以外はインデントされた場所にある。
つまり、ウェブって文字の位置を探して、そのへんからマウスを下に移動しつつクリックすれば最初の検索結果を拾える。
あんまりくりくりしてると、ページの表示が遅い場合何度もくりくりしちゃったり、
2番目以降のやつまでくりくりしちゃうかもしれない。
そこは、ブラウザの表示の完了チェックを利用して、作業中に入ったらクリックをやめるとか、
もしくは、マウスをゆっくり移動だけして、ステータスバーに表示されるリンクアドレスを使ってNavigateするとかする。
見た目を使うのは検索結果がいくつあるか不確定だし勧めしないけど、
最初の1件ってことなら、あんまり手間をかけてもしょうがないしね。
見た目は見た目でも、たとえば「次のページ」とかいう特定のリンク名はいいんだけど、
検索結果のタイトルはまちまちだからね・・・
236 :
名無しさん@お腹いっぱい。 :2008/03/05(水) 17:06:28 ID:vWoOvQ8M0
>>236 VMwareを使わない方法は、今は出来ない。これからも多分できない。
ツールの提供が終わった。
最後に出たツールは、画面を取れなかったので自動回復ができなくなってた。
UWSCでのマクロは画面を見て判断するから。
海外のマクロツールでメモリを参照して動くやつがあるけど、
プロテクトを回避できないからやっぱ無理。
>>235 234です、ありがとうございます!
このようなやり方もあるんですね。
できればCOMを使ってやりたいのですが、
Windowsマクロテクニックを見ただけではできそうにありませんでした。
もうすこし修行してみます。
誰か馬券ツールうpしてくれ
はじめまして。uwsc初心者です。 自動化したい動作をuwscで記録して保存したのですが、 これを指定回数分だけ繰り返すにはどうしたら良いのでしょうか? どなたか御教示いだだけませんか。お願い致します。
>>241 色んな方法があるけど条件分岐とかなければ手っ取り早いのはREPEAT
A = 1 //変数Aを宣言(Aは1) ゼロからでもいい
REPEAT //リピート関数の宣言
A = A+1 //変数Aを変化させる(Aは2)
//記録した処理をここに記載する
UNTIL A > 20 //リピート関数の終了条件 Aが20になるまでREPEATまで戻る 繰り返し回数をここで調整
fend //終わり。お疲れ様でした。
>>241 回数が決まってるならfor
配列の添え字に何を使うかがこれで明確に分かる。
s[] = 1, 2, 3, 4, 5, 6, 7, 8
for i = 0 to length(s) - 1
print s[i]
next
>>244 Repeatは、1行に書きやすいし、少なくとも1度はsleepを入れたいような例の
IEの表示終了待ちには最適なんだけど、
配列データなど、余分な動作をしてはいけない場合には使っちゃいけないんだな。
そういうときはWhile
whilt FALSE
wend
これでループの中は実行されない。
UWSCのwhileとuntilは、ループ終了判定が前後逆だけじゃなく、判定自体が逆なのに注意。
>>241 です。皆さんありがとうございました。
何とか望み通りの動作を実現できました。
こんな便利なものがフリーでいいの?って感じです。
作者さんとスレの皆さんに感謝!
>>248 そうだよね
これでフリーなんだから凄いよね
しかし!
私は今まで何百個と”自動”オート”マクロ”スクリプト”と名の付くツールは
海外も含めて色んなものを試してきたけど
WEBで使うならシェア払ってRECIEがいいよ
座標でやってるツールがおもちゃに見えてしまうくらいRECIEは凄い
ヘルプで命令を解説するのに命令を使って説明するとか
初めはなんて不親切なツールなんだっておもったよ
動作を記録する時もショートカットキー使えないしね
まあ不満はいっぱいあるけど
インターネットエクスプローラー上で自動操作させるのならUWSCにシェア払ってRECIEが一番だよ!
マジで^^
私は正規ユーザーになってすぐのときに
本家の掲示板で色んな質問しまくったので出入り禁止なんだけど
それでもこのツールが世界一だとお勧めできるよ^^
シェアウェアーとしての金額は少々高く思うかもしれないけど
いろ〜〜〜んなツールと比較してもこれが一番安定してると思うよ
ただ初心者に厳しいんだよね
私がいっぱい知ってたらいくらでも教えてあげるんだけど
私も超がつくほど初心者なもんで^^
これからもよろしくー
UWSCでって当たり前だけど ClkItem使って自動でリストを選択してるんだけど、クリックしたことになっていても実際にはデータ的に選択対象にしただけらしく、 画面に表示されるためにはそこからTABキーを送ってフォーカスを移動してやらないといけない。 これで見た目はクリックして選択したのと同じになるはずなんだけど、 「登録」をクリックしてやると、そのリストを選択しろって言われる。 自動選択後、手でもう一度クリックして開いてやるとちゃんとなる。 マウスでクリックをしたかをチェックしてるっぽい。 けどキーでの移動、選択もできるはずで、TABキーの送信はしてるわけだけど、フォーカスが最初からそこにあるからだめなのかな。 そっからさらに移動してやればいいのか・・・ 他のコントロールと依存しないためには、TABで移動した後Shift+TABで戻ってくるのがよさげだけど あと、IDの重複チェックすると入力したデータが消えるから、ID入力後、クリック作業でとめてる。 そこまでやっても、パスワードが入力されてないだか間違ってるとか言われる。 文字数はちゃんとあってるのに・・・
■■■■■■■■■■■■■■■■ ■ ■ 違う板にコピペすると、四角の枠の中に ■ ■ メッセージとURLが現れる不思議な絵。 ■ ■ ■ ■ (その仕組みがリンク先に書いてある) ■ ■ ■ ■ この原理を応用すると、まったく新しい ■ ■ コピペが作れる予感。 ■■■■■■■■■■■■■■■■
.AA.uwsというスクリプトが現在作動中かどうかを確認する方法は何かないでしょうか
タスクマネージャーから確認出来る つまりDOSCMDで出来るだろう
レスありがとうございます しかしタスクマネージャーの内容の取得をDOSCMDでできるのはXPだけか… Win 2kユーザーの自分はタスクマネージャーを起動してGetItemで使用中のアプリを取得することにします
UWSCでファイルコピーて出来ますか?
258 :
名無しさん@お腹いっぱい。 :2008/03/23(日) 15:07:27 ID:qXkMmNCq0
記録して保存しようとしても 「保存すべき有効データがありません」 と出るのだが。。
そうですか
>>258 じゃあ記録できてないんだろう。
ゲームガードのかかったゲームを対象に操作しても記録できないよ。
261 :
名無しさん@お腹いっぱい。 :2008/03/24(月) 16:14:35 ID:3lfUTHvJ0
>>260 ゲームじゃないんですけど。。
何か対処法はありませんかね・・。
UWSCを使うと ウィンドウを最前面にするソフト(WinMagnet,Ace-Window)が 機能しなくなるんですけどどうすればいいのでしょう? UWSCを使っても最前面化が機能するソフトなどあれば教えて欲しいです。
>>262 UWSC設定画面のうえに(W)ってあるけど起動オプションかな?
誰かUWSCの教科書かいてくらさい
小林シンヤ氏の本だけでは解決できないこといっぱいあるんだよね
P26あたりが起動の説明してるけどオプションはわかんなかったよ
264 :
261 :2008/03/24(月) 20:07:29 ID:3lfUTHvJ0
誰か対処法を・・・。
漏れもシンヤの本買ったけどほんと糞。 掲示板のほうが詳しく載ってるしかってそんした。 みんなも注意するように。分からないことはヘルプと掲示板で十分。
>>261 http://scripts.web.fc2.com/VMware/ VMware+GameGuardで操作を記録することが出来ない環境でも、
マウスクリックしたりキー入力したりは可能。
もちろん画面のレイアウトが変化したら何も出来ないけど、
固定レイアウトなら対象アプリをAlt+PrintScreenでキャプチャ、ペイントに貼り付け、
マウスをもってってステータスバーに表示される対象座標を記録して
自分でBTN( X, Y )って記述。
サイコロマクロでは、フォントが固定なのを利用して数字を読み取ってる。
ただし、座標がクライアント座標じゃなくウィンドウ座標なので、
メニューを表示してるときと表示してないとき、
IEならボタンの大きさとかルビっぽく名前を表示したときと横並びにしたとき、
ツールバーをいくつ重ねてるかでまったく座標が変わってくるので使えない。
サイコロマクロでもメニューの表示・非表示の状態を読み取っている。(なぜか失敗するけど)
保存するときファイル名に変数使うサンプルどっかにないですか?
MOUSEORG(GETID("xxx"), 2) を使ってバックグラウンドに直接キーを送りたいのですが ifb CHKIMG("1.bmp")やBTN(left,CLICK, X, Y)は反応するんですが TABや数字キーがきかない場合はどう記述したらいいでしょうか? よろしくお願いします。
WindowsLiveMessengerインスタントメッセージの送信欄にsendstrを使って文字を入力したいのですが、うまくいきません。 id = GETID("テスト-会話","IMWindowClass") 文字 = "テスト" while ! GETKEYSTATE(VK_ESC) sleep(1) sendstr(id,文字,1) wend どうすればいいのでしょうか?よろしくお願いします。。
272 :
269 :2008/03/30(日) 15:47:24 ID:Gsnd956S0
>>271 sckey()使うとTAB送信ができました ありがとうございます
これ送信するたび指定ウィンドウがアクティブになるんですね
最初にMOUSEORG(GETID("xxx"), 2)で非アクティブで動作させてるので
そのままアクティブにせずに送信する方法ありますか?
よければアドバイスお願いします
273 :
269 :2008/03/30(日) 16:35:13 ID:Gsnd956S0
色々調べてみたところ sckey コマンドはウィンドウをアクティブにしなくても送信できる、のと 強制的にアクティブにしてしまうと2っの説明を見たのですが・・・どっちでしょうか? たとえば↓みたいなものを繰り返すとTABだけアクティブになってしまいます。 While True MOUSEORG(GETID("***"), 2) SCKEY(GETID("***"), VK_TAB)] sleep(1) KBD(VK_t,DOWN,30) KBD(VK_t,UP,30) sleep(1) wend
>>273 SCKeyは、アクティブでなくても使えますが、使うとアクティブになるようで。
kbdでは基本的にアクティブウィンドウに送信するので、
確実に送信する方法としてsckey()は使えると思います。
mouseorgで送信可能ならそちらを使われたらいいのでは。
Down,Upのタイミング調整は難しいので
可能ならCLICKを使ってsleepを前後にはさむのがいいと思います。
kbd関数で長い時間を指定しても、その間CPU使用率が高くなり、
反応の遅いアプリケーションではキーボード入力を読み飛ばしたりするようです。
これを避けるにはsleepを使って操作対象アプリにCPU時間を譲る必要があります。
僕がkbd()を使うときは↓のようにします。
sleep(0.1); kbd( VK_a )
sleep(0.1); kbd( VK_b )
sleep(0.1); kbd( VK_c )
sleep(0.1)
また、入力間隔0.02秒くらいのシビアなタイミングで文字列を入力する場合、
文字列の入力完了が少し遅れるので、入力後十分な待ち時間が必要になります。
for i = 0 to 30
sleep(0.02); kbd(VK_a)
next
sleep( 0.3 )
275 :
269 :2008/03/31(月) 04:41:59 ID:3JjAsQe20
>>274 詳しくありがとうございます
大変参考になりました!
mouseorgではやっぱりTABやFキー等がきかないみたいです
が、なんとか目的通りにできそうです
スケジュールって上から消化されていくのかな? あくまでも 0時基準? インターバル2分を3個いれたら どないなるの?
>>276 普通インターバルって言えば間隔を言うけど、
0時基準なら、たとえば1時間のインターバルといえば00分丁度に実行することになる。
同じ間隔で複数入れた場合、それらが全部同じタイミングで起動されるだけだろ。
ゲームで自動ツールを使っています 昨日まで使えたのですが今朝から不具合がでました 途中までは今まで通り使えますが、ファイルプログラム最後に値するマウス動作が、クリックするのですがゲームでは認識せず、ずっとクリックした状態で次に進めません。 ツールを閉じて手動でクリックならできます 誰か教えてください
ゲームじゃないんだが、UWSCを使うにあたって 外部ツールとして認識させなくする方法はないのかな? ちょっと他のプログラム立ち上げつつ、使用しようとしたところ 外部ツールとして認識されてしまう=使えなくなる。といった症状。 誰かわかる人いたら、ある程度は自分で出来るんで、ヒントお願いします。
>>278 クリックって実はむずかしいんだ。
この画面でこうしたらこうなるから次にこうして・・・
っていうのを、何をするかを書いているけど、
本当に期待するとおりの画面が出ているか確認しなければ、確実な動作はできない。
クリックの操作をゲームが受け付けなかったのか
タイミングがずれてクリックしたために操作できず、
そして別の処理をしようとしてとまっているのか・・・
もし次の画面を待っている状態でとまっている場合は、
スクリプトは中断せずに、手動でその操作をもう一度やってあげればいい。
確認するために、どこを実行中なのかFukidasiするかPrintするかしてみたら。
待つ方法が分からなければ、sleep()をはさんで何度か繰り返すとか。
繰り返して問題がない操作ならそれでいける。
279のスレ、私も興味あります ヒントではなく、答えを教えてください
GR
GRにはウイルスが入ってるからやめとけ
入ってないよ( ^ω^)
281のレスが答えなんですね、ありがとございます ヤフーで検索すれば出てきますか?これはツールみたいなものなんですか? もうちょっと詳しく教えてくれると助かります
いや、まず検索してみろよ
なんとなくだが
>>288 には到底無理だと思うがひとつヒント
外部ツールとして認識させないで操作を自動化するということが
つまりどういう原理で操作することを意味するか
まずそこから考えてみよう
そうすれば自然とどういうツールの応用でできるかわかるはず
これでわかんないなら無理
GameGuard無効化したらアカバンされるんじゃないのか。
>>291 なぜ垢バンなんですか?
無効か有効かなんてわからないんじゃ?
ゲームに影響与える外部ツールはまずいと思うが、自分だけで楽しむ外部ツールならいいのでは?
そもそも、無効にして垢バンされるということは、無効化ツールの意味がないじゃんかよ
そこまで言わなくても良いとは思うが ゲームの外部ツール絡みの話は 別の所でやってほしい
最近、無料ネトゲに群がるアホ共ばかりな気がする… 質問もそっち系ばっかだし、ヘルプすら読んでないレベルだし
というかUWSCと関係ない話題になってるしな
記録したものを
>>244 のRepeat〜Untilでループさせているのですが
ループ回数によってキーボード入力を1 2 3 4と変えていくにはどのようにすればいいのでしょうか
KBD(VK_1,CLICK,438)
↑この部分をループ回数によって2 3 4と変更
>>244 のA=4の場合4を入力
>>297 VK_1 で定義されてるのは数値で、
VK_0〜9 まで連続しているので
VK_0〜9 は、 VK_0 + 0〜9 で表現できます。
iのループで次のように書きます。
KBD(VK_1 + i ,CLICK,438)
検証コード
print "(VK_0 + i)"
for i = 0 to 9
print (VK_0 + i)
next
print
print "VK_x"
print VK_0
print VK_1
print VK_2
//省略
print VK_9
sleep(30)
>>298 ありがとうございます
ifbを使って3桁入力を作ることができました
ゲーム中にprintscreenでSS撮っても真っ黒になるんですけど (ゲームのSS用のキーを押せばゲーム内フォルダに保存される) これって画像判定させない為のなんかですかね? いちよSS画像見て作ってみたけど作動しないんで
DirectXで書いてるからかもしれないし、妨害してるからかもしれない。
>>297 >>298 >>299 自分も行頭に番号付けたりしてみたいんです
すませんがお手すきのときにでも
そのものズバリ教えていただけないでしょうか
1行目に0001
2行目に0002
以降1づつ加算していく
よろしくお願いします
文字列生成なら文字コードいじるよりも効率的な方法があります。
http://scripts.web.fc2.com/MySource.htm Class key は、パスクラ用に1文字から順に文字の組み合わせを作りますが、
k[] = 1,1,1,1,0,0,0,0,0,0,0,0,0,0
とすれば0001からの文字列を生成すると思います。
9999で止めるには呼び出し回数を決めるか、生成文字数をチェック。
汎用的にするためには、メンバ関数を追加します。
Procedure reset( 桁数 )
for i = 0 to length(k) -1
Ifb i < 桁数 Then
k[i] = 1
Else
k[i] = 0
Endif
next
Fend
数字の組み合わせだけなら
dim s = "0123456789"
とするだけです。
桁数固定で0001から始まるならこれでいけますが、
このクラスは組み合わせを作るだけなので、予定桁を超えるときには使えません。
たとえば、99の次は000に戻ります。
桁数に関わらず1ずつ増加する文字列を作るには、k[]の配列ではなく、
普通に数値をformat()関数に渡すだけなのでわざわざクラスを作る意味はありませんね。
ただ、標準のformat()は頭の0は空白になるので、0001から始まる場合は上記クラスも使えると思います。
304 :
名無しさん@お腹いっぱい。 :2008/05/01(木) 01:16:43 ID:HTs8AX2Y0
秒で取得した時間から時、分、秒を取り出すやり方で単純にやるほうがいいかも。 数値 i から2桁目を取り出すには x = i %100 / 10 xは数値なので、0の文字コードにxを足す。 asc("0") + x キー入力ならkbd()に上記を引数にするだけ。 kbd( asc("0") + x ) そのまま文字が欲しければ chr( asc("0") + x ) 文字列なら順につなげていくだけ s = s + chr( asc("0") + x )
>>303 数値をフォーマットするなら FORMAT() してから
半角スペースを 0 に置換する方が簡単だと思います
OPTION EXPLICIT
DIM i
FOR i=1 TO 1000
PRINT format_digit(i, 4)
NEXT
// 数値をフォーマットする
//
// 引数 : num - 数値 [入力] - フォーマットする数値を指定する
// 引数 : col - 数値 [入力] - 桁数を指定する
// 戻り値 : フォーマットされた数値を文字列で返す
FUNCTION format_digit(num, col)
RESULT = CHGMOJ(FORMAT(num, col), " ", "0")
FEND
なるほどそうか。
はじめまして。初めて扱うので至らない部分が多いかと思いますが 宜しくお願い致します。 自分でスクリプトが組めるのは分かったのですが 次の場合、どう構文を書いたらいいのか分かりません。 「出来ました。」 と言う文章が文字列として画面に出た時に キーボードの下を押す。 「出来ませんでした。」 と言う文章が文字列として画面に出た時に キーボードのエンターを押す。 よろしくお願い致します。
308 :
名無しさん@お腹いっぱい。 :2008/05/03(土) 10:04:31 ID:7QZ7Y3JG0
「出来ました。」 と言う文章が文字列として画面に出た時に の部分をもっと具体的に示さないと無理 何のアプリでどういう状況でそのメッセージが出るのか詳しく
数分に一回キーボードの0を押す作業を自動化したくてここに辿り着きました nProでガードされているネトゲですが戦闘に必死で0を押す作業を時々忘れます 5分に一回0を押さないといけないのですがどうすればいいでしょうか 戦闘そのものはゲームパッドとJoytokeyで手動でやっております ネトゲの話題だと荒れそうで申し訳ありませんが、なんとかしたくて^^:
キーボードの0に、5分に1回ピストンする何かを装着すればいいんじゃないかな
311 :
307 :2008/05/03(土) 16:48:31 ID:nIO9bm+O0
>>308 会社独自の確率計算のプログラムなのですが
Aと言う状況に対してBと言う行為をした場合
その結果が商品として使える数値なのか否か
と、言う感じなのです。
Bの数値(手入力)によって「出来る」・「出来ない」が
別ウィンドウで出てそれをエンターで処理したりするので
>>307 の状況の質問をさせて頂きました。
1.スクリーンショットで 「OK」「NG]のウインドウをbmpで保存、 CHKIMG("ok.bmp")で、それが画面上に出ているかどうかを判定 IFB CHKIMG("ok.bmp") THEN okの場合の処理 ELSE IFB CHKIMG("ng.bmp") THEN
ngの場合の処理 ENDIF ENDIF OK、NGの別ウインドウが毎回同じならbmpは丸ごとウインドウを保存すればいいが、 どのファイルがOKだとか、毎回違う情報がそこに出るようなら「OK」「NG」のメッセージの部分だけをbmpにする この方法はほんの一例でCHKIMGでなく、GETIDで指定のウインドウ名、クラス名のウインドウが表示されているかどうかで判定する方法もある。
> キーボードの下を押す。 キーボードの下に何が有るか明確にしなければ良い答えは得られない。 うちは未だにコタツ。
お世話になります
>>302 です
行頭に整理番号の入力の仕方まだわからないんです
>>298 さんの
検証コード
print "(VK_0 + i)"
for i = 0 to 9
print (VK_0 + i)
next
print
print "VK_x"
print VK_0
print VK_1
print VK_2
//省略
print VK_9
sleep(30)
これを実行するとプリント窓に
(VK_0 + i)
48
49
〜省略〜
56
57
VK_x
48
49
50
57
となります
0001から順に9999までの方法をサンプルで教えていただけないでしょうか
よろしくお願いします
>>315 その数字は文字コード。KBD()で操作するときに使う。
でもこの場合は
>>305 が簡単
for i = 1 to 9999
print CHGMOJ(FORMAT(i, 4), " ", "0")
nexe
>>316 さん
ありがとう
printできました!
何度もすいません
>>315 です
スレ違いになるかもしれないんですけど
どなたかわかる方おられましたらお願い致します
Windowsの設定なのかもしれないけど
>>316 さんに教えていただいた0001〜9999までprintしたものをエディターにコピしようとすると
print窓からコピしても214行分だけコピするんです
9787〜9999はコピするんですけど0001〜9786はないんです
(print窓には0001〜9999まで記載されているんですけど)
これはバッファとかいうの設定でしょうか?
テストとしてIEでヤフオクの情報を5000行ほどprintしてコピしてみたら
エディターにはちゃんと記録されて保存もできました
なぜなんだろうか??(´;ω;`)
どなたかわかる方すいません
スレチだったらごめんなさい
319 :
名無しさん@お腹いっぱい。 :2008/05/06(火) 15:21:55 ID:NM2S3mo50
>>318 マルチかな?
とりあえずprintの代わりにSendSTR使えばおk。
今の流れ print → print窓 → クリップボード → エディタ
おすすめ SendSTR → エディタ
ただし、エディタに吐き出すのは時間がかかるうえにクリックするとデータが壊れるので、
メモリ上で連結していって、完了したらまとめてエディタに送るって手もある。
こういう初心者はいつでもいるけど最初の説明が不足してるんだよ AからBに行きたい。自分なりに考えたステップが1〜5の5段階あった 1,2はなんとか自分で出来たけど3が分からないから質問しよう 「3をやりたいんですけど教えてください」 で、ようやっと解決したと思ったら 「4でつまずいたんで教えてください」 最初から「AからBに行きたくて自分なりに1〜5まで考えました 1,2は自分なりに解決できたんですけど3が出来ませんでした」 って質問したら、実は『1->5って一発で出来るよ。』って 解決方法を教えて貰えるかも知れないだろ
>>319 さん
あそこで詳しくありがとうございました
print関係なんですが微妙に質問が違うのでわけて聞いてみたんです
紛らわしくてすいません
むこうの
>>499 はキー操作を聞いていたんです
お陰さまでSendSTRにて行頭に整理番号を付けることができましたありがとうございます
こちらの質問はprint窓のコピなんです
むこうの
>>501 でprint窓のアクティブについて聞いちゃったので
やっぱりマルチになっちゃいました。すいません。
print窓はアクティブになっているようなのですが
printされている全体をコピできなかったので質問させていただきました
最後から214行分しかコピできないのがわからなかいままなんです
何も取得できなければアクティブにできていないと考えれるのですが
一部はコピするのでメモリ関係なのかと思いながら質問しました
紛らわしくて申し訳ないです
すいません
322 :
名無しさん@お腹いっぱい。 :2008/05/12(月) 17:27:40 ID:KZd8xa1A0
テキスト化した画像の自動描画をペイントかなんか使ってやってみようと思うんですが、 正直どこから手をつけていいか分からないです。 詳しい人助けて下さい
自動描画って何?
テキスト化した画像って何?
詳しい人って何?
結局ネタだったのか
これって具体的にどういうのに使うの?
WindowsXPって具体的にどういうのに使うの?とか聞かれても困るだろ そんなアバウトな質問されても困るだろ…普通
329 :
名無しさん@お腹いっぱい。 :2008/05/31(土) 21:53:59 ID:gh5LiKI40 BE:1554555078-2BP(802)
>>327 フォトショップを使って、幾つかの合成画像を作りたいとする。
合成する写真を全部開いて、以下の操作を行う。
1.全画選択する。(ctrl+a)
2.コピーする。(ctrl+c)
3.そのウインドウを閉じる。(ctrl+w)
4.今アクティブになってる画像に貼りつける。(ctrl+v)
これを、必要なだけ繰返すのだが、メンドクサイので、UWSCで、1〜4のキー操作を順番にやってくれる様にする。
ウマー!!
あ?あれ?
動かない。・゚・(ノ∀`)・゚・。
>>329 場合によってはImageMagickのほうが簡単じゃないか?
>>332 単純合成では無いから。
必要な部分を切り取って、思考錯誤で位置決めするから。
レイヤーに分かれてた方が、都合が良いから。
でも、問題は、動かなかった事だ。w
334 :
名無しさん@お腹いっぱい。 :2008/06/01(日) 06:40:15 ID:T/AjOiha0
>>329 フォトショップの標準マクロで出来るだろ?
>>334 あ、フォトショップの話になるとは思わなかったので書かなかったですが、98SEでエレメンツなんです。
>>329 正直どういうふうに動かなかったか書いてくれないとわかわん。まったく動かないならGetID失敗してるとかじゃね。
これでスパム撒き散らすなよ。
UWSCではないだろうがスパムの大半はスクリプト自動で送信しまくっているはずだ
マッドサーファ有名でつ
マッドサーファーはアド収集で有名ね
341 :
名無しさん@お腹いっぱい。 :2008/06/02(月) 02:16:07 ID:mRHoAgXb0
スパムとかはネイティブで動かないとメモリ食いすぎるし遅すぎるし こんなスクリプトでスパムやってるやつなんかいても影響ないよ。
言い訳するな。止めろ。
343 :
名無しさん@お腹いっぱい。 :2008/06/06(金) 23:15:33 ID:3EoyASz60
ちよよ氏の自動で地方カー伝のやつがならなくなった・・・みたい? たぶん座標が変わったと思うんだが、だれか教えてください
344 :
名無しさん@お腹いっぱい。 :2008/06/07(土) 06:09:24 ID:9D62L0dl0
そんなゲームしらね 本人に聞け。
UWSCって今も裏マクロとして起動できないですか? 追加プログラムで可能なら教えてくださると光栄です
>>343 それ、でっかい人が配ってたやつじゃね?
つかスレ違い。質問スレか本スレ池
そもそもこのレスが亀orz
MSNメッセンジャーを終了させる事できますか? おもしろがって、いろいろやってるんですが、これが出来なくて悔しいです。w
同様の機能を持ったフリーソフトってあるけど、画像で判断する機能があるのってUWSCだけ?
UWSCproを随分前に購入して新バージョンをインスコしたんだが 登録OKのはずがファイルをEXE化して実行すると「試用期間の〜」と出る。 登録は合ってるのになぜだ・・・
>>350 なんかEXE化したバージョンのProが正式インスコされてないといけないらしいね。
古いバージョンでEXE化したやつだったりしない?
どなたか競馬伝説の馬券ツール使ってる方おられませんか? 昨日のメンテ後から本日の〜が見当たりませんって出だして買えなくなってしまいました。 もうこのEXE化したやつでも使えなくなってしまったんですか?
>>352 馬券ツール作った奴に直接聞けば?
つか、そこ行けよ。
355 :
名無しさん@お腹いっぱい。 :2008/09/11(木) 20:34:09 ID:V4AKDKsu0
>>354 352です。
あの小さい虹みたいな四角ですね。
座標ばっかり書き直してました。
作り方調べてやってみます。
助かります。本当にありがとうございます。
そんなツール使って勝てるわけねぇじゃん。 馬鹿じゃないの?
357 :
352 :2008/09/12(金) 03:00:49 ID:BfeP7cHC0
>>356 馬鹿です。申し訳ありません。パソコンの知識もありません。
勝てないからこそ、せめて資金集めの負担を減らしたいのです。
他に聞けるとこがないので、高度な知識を持っている方が多いこちらへ藁にもすがる気持ちで参りました。
今しばらく見逃して頂けるよう宜しくお願いします。
>>354 空アイコン.bmpを作ることすらままなりませんでした。
ゲーム内画面の本日のレースとか書いてあるアイコンを右クリックの新規作成→ビットマップイメージでよろしいんでしょうか?
これを見かけられたら、お時間のある時にでもお答え頂けると助かります。宜しくお願いいたします。
最後にこちらのUWSC板を見られている皆様、UWSCの技術より前段階の相談の書き込みをしていること、申し訳ありません。
今しばらくご容赦頂ける様、宜しくお願い致します。
>>357 > ゲーム内画面の本日のレースとか書いてあるアイコンを右クリックの新規作成→ビットマップイメージでよろしいんでしょうか?
文章が悪いんだか分かってないんだか分かりませんね。
エクスプローラーのファイル一覧のところで右クリック−新規作成−ビットマップでいいです。
ゲーム画面をキャプチャ可能かどうか分かりませんが、キャプチャするにはPrintScreen
またはAlt+PrintScreenでクリップボードにコピーします。
それをペイントに貼り付けます。
このままでは大きすぎるので、Ctrl+Aで全範囲選択状態でドラッグして
アイコンとする部分を左上に持って行きます。
左上の位置が決定したらESCで選択を解除。
「変形」−「キャンパスの色とサイズ」で幅、高さをとりあえず100、100に設定します。
ほどほどの大きさになったら、あとは右下のドットをドラッグしてサイズを調整します。
これは余計なドットが1ドットでも入ってはいけないので、
「表示」−「拡大」で拡大して作業します。
あとはビットマップ形式で保存したら完了です。
359 :
352 :2008/09/12(金) 08:42:29 ID:Dw57Sz1Z0
>>358 文章も悪いんですが、全くわかってないのです。PC関連ど素人なんです。誠に申し訳ありません。
お忙しい中、詳しく書いて頂き本当にありがとうございます。早速やってみます。
PCに詳しい必要など全く無いが馬券を買わないでレースだけ楽しむのが一番いいと思う。 馬鹿じゃないの? > 馬鹿です。 これじゃ、馬鹿じゃないの? って書いた方が馬鹿だしかなり凹む。
なんか勘違いしてるやつが居るみたいだが、 競馬伝説ってただのネトゲだぞ
いつまでスレ違いの話題で盛り上がってるんだ・・・
364 :
名無しさん@お腹いっぱい。 :2008/10/17(金) 23:59:29 ID:Fl3pFTqy0
uwscをオンラインゲームで起動しても、裏で動いてるだけでオンラインゲーム内で動きません;; どうしたらいいでしょうか?
366 :
名無しさん@お腹いっぱい。 :2008/10/18(土) 00:05:56 ID:QePiLnFd0
nProがあって無理なんですよ・・・・
i8IXgR If your funds are limited simply print up business cards and flyers and post them wherever you go,
http://frenhmesh.cn/gaylemoher.html Gayle Moher
, 4368,
http://frethmesh.cn/superalexx.html Superalexx
, =[[,
http://frephmesh.cn/pamchicagoharley.html Pam Chicago Harley
, lwxn,
http://frewhmesh.cn/erotictravelerlostinecstacy.html Erotic Traveler Lost In Ecstacy
, 683,
http://frethmesh.cn/esabplasmacutter.html Esab Plasma Cutter
, viz,
http://frethmesh.cn/calciummolybdateindia.html Calcium Molybdate India
, 970763,
http://frephmesh.cn/volcquote.html Volc Quote
, =))),
http://frephmesh.cn/akanandslavetrade.html Akan And Slave Trade
, zooua,
http://frethmesh.cn/rainbowbubblenecklace.html Rainbow Bubble Necklace
, zxfpe,
http://frevhmesh.cn/quincyaircompressormodel325.html Quincy Air Compressor Model 325
, %-],
368 :
名無しさん@お腹いっぱい。 :2008/10/18(土) 00:12:20 ID:QePiLnFd0
回避方法ないですかね?
それは、アンチウイルスソフトを回避して、ウイルスプログラムを感染させる方法と同じだと思わない?
370 :
名無しさん@お腹いっぱい。 :2008/10/18(土) 00:24:31 ID:QePiLnFd0
最近やり始めたので全然わからなくて;; すみません;;
371 :
名無しさん@お腹いっぱい。 :2008/10/18(土) 00:28:29 ID:QePiLnFd0
すみませんが具体的に何をどうしたらいいのか教えていただけるとうれしいです 何もわからなくて申し訳ございません。
回避ツールと組み合わせればいいんだけど回避ツールの最新がもう一般には配布されてないだろ。
昔の話でよければGameResistanceでぐぐったら出てくる。
だからUWSCでのマクロはあきらめてBOT業者の有料会員になって購入すればいいんじゃないかな。
どこで売ってるかは知らないけど、
そもそも金を惜しまないのならゴーストリプレイとかあるわけだし。
http://www.internalsoft.jp/products/util/ghostreplay/about/ 初心者がチートを求めてネットサーフィンしない方がいいと思うよ。
本当にチートできるツールもあるけど、90%は過去の遺物だし
60%はトロイとかスパイウェアとかだし、
本物でもWindowsのファイルが壊れてリカバリする羽目になったりしたし。
なにより、チートしてる人間同士で騙し合いしてるからね。
初心者はいい餌食だよ。
373 :
名無しさん@お腹いっぱい。 :2008/10/18(土) 00:41:13 ID:QePiLnFd0
詳しく答えてもらってありがとうございます>< やっぱりお金は使いたくありません>< 親切にありがとうございます
NRm0of If your funds are limited simply print up business cards and flyers and post them wherever you go,
http://frerhmesh.cn/concretestemwallplywoodconstruction.html Concrete Stem Wall Plywood Construction
, eman,
http://freuhmesh.cn/gardenofsacredmoonbeams.html Garden Of Sacred Moonbeams
, dsoh,
http://frewhmesh.cn/lexansnowplowblade.html Lexan Snowplow Blade
, 4390,
http://freuhmesh.cn/montadalesheep.html Montadale Sheep
, 0605,
http://freqhmesh.cn/chromagar.html Chromagar
, sfy,
http://freshmfddfesh.cn/chemistrylabreporthesslaw.html Chemistry Lab Report Hess Law
, :-PPP,
http://frerhmesh.cn/ibmselectricparts.html Ibm Selectric Parts
, 346734,
http://frenhmesh.cn/realtorowensvillemissouri.html Realtor Owensville Missouri
, 773,
http://frethmesh.cn/nowegianrefugeescouncil.html Nowegian Refugees Council
, >:(((,
http://frevhmesh.cn/avalontheatereastonmd.html Avalon Theater Easton Md
, 03568,
http://frenhmesh.cn/bartello.html Bartello
, 8OO,
http://frephmesh.cn/cptgpkids.html Cp Tgp Kids
, tuxs,
SendSTR()には裏で動かすフラグがあるけど、 ClkItem()にはなかったのでAPI使いました。 DEF_DLL PostMessageA(HWND, DWORD, DWORD, DWORD) :Long :USER32 DEF_DLL GetDlgItem(HWND, Long) :Long :USER32 Const BM_SETCHECK = $00F1 Const BST_UNCHECKED = $0000 Const BST_CHECKED = $0001 PostMessageA( GetDlgItem(IDToHnd(GetID("タイトル")),コントロールID), BM_SETCHECK, BST_UNCHECKED, 0 ) 自分で作ったプログラムなのでコントロールIDが分かるけど、そうじゃないやつってどうやって調べるんだろ。 自分でプログラム作れるのになんでUWSC使うのかっていうとキーエミュを作れないからさ。
WindowControllerで調べられる。
現在、競馬伝説公式に記載してある通り、ツール等禁止されています。 352さん、何日かの垢停止、もしくは削除されますよ、やめましょう 無効化しても、必ずばれますよ みなさん、ご迷惑おかけしました
379 :
名無しさん@お腹いっぱい。 :2008/10/31(金) 22:31:41 ID:FemsXfaS0
すみません、初心者過ぎてどこのサイトを見ても分かりません。 例えば、 さしすせそ を連続で自動で無限に入力させるにはどうしたらいいんでようか?? KBD(VK_s)でs ですか??;−;
//ノートパッドに1秒間おきに”さしすせそ”改行を繰り返し書き込む、中止はSHIFTキー.uws exec("notepad") repeat sendstr(getid("無題","Notepad"),"さしすせそ<#CR>") sleep(1) until GETKEYSTATE(vk_shift)
>>380 僕が推奨する書き方
まあメモ帳くらいで負荷対策はいらないと思うけど。
STOPFORM(true) // ループには確実に止める方法が必要
ID = exec("notepad") // IDは1度取ったら使いまわす
if ID < 0 Then exit // 負荷が高い場合などID拾えないことがあるので
Repeat; sleep(0.1); Until Status(ID, ST_TITLE) <> "" // 負荷が高いとなかなか画面が出てこない
Repeat
sendstr(ID, "さしすせそ<#CR>")
sleep(1)
Until GETKEYSTATE(VK_Ctrl) // こっちのが押しやすい。連打もできるよ。
ちょっとアレだけど気になるので…
>>381 アンカーは
>>379 の方にした方がいいよ。
>>380 にしちゃうとイヤミが出ちゃうよ。
気に障ったなら謝るよ。<m(__)m>
383 :
380 :2008/11/01(土) 13:11:25 ID:nPZxKQVS0
>>381 >>382 他人様の書き方は参考になりますわ。
同時に録画、動画変換してたりすると、負荷が掛かって
出現するはずのウィンドウの出遅れ対策が必要なことはあるわな。
StopFormは使ったことなかったわ。
マルチステートメントは今時の書き方じゃないけどね
見てて恥ずかしくなるw
>>379 じゃないんですけど
>>380 さん
>>381 さん
物凄く勉強になりましたありがとうございます
みなさんこういう知識はどこで覚えるんですか
私はUWSCを解説したWindowsマクロテクニックという本しか持ってないです
そのような言語を勉強すれば
>>380 さんや
>>381 さんのように書けるようになるのか教えてください
387 :
381 :2008/11/01(土) 20:03:05 ID:OYOJEzMu0
>>386 UWSCのヘルプとか2ちゃんスレに本家、それからGoogle先生。
大事なのはWindowsアプリの仕組みを知って用語を覚えること。
そして検索の仕方。
ヘルプには検索タブで全文検索できるからそれが一番早い。
トピックを開いた後もう一度Ctrl+Fで検索しないといけないのはめんどくさいけど。
キーワードでの検索は関数名覚えてから。
関数名が独特だからGoogleでも関数名だけで普通にUWSCのサンプルコードが出てくるんだよね。
Status(ID, ST_TITLE) <> ""
これで画面の出現を見るとかゆってるけど、これについては無意味かも。
実証したコードじゃなくて思いつきで入れてみた。
実際に負荷かかったためにID取得できなくて対策したコードはこれ
最初からGetID()でしたほうが簡単かもしれないけど、Exec()でID取れれば
同名ウィンドウを間違って制御してしまう問題が起きないので。
ID = Exec("mspaint.exe")
while ID < 0 // IDが取得できるまで待つ
sleep(0.1)
ID = GetID("無題 - ペイント")
wend
IEで「名前を付けて保存」ダイアログを出すときに、僕はWindows APIの
GetWindow( IDToHnd(ID), GW_ENABLEDPOPUP ) を使ってるんだけど、
ハンドル取得時は実は「ファイルを開く」ダイアログとして起動されてコントロールできない。
これが少し待てば保存ダイアログに変身するので、それを待つためにタイトルをチェックしてる。
普通にUWSCの関数でGetID("名前を付けて保存") とすれば、成功した場合タイトルは一致してるので取得して比較とかは意味がない。
わざわざ複雑な方法を取るのは、同名ウィンドウで制御が止まる問題があるので、それを回避するため。
銚子に乗りました
>>387 さん
詳しくありがとうございます
要はウミウミさんのサイトとグーグルや2chで勉強したということですね
取りあえずuwscのヘルプに載っている関数は覚えていこうと思いました
ありがとうございました
まず普通のベーシックとかで勉強しろよ。 パイ損でも良い。
UWSCで勉強はじめるのが一番お得だと思うよ。 自分で一からアプリつくる野望は、いったん棚にあげといて、 既存のアプリのいいところをパズルのように組み合わせて、 自分のやりたい処理を実現する方がはるかに利益が大きいと実感してる。
いや、対話式で実行できるインタープリタ使った方が絶対にいいよ。
インタープリタって事はPythonかCINTかだな。 ていうかインタープリタのメリットって小さいよね。 ていうかUWSCは対話式ではないけどインタープリタだよね。
Pythonっていじったことないけど、ウィンドウの制御とか簡単にできるの? 関数と変数に日本語使えて、アプリケーションのウィンドウが制御できれば なんでもいいんだけどさ。PocketPcにも使えりゃいうことなし。
インタープリタで勉強する意味もあんまりない希ガス・・・ Windowsでアプリケーション作りたいなら、Visual StudioのC#かVBがいんじゃない? タダだし、デバッガで流れ追えるし、インテリセンスすばらしいし。 その気になればAPI呼べるからUWSCみたいなこともできる。
>>395 .net Frameworkのインストールに1GB。
開発環境のインストールに2GB。
インストール用の空きに2GB。
これだけのスペースを使う前にプログラムの基本のfor while 関数そしてクラスもどきを学習できる意味は大きいよ。
いきなり包丁とかガスコンロ使うのは危ないからおままごとセットを小さいころに与えて慣れさせるという知恵を忘れてはいけない。
でも今の開発環境って電子レンジと同じレベルなんだよね。
その電子レンジも今では高性能でいろんな事が出来る分説明書が厚く、 操作法も複雑で困る…昔ながらのトースターとかオーブンが懐かしい。
うちも冷蔵庫で開発しているよ。
399 :
名無しさん@お腹いっぱい。 :2008/11/05(水) 01:44:50 ID:8owMHcPu0
UWSCを今勉強しているのですが、 ウィンドウのタイトルバーのサイズ(特に高さ)を取得することって出来ますか?? と言うよりも、タイトルバーを除いた相対位置を指定したいのです。 そこだけが、どーしても、解決出来ず、 …もう泣きそうです。 どーかエロいヒトよろしくお願いいたします。。
MOUSEORG(ID, 1)
昨日からUWSCを試用させて頂いている初心者です カメラで録画したコードについて質問です よろしくお願いします クリックのタイミングについてコードではどのように記載しているのか知りたいです 下記のようなUWSCコードの場合 クリックするのはマウスが111,444に移動した瞬間(到達した瞬間)から数えて 0.5秒後(マウスは0.5秒待機?)に左クリック マウス左クリックした瞬間から9秒後にNキーをクリック Nキーを押してから0.6秒後にマウスは333,444の位置に0.07秒現れる これでいいでしょうか? MMV(111,444,500) BTN(LEFT,CLICK,222,444,9000) KBD(VK_N,CLICK,600) MMV(333,444,70) つまり マウスクリック後に9秒間待機なのか? 9秒間待機した後にマウスクリックでしょうか?
ヘルプには実行までの待ち時間って書いてあるよ。 あと、前後をPRINTでログ出力させたりすると実際に確認できるよ PRINT "1" KBD(VK_N,CLICK,5000) PRINT "2" これを実行したときに 1と出た直後にNが押されて5秒後に2と出るのか 1が出てから5秒立ってNが押されて2と出るのか
>>402 Printってよくわからないんですけど
実行までの待ち時間って事は
1のプリントが終わった瞬間から数えて5秒後にNキーを押すってことでいいですか?
もうひとつわからないことがあるのですが
バックスペースキーの4個左側にあるキー
- ←これなんですけど
どうやって押すのでしょうか?
ヘルプには定義済みのキーを色々書いてあったんですけど
キーの部分が英語なので
どれなのかわかりません
一応、下のようにして試してみたんですけどエラーになります
KBD(VK_<#DBL>-<#DBL>,CLICK,10)
- これの押さえ方知ってる方お願いします
>>403 です
訂正
キーの押さえ方がわからないのは
バックスペースキーの3個左
0(ゼロ)のすぐ右側です
シフトキーと一緒に押さえれば= イコール記号の出るキーです
本日は遅いので時間のあるときにでもお願いします
私も今から休みますm( _ _ )m
何度もすいません
>>404 です
押さえ方ヘルプに記載してました
VK_SUBTRACT
>>404 への解答は不要です
すいませんでした
406 :
名無しさん@お腹いっぱい。 :2008/11/05(水) 16:18:03 ID:8owMHcPu0
>>400 ありがとうございます!!
おかげさまで解決出来ました☆
え?教えてあげたから、指定の口座に金振り込めじゃと?
お世話になります先日質問させて頂きました初心者です またお聞きしたいことが出来ましたお時間のあるときにでもお願いします 指定した位置が赤色、青色、黒色のいずれかになれば動作を止めるようにしたいです 指定の色が表示されない間は作業の繰り返しを行い続ける IFB〜else〜enndifというのでしょうか複数の色に対応させ方がわかりません 今は下記のような感じで1色しか対応できていないです お手数をおかけして恐縮ですがどなたか修正お願いしますm( _ _ )m -------------------------------------------------- While x < 20 //テスト用繰り返し回数 Ifb PEEKCOLOR(500,600) = $ff00ff then //位置と色の指定 Sleep(0.2) print x + "回目に○色が出ました!終了します" //コメント表示 Sleep(0.2) EXIT //色が一致する場合EXIT→関数を抜ける else //色が一致しない場合はendifまでの動作をする Sleep(0.1) BTN(LEFT,CLICK,650,510,100)//ポイントAクリック Sleep(0.2) BTN(LEFT,CLICK,590,510,100)//ポイントBクリック Sleep(0.2) x = 1 print x + "回 完了です" Wend//繰り返しポイント endif print "お疲れさまでした。<#CR>全部で" + x + "回でした。" EXIT// 関数を抜ける EXITEXIT// 直ちにプログラムを終了 [終了コード]
>>410 >Ifb PEEKCOLOR(500,600) = $ff00ff then //位置と色の指定
orで複数条件を指定する方法
Ifb PEEKCOLOR(500,600) = $ff00ff or _
PEEKCOLOR(500,600) = $ffff00 or _
PEEKCOLOR(500,600) = $00ffff then //位置と色の指定
Resultに判定結果を返す関数を使う方法。関数は自作する。
Ifb IsEndColor(500, 600) then
Function IsEndColor(x, y)
Result = true
Slect PEEKCOLOR(x, y)
case $ff00ff
case $ffff00
case $00ffff
default
Result = false
Selend
FEnd
>>411 さん
早速のレスありがとうございます
>>410 です
or _ で増やしていけるんですね
trueかfalseを返すように自作することも出来るんですか
これは便利です
大変参考になりました
詳しくありがとうございましたm( _ _ )m
お世話になります また、お聞きしたいことが出来ました お時間のあるときにでもお願いいたします Printを最前面に表示させたいのです UWSCを動かせるとタスクトレイに格納されて Print窓も同時に見えなくなってしまいます UWSCを最前面の状態で動かせることは出来ないでしょうか? ヘルプボタンの上にある”設定”には「タスクトレイに格納(W)」はありましたが 最前面に固定するという設定はないでしょうか? Print窓が見えれば他の方法でも構いません ご存知の方おられましたら教えてくださいm( _ _ )m
414 :
名無しさん@お腹いっぱい。 :2008/11/20(木) 03:27:24 ID:2/xNyEEH0
最近UWSCを始めたばかりの者です。 現在テキストファイルにまとめて列記された文章を任意のまとまりごとに別のテキストファイルの文章の中の任意の部分にコピペするマクロを作ろうとしています。 最初は簡単にできるかと思ったのですが、どうしてもうまくいきません。 コピペする文章の最初と文末に何か印をつけて、印にはさまれた部分をすべてコピーするといった動作をUWSCでさせるにはどうしたらよいでしょうか。 ご教示よろしくお願いします。
>>414 UWSCで巧く行う方法を思いつかないのでアレですが。
どうもUWSCでやる事では無い気がする。
BASICとかでプログラム組んでやった方が良いのでは?
うまくいかないというのは、自分なりに作ってみたけど 想定した動作をしなかった場合に使う言葉であって さっぱり分からないので一から教えてください。と言う時に使う言葉じゃない
>>414 まとまりってのがどれくらいの量なのかわかんないけど
私があるリスト作ったときは秀丸とUWSCでやってみたよ
正規表現ちょっと覚えたらできた
UWSCだけでもできるかもしれないけど
とりあえず急いでいたので私は秀丸エディター使った
それは秀丸スレで聞いて操作をUWSCにやらせただけなんだけどね
任意のキーでスクリプトを開始させ、スクリプトが終わったらUWSCを終了させず待機状態にし 任意のキーで再度スクリプトを開始というマクロを作ろうとしています。 そこで質問なのですが、待機状態にさせるということはできますか?
あなたが待機状態と呼んでいる状態は どのような状態なのかがはっきりさたほうがいいのでは… なんで、UWSCを終了させたくないのか なんで、待機状態にさせたいのかが分からない 任意のキーでスクリプトを実行させたいだけならUWSCとは無関係な話になる
任意のキーで実行させるというのはできます。 待機状態というのは、スクリプトを開始させ任意のキーを押すまでの状態と言ったら伝わるでしょうか? これはスケジュールで設定してあげれば済む話なのですが、スクリプトで出来るのならば組んでみたくなりまして。 「UWSCを終了させず」は誤字で正しくは「UWSCを停止させず」でした。 待機状態にさせたい理由はスクリプトを実行する時が常にではないからです。
>>417 あー、適当な文字列で範囲選択できるテキストエディタを自動操縦するのか…
なるほど。
>>418 先人の方に教えてもらったものですが使えそうならドゾ
CTRLキーを押すまでUWSCは待機状態(Sleep0.1の繰り返し)になります
REPEAT; sleep(0.1); UNTIL GetkeyState(VK_CTRL)//「Ctrl」押すまで待機
Sleep(0.1)
>>421 秀丸はシェアウェアだから、サクラエディタをお勧めするよ。
検索キーワードを設定して、
1.F3で検索
2.Homeで次の先頭に
3.シフト押してF3を2回とHomeで範囲設定
とか
シフトって逆順検索だったりしたっけな?
424 :
名無しさん@お腹いっぱい。 :2008/11/20(木) 15:15:28 ID:ZsC3hb610
>>420 > スケジュールで設定してあげれば済む話
そういうのはスケジュールでやってください。
常駐させるとCPUもメモリも食うし、思いがけず動いて変なことになったりするし。
入力監視はこんな感じ
while GetKeystate(VK_Alt)
sleep(0.1)
wend
(´゚3゚):;*.':;ブッ Whileの場合は!つけないと while !GetKeystate(VK_Alt)
時を忘れて調べていたらCALLで解決致しました。
レスして頂いた
>>422 様と
>>424 様、ありがとうござます。
今後、別のマクロを作る際にも必要になるかもしれませんので、
メモさせて頂きました。
スクリプトについても少し勉強してみようかと思います。
有難う御座いました。
まぁ本人が解決したって言うならいいけどさ > 待機状態にさせたい理由はスクリプトを実行する時が常にではないからです。 これじゃ理由になってないだろ スクリプトの実行=処理の実行でいいじゃない。 毎回、スクリプト実行させればいいんじゃないの?って話 なんで、スクリプトは実行しつつ一時停止させて 処理を止めておきたいかが全く見えてこない
私の場合 一時中断機能必要になったのは Sleep時間が決めれないからでした 5秒のときもあれば20秒のときもある かといって初めから20秒に設定すれば本来の役目を果たせなくなるほど 致命的なロスタイムになるんです ところで回答もしないのに理由を聞くのはなぜなんだ あなた解答者として必要の無い人間みたいですよ 実際、私は理由を聞かずに答えれました 理由聞くのは解答者として当然だと思っているのなら なお更ウザイ
>>428 あなたは「スクリプトが終わったらUWSCを終了させず」を
読み飛ばしたか無視したかで、待機から再度開始と聞いて
一時停止だと読んだらたまたま当たっただけ
たまたまじゃないよ 自分もそういう機能が欲しいと思ったことがあるから 質問読んだ瞬間ピンときた 理由聞く解答者はプログラム板にもいっぱい居てるけど そういう連中の99%は問題解決してないね 理由を書かされる方も時間の無駄だったのが悔しいだろうと思うよ
ある処理を無限ループさせてるスクリプトを、任意のキーで実行/一時停止させるのも ある処理を一回しか行わないスクリプトを、任意のキーで実行させるのも 得られる結果はほぼ一緒でしょ? 時々止めたいってことなら、前者のが合ってる気がするが 時々実行したいなら、後者のが自然だと思うんだけども
ピンと来たとかそう言う問題じゃないんだっての… 一時停止だと思いつかないんじゃなくて一時停止かどうか判断ができないと言ってるわけだろ 初心者の質問でありがちなのは A地点からB地点に行きたいという大きな目的があるのに 自己流で、S地点まで到着したら行き止まりだった… 「行き止まりなんですけど塀を越える方法ありますか?」的な質問が多い 塀を越える方法を教えるのも手だけども、もっといい方法があるかもと考える人だっている
>>431 自分のデスクトップ内だけで考えてるのかあ
通信先との連携はしないの?
通信先はいつも決まったとおりの動作しないよ
色判定とか色々やったけど無理だね
今、キミの目の前にある2chの画面でも文字以外の部分は白地に見えるだろう
これを意図的に何百色も使って色判定できない細工してあるところもある
ピッカーで判定すればすぐわかる
色の範囲指定すればいいと思うだろ
それもダメなんだよなあ
細かいことは置いとくけど
結局、一時停止がベストって時はあるよ
あなたが知らないだけかもしれないし私が特殊なのかもしれない
んじゃねバイバイ
相手の挙動は予測不可能 でも対応しなくちゃいけない って感じかな
小学二年生のお兄ちゃんが小学一年生の弟の宿題を見て、 「俺、その答え知ってるよ。答えは5だよ」って自慢げに教えてる感じだな 大人は答えを教えればいいってもんじゃないことを知ってるんだよ
通信先との連携ww ものは言い様だな…どうせネトゲかなんかだろう
>>433 君のレベルから想像するに、色の範囲指定をしたけど駄目だったというより
ただ単に、RGBを分かってないだけだろう…
理由を聞くのは、欲しがってる手段が目的を達成できるかがすでに疑わしいからだね。
で、質問に慣れてない人は目的をうまく説明できない。
目的を聞く人が実際どういうつもりで聞いてるかは知らないけど、
できればずばり目的を言って欲しかったりするけど、
アドバイスを求めるだけなら目的っていうのはあやふやにしていいんだよ。
>>433 > 結局、一時停止がベストって時はあるよ
一時停止の方法として、キー入力の監視がいい方法かはわからないよね。
全画面ゲームならキー入力の監視しかないと思うけど。
ちなみに僕が「スケジュールで実行してください」と言ったのは、
スケジュールツールを使う方法だけでなく、sleep()でタイミングを合わせる方法も含めて言ったつもりです。
>>436 ウィンドウをコントロールするのがメッセージ通信を介してだと知っていれば通信ていうのはおかしくない。
>>437 いや、色の範囲指定っていうのは、ドットごとにやるしか方法がない。
色を無視して形でってオプションはあるけど、半透明の背景模様を無視できないよね。
動画編集で動き検出の調整みたいに、画像を見ながら調整できればかなり使い物になるとおもうんだけど。
ドットごとの色判定して形を見るのは、UWSCじゃきつい。
ん?
>>435 どうとでも想像してればいいよ
結果を知りたいだけの質問だろ
答えだけで十分だよ
質問者もそう思ってるだろ
ウザイ説明や追加解説なんかいらないよ
もちろんUWSCの勉強として質問してくる人も居てるよ
ただし回答だけが欲しい場合もある
ウザイ解答者気取りと遊んでられない
どうでもいいから回答早くよこせって感じかな
それでいいじゃん
解答できないものは放置されるし放置すればいい
解答者ぶった解答しない輩が逆に質問してきて、それに答えてみても
回答はできなくて消えちゃう解答者ばかりだってこと知ってたんだろ3chのパターンを。
>>436 ネトゲには興味ないよ
それだけはあんたに伝えておく
もっとUWSCを活用してみればいいよ
本当に素晴らしいツールだからね
使い道は色々ある
なんで使い道を知りたいの?
なんかネタ探しかw
まあ自分で探せ
小馬鹿にされてまでネタ教えるアホ居ない
>>437 あほ??
私には理解できないギャグか?
あなたは黙ってればいいよ
>>とあるオンゲスレの人 回復は行動マクロとは別で実行しないと。 メイプルストーリーでは攻撃動作が回復を妨げたり・・(逆だったかな?) したんで、回復を組み込む必要があったけど、 Tenviでは完全に独立して動かしていい。 回復と行動マクロは、別々のUWSファイルにしてそれぞれ同時に実行できる。 UWSファイルをUWSCに関連付けていれば、エクスプローラーからそれぞれダブルクリックするだけ。 その設定を知らないと、UWSC本体を多重起動したり複数同時に読み込んだりできないかなどと言い出す。 一つのファイルでやりたければ、回復と行動を独立した関数にして、 Thread 回復マクロ() Thread 行動マクロ() sleep(24*60*60) みたいにして独立したスレッドで実行すれば並行動作する。
多分
>>438 さんにはオモイッキリお世話になってると思う
sakuraの宣伝で もしかして?
って思ったんだけど
あなたに間違いないよ
お久しぶりです^^
以前あなたにあるサイトの検索ソース貰ったものです
お陰さまでなんとか生きてます^^
カレーライスご馳走しますよwww
>>438 範囲指定と言ってるのは、表示領域のことじゃなくて
色の幅のことでしょ。#FFFFFFだけじゃなくて#FEFEFEも…とかそう言う類の。
白に見えるけど白じゃないんだよ。とか言ってるくらい何だから
RGBを理解せずに分解しないでやってるだけだろうとしか思えないけど
あ、それから別スレで言ったんだけど
以前事故にあって今は長期休業中って私が言ってたでしょ
明日の診察で恐らく最終になりそうで
多分、来週から復職できそうです
あなたには本当にお世話になって感謝してます
秀丸スレ、正規表現スレ、sakuraスレ、Perlスレ、ネットワークスレ
あらゆる所でお会いしましたね^^
色々と教えてくれて本当にありがとうございました
暴言もいっぱいしちゃいましたが本当は感謝の気持ちでいっぱいです
私にソースくれたときの捨てアドまだあるんですよ
もしよかったらメルください
>>438 さん本当にありがとうございました
でわ^^
>>443 キミしつこいね
推測だけでそこまでよく考えられるなあ
ある意味で凄い
凄すぎるのでもうちょっと気楽にいったほうがいいよ
肩の力抜いてね
>>438 誰も1〜10まで説明しろってことではないでしょう
>>432 で言えば、「どこどこの交差点を右に曲がったら行き止まりだったんだけど…」
くらいの情報は欲しいってことでしょう
>>443 UWSCではきついっていうのは、ドットごとの色を取るのが大変だから。
PEEKCOLORってそれなりに時間かかる処理だし、
1ドットずつ取得するループでは、変化する画面に対応できないし。
>>445 うん。
だからまずはゴールがどこなのかを確認しようって話ですよね。
でもずばりゴールの場所は教えられないから、右に曲がって左に曲がって
信号、曲がり角をいくつ通り抜けてっていう説明を求めるわけですが、
大雑把な位置が分かれば左回りより右回りが早いよね?っていうアドバイスもできるわけで。
僕はそういうところで時間かけたくないのでゲーム名とかはっきり出すわけですが、
仕事で使うところとか会員制のところは教えられないし教えてもしょうがなかったりするのは理解してます。
>>442 お元気そうで何よりです。
あいにく引きこもってますんでお礼のほうは気にしないでください。
半年後には1万2千円が振ってくるので、そっちの方で十分です。
これで5か月分のADSL料金が確保できる。
裏契約のYahooにも感謝。
>>444 >秀丸スレ、正規表現スレ、sakuraスレ、Perlスレ、ネットワークスレ
>あらゆる所でお会いしましたね^^
サクラスレで正規表現の話題はしましたが、
秀丸、Perlスレでは別に・・・
そういえば秀丸の操作の話題もあったかな?
でも僕は秀丸使ってないのでそっちは別の人ですねきっと。
基本匿名の掲示板での喧嘩は僕は気にしてませんよ。
まちBBSみたいな地域限定な上にIP出る場所ではさすがに気にしますが。ちなみに今日アク禁食らいました。
UWSCで色を取るのが大変だとは思ったこと無い 色を取る座標を知るのが大変だとは思ったことがある なので、座標を取るためだけに別なツールは使ってる ポインタを移動させるとポインタのある座標と色を表示してくれるツールがあるので。 座標さえ分かれば、色を取得するためだけのスクリプトで 単色なのかグラデーションで幅があるのかとかいくらでもUWSC単体で調べられる
すいません、質問なんですが ある特定色が画面上のどの座標ににあるか簡単に知る方法ないですか? ためしにpeekcolorで全画面範囲を探索してみたらたかだが100万ループでも 処理が終わらないので何か良い方法があれば教えてください
>>448 DLL作ったらいいよ。
でも、そのカラーが1箇所にしかない可能性は、フルカラー写真でもない限り考えられない。
複数の座標が取れるはずだけど、それをどうするか。
そして、たった1点だけでそれが何かを判定するのは難しい。
なんの役に立つのか分からない。
その色1ドットの画像でchkimgとかはいかんのかな
UWSCでやるのってネタが多いね。w 単なる画像なら、保存してプログラム解析すれば良さそうなのに。 リアルタイムで画像解析してUWSCで操作するなんて状況が想像できない。w
ネトゲもやったことないのか? 人の多いネトゲで実用的なBOT組めれば金になるんだぞ。 一つ勉強になったな
>>448 そういうことが出来るツールがあったはず
この前、10日〜2週間くらい前に
「こんなソフトないですかスレ」に画面内に任意の色があるか無いかの判定みたいな質問があって
そういうことができるものがあるらしいよ
本来の目的とは違うけど
そういうことは可能と解答者が答えてて
質問者はその後「これでできそうです」とか答えてた
前スレか前々スレあたりになると思う
>>448 わかったよ
「画像から面積」というソフトを応用するらしい
さっきのスレの555が質問で561が回答
その回答に対して質問者は572でアレンジした使い方を返事してお礼を言ってる
まあ見てみ
それは使われているかどうかだから、 1dot用意して面積が2dot以上ならあったってことになるけど、座標は分からないでしょ
>>456 ひねれよ
絞込みは簡単になるだろ
100万回ループさせてもわからないものを
そのツール使えばか激的に減らせれると思うよ
と言ってもそういうこと言う人に説明しても思いつかんだろうけどね
>>456 まさかツールを手動で動かせるつもりなのか!?
UWSC使いは基本的にどのツール使うのもUWSC
そのツールに限らず手動操作なんてやらねーよw
なんか、最近くだらないことで煽りいれる人多いなぁ… そう言うの要らないから。
お前もな
>>459 荒れる、とか煽る、とか大抵は一人語りしたがるやつが
騒いでるだけ。お前のことな。で、こういわれたら
>>460 みたいに言い返す。
もうパターン化してる。
お前が死ねば解決。
カメラモードで録画してるときに 録画を一時停止してコメント入れたいんだけど そういう機能はないですか? 停止して//これは○○のボタン とか、その都度入れれたら嬉しいです みなさんは座標をメモりながら録画するんですか?
そもそもカメラモードなんて使いません
そうなんだ 一応、正規ユーザーなのでIERECを使えるユーザーなんだけど IERECで録画できないんですよ 一時停止して座標やコメント入れたいんですけど 不可能ってことでしょうか? タスクバーやツールバーをIERECでクリックできないです
>>464 IEのドキュメントって内部構造を見て操作するんですよね。
ドキュメントはスクロールも出来るし座標はころころ変わっちゃうし。
・・・
コメントって再生中に画面に表示とかじゃないのかな?
座標とか言うからそうなのかなと思ったんだけど。
>>462 コメントを入れたいタイミングで動作に影響しないキーをクリックして、
録画完了後にスクリプトをVK_Ctrlとかで検索したらいいよ。
IERECがキー操作を記録するかは知らないけど。
>>465 さん
>動作に影響しないキーをクリック
これでやってみますありがとうございます
コメントは再生中に出したいのではなく
録画したものを編集するのに使いたかったです
「このボタンクリックはアレだな。このクリックはあれだな」って感じで
座標だけではなく「今から○○をクリックする」とかコメント入れておいたらわかりやすいかなと思いました
とりあえず影響の無いキーをクリックしてやってみます
467 :
名無しさん@お腹いっぱい。 :2008/11/23(日) 22:41:48 ID:xwcgBqA/0
IFBについてお伺いします 偽の場合Sleep(0.2)の後、再びIFBからやり直しさせたいです 真が返ってくるまでループさせたいんです 下の場合@で判定してAを行わない場合D→@に帰る Aを行えるようになるまで@とDの繰り返しさせたいです Aを行えるようになれば@に帰ることはありません どなたかループ教えてください ヘルプのIFBの例を見ましたが馬鹿なのでわかりませんでした>< よろしくお願いいたします Ifb then//@ //真の場合の動作A else//B //偽の場合の動作//C Sleep(0.2)//D endif//E
// While Wend 文 // Repeat Until 文 ヘルプを読む。
>>468 @、Dを繰り返し、Aを実行したらFに進む
できればsleep()はループの最初でやったほうがいい。
後ろでやると、continueしたときsleep()を実行しなくなるので。
Aを実行したときループを抜けるのでelseはいらない。
while true
Ifb then//@
//真の場合の動作A
break // Fへ
endif//E
Sleep(0.2)//D
wend
F
よく見るとループ1個で済む問題だった。
while !@ // @でない間Dを繰り返す
Sleep(0.2)//D
wend
A // @を満たした後1回だけ実行される
F
472 :
468 :2008/11/24(月) 17:45:46 ID:pzOG8bxb0
下記のようにしてみたんですけど 変数IFBが定義されていませんってエラーが出るんです どうすればいいでしょうか? while ! Ifb PEEKCOLOR(994,610) = $C66184 then //動作A真の場合 BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) else //動作B偽の場合 Sleep(0.1) //EXIT// 関数を抜ける //EXITEXIT// 直ちにプログラムを終了 [終了コード] endif wend
473 :
468 :2008/11/24(月) 17:51:31 ID:pzOG8bxb0
ifb と endifを抜いてみたんですけど 型があっていないまたは式がおかしいって感じのエラーでました わかるかた教えてください
474 :
468 :2008/11/24(月) 17:53:34 ID:pzOG8bxb0
何度もすいません エラーになってのは下記のコードです while ! PEEKCOLOR(994,610) = $C66184 then //while ! Ifb PEEKCOLOR(994,610) = $C66184 then //動作A真の場合 BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) BTN(LEFT,CLICK,900,700,100)//終了 Sleep(0.1) //else //動作B偽の場合 Sleep(0.1) //EXIT// 関数を抜ける //EXITEXIT// 直ちにプログラムを終了 [終了コード] //endif wend
>>474 while PEEKCOLOR(994,610) <> $C66184
って書けばいいよ
!は !(PEEKCOLOR(994,610) = $C66184) みたいな使い方をするけどUWSCではエラーになると思う。
UWSCの場合、!IsBlack(PEEKCOLOR(994,610)) みたいな判定関数使うときには!使える。
だからこれでいいんだ
while PEEKCOLOR(994,610) <> $C66184
sleep(0.2)
wend
Aの処理
AとかBとか途中で変えられると説明できないから。
476 :
468 :2008/11/24(月) 18:34:53 ID:pzOG8bxb0
>>475 さん
できました!
順調に動いています
勉強になりました
本当にありがとうございました!
>>477 996までログがある。
こっちは次スレってことでいいんじゃね?
1〜20まで画像があって1〜10までの画像がどれか見つかるとAという動作、 11〜20までの画像がどれか見つかるとBという動作をしたいのですが、うまくまとめる方法はないでしょうか。 今はifb〜endifで画像の数だけ分けているのでどうしても動作が遅くなったりしています。 このスレにあったor _を使って纏めるほうが軽くなるのでしょうか。 ほかにいいやり方などあれば教えてください。
1〜20までしかないなら
1〜10が見つかればA、1〜10じゃなければ11〜20なんだから…
そうじゃなければBの動作をするように組めば良いんじゃないの?
>>475 そのまま使えないか?
上の質問と似たようなものですが 1の画像だとA地点クリック、で2の画像だとB地点クリック どちらでもなければC地点クリック と言う感じで条件つけたいんだけど Ifb chkimg("bmp") = true then ある座標クリック sleep(1) else 違う座標クリック sleep(1) Endif こんなのだと二つの条件でしか動作できないので efbやendifのわかり易い説明とかありますか?
elseif
まーたゲームのマクロか
uwsc=ゲーム この図式ができたのは間違いない。 俺はautoitに逃げようと思う。 ゆっくりだが。
autoitも海外じゃゲームのマクロに使われるけどな
だれかIE_Subください。
UWSCの名前を変えたいのですが、どうしたらできますか?
>>487 UWSC作者に頼んで変えてもらえ
まあ無理だろうけど
色や画像判定について質問です スクリプトの処理の流れとは別に、常時判定作業を行い条件に当てはまったら実行できる(スクリプトの処理の流れは同時に動き続ける)にはどういう記述の仕方をすればよいかご教授お願いしたいです
寝マクロしたいならその辺の書店でマクロについて詳しく書かれてる本でも買えよハゲ
8:00から8:20までの間にパソコン起動されたらメモ帳を開く はどうしたらいいですか?これはできませんよね?!
「8:00から8:20までの間にパソコン起動されたらメモ帳を開く」というスクリプトを作ってスタートアップに登録する(.uwsをUWSCに関連付けしておく) 時間はGETTIMEで取る
>>491 while true
GETTIME()
IFB G_TIME_HH2 = "08" AND G_TIME_NN2 >= "00" AND G_TIME_NN2 <= "20" THEN
Exec("notepad")
EXITEXIT
ELSEIF G_TIME_HH2 >= "08" AND G_TIME_NN2 > "20" THEN
EXITEXIT
ENDIF
sleep( 25 )
wend
+
>>492 てか、明らかに起動するのメモ帳じゃないだろw
パソコンが起動してたら。と パソコンが起動されたら。では だいぶ違うと思うんだが
時間指定で再生を停止させるにはどうしたらよいでしょうか? while true〜wend のファイルを使ってるのですが これに組み込ませることできるなら教えてください
時間取得して指定時間だったらexitするようにすればいいじゃないか
>>496 さん
AM10時に 再生してるuwscを停止させるという事をしたいのですが。。
exitで時間指定する場合どのように書けばいいのでしょうか?
じゃあなんのためのスレなの?
知らないから教えれないのですね わかります
煽っても期待してるものは出ませんよ むしろ誰からも相手にされなくなるだけです 自分の首絞めて何やってんだか
ip+R+sBr0 じゃあいちいちレスしないでね リアルでも性格曲がってそうだね
使い主がこれじゃあロクな使われ方しなさそうだな とりあえずヘルプ全部読めばわかるから頑張れ
すぐ上に参考になるサンプルが書いてあるのに全く理解できないとは…
CHKIMGのサーチ範囲の定義で変数って使える? やってみたんだけど定義が間違っていますって出る
使える ソノ通り定義が間違ってるんだろ
>>497 while true
GETTIME()
IF G_TIME_HH2 = "10" AND G_TIME_NN2 >= "00" AND G_TIME_NN2 <= "05" THEN EXITEXIT
sleep(0.1)
wend
sleepの時間は任意
ループする時間によってG_TIME_NN2 <= "05"も変更する
ID:jrGkOqyC0消えたか
パソコンでラジオを聞くUWSCスクリプトができません。 助けて。
どこができないのか分からないのか詳しく
ちょいと、仕様なのか知識不足か分からないので質問 改行コードがLFのテキストに追記をしたいのだが、 勝手に全体の改行がCRLFの改行コードに変更されてしまいます。 //サンプル-この3行でもうだめ fp = fopen("c:\LFのテキスト.txt", F_READ or F_WRITE or F_NOCR) fput(fp, "追記したいテキスト") fclose(fp) 何かオプションとか書き方でLFのままにはできませんか?
513 :
名無しさん@お腹いっぱい。 :2008/12/06(土) 12:54:24 ID:zpxtiWTT0
ageます
BSDコピペじゃあるまいしどっちでもいいじゃん めんどくせーやつだな
ときたま表示できないヤツあるけどなんでだろうな
>>518 は表示できてるみたいだし原因がわけわからん
しかたないからUniversalExtractorでバラして見なきゃならん
>>519 俺XPなんだけどセキュリティの警告が出た
Vistaかなんかでセキュリティキツイと開けないじゃね?
>>520 しらべたら以下の感じで見られるようになった(XP SP3)
ファイルを右クリック
→プロパティ
→全般タブ
→ブロックの解除
これのスクリプトってどんなこと勉強すれば使えるようになるの? プログラミング言語 CとかJAVAとかとはまたちがうものなの?
違うもんだけど、こっちのほうが全然簡単だから 何か一つ知ってる人ならすぐ作れる
>>524 知らない場合はCとか勉強してからのほうがいいかな?
解説サイトとか少し見てみたけどクラス、とかIDとかよくわからん単語が多すぎて・・・
そのつど調べてやってもいいけど
CよりWSHでいいんじゃないの uwscの書式もVBScriptにJScriptをちょこっと混ぜただけって感じだし Windowsならデフォで入ってるスクリプト実行環境でお手軽に扱えるし 検索すれば初心者向けにわかりやすく解説してるところがたくさんある
使いもしないのに、わざわざ難しいCとか勉強する必要もないし classだのidだので躓いてるのにCなんて無謀 おとなしく素直にこのスクリプトだけ勉強しろ そういう素人でも使えるようになるくらい簡単なんだから。
528 :
516 :2008/12/10(水) 19:28:35 ID:S3Sd32TS0
ありがとうございます。表示できました。 IEの設定を色々いじっていたけど、ファイルのプロパティの中にあるのね。
>>526 >>527 いろいろ調べたけどやっぱりスクリプトだけやってみた
最初はなかなかだたけどいろいろ読んでてきとーにいじくってるうちにできたwww
ブラウザがフリーズした場合の復帰処理はどうされてますか? ブラウザのある特定した場所の色データをチェックして、 それが一定時間変化しなければフリーズと判定出来そうですが、 ブラウザがフリーズすればUWSCも止まりますよね? それだとチェックは出来ませんし… あと、強制的にOS再起動は可能ですか? 再起動させても、時々○○のソフトが稼動中です、みたいな警告が出て、 手動でないと再起動出来ないことがあり…
>>514 これは違うと思うぜ。Windowsが変換しているわけじゃない。
別にUWSCでもLFの取り扱いは出来る。
単にファイルオープン時に、LF→CRLFの変換をUWSCが勝手にやってるだけ。
chr(13)chr(10)とか直打ちで、replaceとか挟めばLFとしては扱える。
Windowsだから強制的に全部変換…だったら他言語でも全滅じゃねーか。馬鹿が。
なんか変な理屈に思える。
>>512 のやり方がおかしいのは、間違い無いんだろ?
追記 >Windowsだから強制的に全部変換…だったら他言語でも全滅じゃねーか。 他言語は、他OSって事でいいんだよね? だから、そこらへん考慮してプログラム組んでると思うけど? UWSCのUNIXバージョンが有るならだけど?
Windows はファイルオープンの際にバイナリモードで開かないと 改行は CRLF とみなされるってだけの話じゃないのか?
open時に勝手に変換なんてしないよ 書き込み時に改行コードがCRLF固定なだけでしょ 書き込み部分を自前で何とかするとか ファイル作成後、改行コード選択できるテキストエディタ+マクロ(秀丸等)で 改行コード変更して上書きすればいいんじゃね
>>534 そうだと思うが、UWSCにバイナリモードは無いからなぁ。
そしてバイナリとテキストの区別は厳密には無いので、UWSCの内部処理次第だろ。
>>535 とりあえず531に倣って書いてみたが、これでもLFで保存できるぜ。
書き込み部分で変換しているわけではなさそうだ。
fp = fopen(filename, F_READ)
text = fget(fp, F_ALLTEXT)
text = replace(text, chrb(13)+chrb(10), chrb(10))
fclose(fp)
fp = fopen(filename, F_WRITE or F_NOCR)
fput(fp, text + addtext)
fclose(fp)
まぁ、fgetの全体取得指定がALLTEXTだからな
UWSCが気を利かせてLFやCRをCRLFに変換する仕様でもおかしくは無い。
>>527 idとかセミコロンとか”とかの意味がわからなくてヘルプ読んでも躓く子はどうしたらいいの?
なんかお勧めの読み物かサイトないですか?
「UWSC スクリプト」で検索 他人が作ったスクリプトや記録機能で作ったスクリプトを読めば何となくわかってくると思う
この間から使いはじめて見たんが、 何回かループしてるとずれてくるんだが 勝手に調整してくれる方法ってない?
ループする動作はマウスの移動とクリックです。
俺はズレないけど?
ループしてずれるのは、ずれるような書き方をしているから。 ずれないような書き方をすればいい
相対座標で読んだ上にマウスがちゃたってるとか。
そのスクリプトを実行する直前の状態にするようにループの先頭か末尾を改造しろ。 そうすればずれない。
直前にもどすのはどうやったらいい? よくわからん whileじゃダメなのか?
直前に戻すという意味がわからん
どうせネトゲのマクロなんだろうけどとりあえずスクリプト晒せよ
continue使ってループの先頭に戻るくらいしか出来ない気がする、 それかフラグ作って処理を判定するか。
スクリプトを晒されても、MMVの羅列でこちらが困ることになりそうだ。 コードを書く上でプログラムとスクリプトの根本的な差異は無いから学習するしかないよなぁ。
550 :
名無しさん@お腹いっぱい。 :2008/12/17(水) 20:26:52 ID:WA76EVYA0
そうそう、unlha32.dll等の統合アーカイバ系を使いたいのですけど どこぞにDLL_DEFとかで書かれてるサンプルになりそうなコードってありませんかね?
>>493 すみません
これって6時25分から8時20分まではどういうスクリプトになるの?
>>551 IFB G_TIME_HH2 = "08" AND G_TIME_NN2 <= "20" OR G_TIME_HH2 = "07" OR G_TIME_HH2 = "06" AND G_TIME_NN2 >= "25" THEN
即レスありがとうございます
リンク元を指し示すリファラを偽装しながらネット巡回させたいのですが、外部ツールを使わないと無理でしょうか? 「A」というページには「B」というページから移動しないと正しく表示されない、というやつなんですが、 時間がかかるし、「B」が不安定だったりするので、回避して直で行きたいと考えています。 そういうページがいくつかあるので、リファラは固定ではなく随時変更する必要もあります。 あと、ブラウザはIE7です。
あ?誤爆か?
>>554 COM利用の通信ではそういう偽装は無理だと思うよ。
エロ動画のリンクでそういうのあるんだよね。
リンクリストをブラウザなしで取得してみたんだけど、
作品ごとの専用ページからアクセスしないとトップページに飛ばされちゃうんだ。
全ジャンルだと1000くらいの作品があって、常時新しいのに入れ替わってるからスクリプトじゃないと収集できないしね。
不要なページもダウンロードしてしまうことになるけど、普通のダウンローダを定期的に流した方がいいような気がする。
UWSC使ってるとそういうツールの存在忘れちゃうんだけども。
↑こいつは質問者の気持ちを察することができないダメ解答者だな そんなの教えれるなら初めからアドレス張るだろ
お前は誰様だよ
おーふぉふぉふぉふぉ 通りすがりの自慰様じゃw 人生〜楽ありゃ〜苦もあるさ〜♪ この紋どころが目に入らぬか! m9(`・ω・´)
>>558 人に教えられないようなエロいところだからこそ知りたいんじゃないか。
お前は閲覧者の気持ちが分からないダメ質問者だな。
UWSCいまいち使いにくいんだけど、UWSC以外で画像判断ができるマクロツールって他に何かあります?
>>547 While 1
MMV(627,150,313)MMV(626,150,16)MMV(625,150,10)MMV(623,150,10)
MMV(622,150,16)MMV(620,150,10)MMV(619,148,15)MMV(618,148,16)
MMV(617,148,10)MMV(616,148,16)MMV(615,146,15)MMV(614,145,16)
MMV(613,144,10)MMV(612,143,16)MMV(611,142,10)MMV(610,141,15)
MMV(609,141,10)MMV(606,138,16)MMV(605,138,10)MMV(604,136,15)
MMV(603,135,10)MMV(602,135,16)MMV(602,133,10)MMV(600,133,16)
MMV(599,131,10)MMV(597,130,15)MMV(595,130,16)Wend
このマクロなんだが、2回目からずれてしまいます。
画像判断とかできるようになればずれないかもなんだが・・・
MMV羅列すみません
>>563 クリックをどっかで入れてるんだろ?
ClickとかDownとかUPとか入れる前後にはSleep(0.1)を入れろ。
マウスクリックによって移動するようなアイテムで無いなら何がどれだけ動いていくのかよく説明できるようになってからおいで。
マウスカーソルが動いてるだけワロス
>>562 UWSCって画像判別してクリックとかできるのか?
>>567 CHKIMGだかそんな関数でBMP読み込めばその画像がある座標を返せるな
>>564 移動してクリックして押す、的当てみたいなやつです。
>>570 とりあえず名前に539って入れてね。
動くって言うのは的が動くわけ?
仮に同じタイミングで同じ位置で繰り返し撃つだけでいいとしても、
厳密にタイミングがあってない限りだんだんずれてくるよね。
的の出る場所が決まっていて移動しないなら問題ないけど。
スクリプトってモノがよく分からないなら、テキストエディタのキーボードマクロを動かしてみればいいよ。
単純に文字を入力していくものだけじゃなくて
Homeで行頭に飛んだりEndで行末に飛んだりCtrl組み合わせて単語単位で飛んだりという
文字数に影響されない操作を覚えて、
さらに、検索キーワードを設定して文章のどこにキーワードがあってもそこだけを編集するとかまでできれば
的当てのためにはどんなことをどんな手順でしなければいけないかが分かってくると思うよ。
ヘルプの関数一覧ぐらいは全部読んでおいたほうが良いよなぁ。 車輪の再発明をしなくてすむ。発想の手助けにもなるしね。 まぁ、ファイル操作を全部doscmdでやってた俺が言うのもなんだが dirとか戻り値リターンで区切ってトークン切って配列代入してるのw FileSystemObject知ってからだいぶすっきり出来るようになった。ありがたや。
マクロでずれると聞いたら、大半の人が位置がずれるの意味だろうと思ってたが このスクリプトから想像するにタイミングがずれるという意味じゃないだろうか。
変数って小数点まで記録してる? たとえばi=1234だとして i=i/1000を実行したらi=1になる?
やってみりゃいいんじゃね? 新規にファイル作ったって3行ですむだろ? ここに書き込む手間のほうが多いのが笑える。
i=1234 i=i/1000 msgbox "i" かな。
msgbox(1234/1000) で十分 と思う
579 :
名無しさん@お腹いっぱい。 :2008/12/22(月) 19:39:25 ID:/LMnt5Db0
すいません。 IEのダイアログのOKボタンを自動的に押したいのですが、 GETIDの取得方法がわかりません。 ダイアログのタイトルとメッセージだけで指定することは 可能ですか?
>>579 IESetData(IE ,True,,"OK")
初歩的な質問ですみません。 とあるページで、実際の画面とキャプチャした画面が一致するかどうかの判定スクリプトを書きたいのですが よくわかりませんので、ご教授頂きたいと思います ちなみに自分で一応下記のようなスクリプトを書いてみましたが上手くいきません。 プリントスクリーンでキャプチャした画像Aをペイントか何かに貼り付けて 元々キャプチャしておいた画像Bと一致したらメッセージを表示する と言うようなスクリプトを書いたのですが 画像ファイルの有無の認識まではスムーズに進むのですが 肝心の判定部分で画像が一致してないと出てしまいます。 何かいい方法があれば是非ご教授くださいませ・・・ あともっと手っ取り早い方法等あれば是非ともご教授お願いします 何分初心者なもので、見当違いな書き方してるかもですので・・・ よろしくお願い致します
人から頂いたumsのファイルを、機能はそのままに座標などをいじって自分用に使いたいと思っています。 頂いたフォルダにはums拡張子のファイルとbmp拡張子のファイルのみが入っていたのですが どのように中を見て、座標などを変えていけばいいのでしょうか? 初心者な質問ですみません。
583 :
名無しさん@お腹いっぱい。 :2008/12/23(火) 12:13:41 ID:Wqjl56Jy0
>>582 メモ帳などでUWSファイルを開いて、BMPファイル名を検索
座標はPrintScreenキーでスクリーンキャプチャしてペイントに貼り付けてマウスを持ってって調べる。
120秒間のあいだに座標900,500の位置に指定の色が出ると 即座に座標510,390をクリックさせたいです 現在下記のような感じでやってるんですが 座標900,500に指定色が出るまで永遠にスリープしてしまうので このスリープを120秒間限定で行いたいです 120秒以内に指定の色が出ない場合も座標510,390をクリックさせたいです (わかりにくい表現ですいません。 120秒以内に指定色が出た場合は即座に510,390をクリックする 指定色が出ない場合も120秒後には510,390をクリックする) 下記は現在使っているもので指定色が出るまでスリープする状態が続くので変更したいのです while PEEKCOLOR(900,500) <> $EFEFEF //色判定 Sleep(0.2) wend BTN(LEFT,CLICK,510,390,100) //クリック よろしくお願いいたします
>>584 そのサイトに書いてある利用方法を読めばわかる
>>585 適当だけどこんなんでいいんじゃない
i = 0
FOR i = 0 TO 120 / 0.2
IF PEEKCOLOR(900,500) = $EFEFEF TEHN BREAK //色判定
Sleep(0.2)
NEXT
BTN(LEFT,CLICK,510,390,100) //クリック
587 :
554 :2008/12/23(火) 14:56:07 ID:60ZXtA8U0
>>586 >>585 です
早速のレスありがとうございます
Uスクリプト:シンタックスエラーとでてきて動きませんでした
とり急ぐわけではないので何かわかったらまた教えてください
ありがとうございました
while 〜 wend を一定秒数で関数を抜ける方法ないでしょうか?
よろしくお願いします
>>588 start = gettime()
while gettime() < start+秒数
wend
THENをTEHNって打ち間違えたわ 何秒経ったらループを抜けたい。を馬鹿正直に書いたら GETTIMEでループに入る直前の時間を変数に入れて ループないでその変数とGETTIMEで新たに取得した現在時刻の差を比べるとかできる そこまでするもんでもないと思うよ
>>588 です
>>589 さん何回も即レスして頂きありがとうございます
当方の言葉足らずで本当に申し訳ないです
2つの条件のうちどちらかを満たせば関数を抜けたいです
(説明不足で本当にすいません)
840,700の色判定を一定時間行い
指定した色になればすぐに関数を抜ける
指定した色にならなくても120秒後にはwhile〜wendの関数を抜ける
可能でしょうか?
下記のwhile〜wendです(現在、指定色が出るまで永遠ループです)
指定色の出現に関わらず120秒後にはwhile〜wendを抜け出す
(指定色が出現すればその時点で関数を抜け出す)
何回もすいません
while PEEKCOLOR(840,700) <> $FFDF63
Sleep(0.2)
wend
>>590 さん
>>591 です
できました!
ありがとうございます
>>586 をTHENにして実行したところ
色判定もしくは時間経過どちらかを満たせば関数を抜けることができました
本当にありがとうございました
何回もすいませんでした
593 :
名無しさん@お腹いっぱい。 :2008/12/23(火) 18:14:32 ID:Wqjl56Jy0
今すぐテレビのActionを見ろ リサイクル詐欺をやってるぞ。
お世話になります また色判定の質問で恐縮です 3つの条件(3箇所の色判定)を満たさない限りループさせるにはどうすればいいでしょうか? 下記のようにしましたがシンタックスエラー出ます 3箇所の座標が条件どおりのときに座標位置330,220をクリックさせたいです とり急ぐわけではないのでわかるかたおられましたらお願いします 当方もすぐにお返事できないと思います どうぞよろしくお願いいたします while PEEKCOLOR(700,500) <> $FFDFEF PEEKCOLOR(500,300) <> $FFFFFF PEEKCOLOR(100,100) <> $FFDF63 Sleep(0.2) wend BTN(LEFT,CLICK,330,220,100)
すいません自己解決できたので
>>594 の質問取り消しさせて頂きます
>>594 への解答は不要です
ただ単に3回繰り返せばよかっただけでした
ここに頼りすぎてました
すいません
while
PEEKCOLOR(700,500) <> $FFDFEF
Sleep(0.2)
wend
while
PEEKCOLOR(500,300) <> $FFFFFF
Sleep(0.2)
wend
while
PEEKCOLOR(100,100) <> $FFDF63
Sleep(0.2)
wend
BTN(LEFT,CLICK,330,220,100)
597 :
581 :2008/12/24(水) 14:34:18 ID:WYMCwj1+0
催促してすみませんがどなたか
>>581 の検討をお願いします・・・
>>581 判定して何がしたいのかを書いた方がいいんじゃないか?
もっと手っ取り早い方法があるかもしれないし
>>肝心の判定部分で画像が一致してないと出てしまいます。 大半の原因は本当に『違う画像だから』だと思うよ。 1ピクセルでも似たような色でも駄目だからな。 この画像とこの画像は完全に一致しているはず、っていうbmpをみせてみな 処理のテストにはダミーデータが必要で効率的だ。
>>581 何度かサンプルをとってみる。
んで、ペイントに2回重ねてイメージを貼り付けてみる。
ファイルからのドラッグじゃなく、ペイントの別窓で全体を選択してイメージをクリップボードでね。
そうするとCtrl+Zで前のイメージに戻るけど、繰り返してみれば違うところが見える。
目で見て分かるほどの違いならそれでチェックできる。
601 :
581 :2008/12/24(水) 22:46:46 ID:WYMCwj1+0
皆さんレスありがとうございます。
催促してしまって申し訳ありません・・・
>>598 すみません。確かにそうですね。
えーと・・・とあるサイトで、ページを更新すると、極稀に画像が挿入されるというページがあって
その画像が挿入された時に、自動的に画像をクリックするというようなことがしたいのです。
なので一致してるかどうか判断するというより、一致しないかどうかが大事なんですけど
一致してる時まで一致してないと出ると意味がないので、先にそちらのテストからやってるという状態です
>>599 >1ピクセルでも似たような色でも駄目だからな。
そうだったんですか〜・・・
でも比較する画像と言うのは
更新もしていない全く同じ画面でキャプチャした2つの画像なのですけど
それで画像データの内容が変わるようなことはありえるのでしょうか??
>この画像とこの画像は完全に一致しているはず、っていうbmpをみせてみな
例えば今現在書き込んでいるこのページで連続でSSを2枚撮ったとして
その2枚は確実に一致してるはずですよね?
>>600 上記の通り同じ画面でキャプチャした画像同士なので
いわばコピー同士のはずなのですが
その方法で一度試してみます!ありがとうございます^^
ページが同一かどうかじゃなくてたった画像一つの話なんじゃん。大違いだろ… どうしてそう見当違いの話にすり替えられるのか
やましい事があるからだろ
範囲指定のミスや狭すぎたり広すぎたりすると拾えないこともある。 全体を見ないと何とも言えない。
UWSCでMixmaster(オンラインゲーム)で自動狩りしたいのですが 設定方法など教えてください・・。
設定はUWSC起動させて5つあるボタンのうち一番右のボタンクリックしたらメニューが出るから その中にある設定ってのクリックすれば出来るよ
>>601 それだったら単にソース見て画像あるかないか確認するだけでいいんじゃ・・・
606 :Mixmasterのファイルを選択すればいいのでしょうか? ゲーム内でキャラクターが移動しないしモンスターにも攻撃できません・・・。 矢印だけ動くだけでキャラクター自体が動きません。
ゲームの自動化はチート扱いの場合が多い。 そのため、ゲーム側で防止プログラムを組んでいる事がほとんどだ。 諦めるのが良いよ。 それでも諦めないなら、職業プログラマに勝てる知識が必要だな。 それを教えるのはこのスレでは荷が重い。 何万回やり取りするのか…
クリックだけ自分ですれば半自動じゃん!! おれすげぇ。
マウスホイール回転を検知する関数とか無いですか? GETKEYSTATEでやろうとしたらダメですた
無い
614 :
611 :2008/12/27(土) 13:50:53 ID:a1ud09nq0
やっぱ無いのか・・・ ありがとうです
「WOLF RPGエディター」とは?
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人やRPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1229261856/l100
自動化関連で AutoIt もこのスレでよいのでしょうか?
>>616 スレタイを100回読み直せ
それでも分からなかったらもう100回読み直せ
>>2 にあったのか。ここで扱ってもいいのね。サンクス
Whileで繰り返しの作業を行っています 何回繰り返したのか最後にprintしてるんですけど なぜだかわかりませんが いつも200回でカウンターが0に戻ります formatというのでなんとかなるような気がするんですけど ヘルプの例ではわかりません>< どなたかカウンターが0に戻らない方法教えてください x = 1 While x < 20000000 〜作業〜 print x + "回終了しました<#CR>" x = x + 1 Wend
>>619 です
私の勘違いでしたすいません
プリント窓のバッファの関係なのかもしれないですが
200回過ぎたところでガクンッって感じで1回目と表示されたんです
作業を止めてプリント窓を確認したところ
下のほうにはちゃんと201回目、202回目とカウントされていました
作業させながらプリント窓を確認していたので勘違いしていました
>>619 の質問は取り消します
すいません
ID:I3qjVRit0 ここにも冬休みの影響が..
おなじXPなのに、違うパソコンで自動で馬券を買おうとしたら 「指数計算ができません」というコメントが出ます。 どこが原因なのでしょうか? よろしくお願いします。
まじめな回答をお願いします。 ちなみに画面は32bit→16bitに変更済みで KB927489という2004対応フォントは見当たりませんでした。 困っていますのでよろしくお願いします。
煽られるのが嫌なんだったらまともな文章書いたらどうなんだ・・・(;´Д`)
>>622 コメントがどこに出るのか
フォントがどう関係あると思ったのか
どこが原因なのか
ちょっと整理して書いてみ
>>622 マジレスすると、違うパソコンだからです。
>>624 それだけの情報で解決できるエスパーはここにはいません
他あたってください
630 :
624 :2009/01/02(金) 17:49:27 ID:rpkNn+AP0
>>622 フォントのアップデートに関係あるのではとのコメントが過去レス
にあったもので・・・
フォントがどう関係しているのかわかりません。
正直言って関係ないのではと思っています。
コメントはエラーコメントで小さな窓で出ます。
つまり起動はされているのですが、馬券を買う直前で止まるのです。
このエラーが出る前はレースが馬券を買わずに流れていきましたが、
それは16bitにすることで止まりました。が、馬券は買えません。
なお、私は上の48の人とは別人です。
検索で48を見つけましたが、そこにも回答がなかったので再度きいた
わけです。
以上、よろしくお願いします。
>>630 該当のページ教えてよ
@ページのSSとかも晒してくれると回答しやすい
スクリプトの内容も教えてくれないと回答は大変すぎるだろ。
専門用語はわかりません。 同じXPで一方はできて他方ができないのは?? ソフトもコピーして使っているのに・・・ ソフトはUWSCで東京の1Rの画面、⇒は馬単のところで止まります。
>>633 お前はもう「教えて!goo」とかで聞いとけよ
言われたことも出来ない奴に理解できるかよ
こんな返答だと 『じゃぁこうすると解決方法だ』と教えてあげても 『専門用語は分かりません』と返答されてしまう。教える労力がかかりすぎるね。 勉強してからきてください。
言葉は敬語でも横柄な質問者の典型ですね。 PC関係のスレに常住する教え好きの住人もこういう人には答える気をなくすね。
ここは質問スレじゃねえんだボケ共
専門用語はわからないってことはどこからか拾ってきたソースなんだろうから ソース見られるの恥ずかしいです><ってこともないだろうし どこかのあぷろだにうpすれば即解決しそうなもんだけどな
そうだなあ。自分でソース書く奴が専門用語わかんねーわけねーもんな
そもそも uwscの話題なのか?ww
自演乙
グラフィック関連描画関連のハードが違うと全く同じスクリプトでも動かないよね。画像判定は。 色無視ならまだ行けそうだけど。
シェアウェア版はほとんど話題になっていないし 他でもあまり情報が無いみたいだけど Web自動巡回する場合はUWSCが一番良いのでしょうか それとも他に良いのがあるのかな
漠然としすぎてるだろ。 なにを対象として巡回したいのか…極論RSSだけだったらGoogleReaderとか使え。 UWSCとかのスクリプトを触ったことが無いなら、とりあえずほかのソフトに不満を持ってからだな。 何を対象としてどんなやり方でどういう使い方を想定してこんな結果が便利そう・・・とか具体例を持てないと『作る』のは難しい。 使い込み始めると分かるが、シェアの利点はEXE化とデバッガぐらいしかない。 フリーで試してみるならそれはいい事だ。必要なのは探究心です。
>>645 Web自動巡回は昔から色んなソフトがある。
株式、先物、FXのシステム売買で APIを公開していないブローカーを使って取引する時は シェア版UWSC等で書かれたスクリプトが役に立ちそう つーか、この分野で一番需要がありそうw
流石に自動取引は危なっかしくて俺には出来ねぇ…。
>>648 なんでシェア?
Web記録があるから?フォーム作れるから?
どうみてもC#で十分です。
C#とかいい始めたらキリが無いだろ。
冗談で書いた
∧l二|ヘ (・ω・ ) ←に土産を持たせてどこかのスレに送ってください ./ ̄ ̄ ̄ハ | 福 | | | 袋 | |,,,....  ̄ ̄ ̄ ̄ 現在の所持品: 帽子 老眼鏡 爪楊枝 ステテコ コタツ 仲村みうのDVD「卒業」 東名 オプーナ オプーナ オプーナ 株券 オプーナ 信長の野望online争覇の章 いづおロール 犬上小太郎 神藤美香のDVD(赤) ( ´;゚;ё;゚;) FF11アルタナの神兵追加ディスク 、FF11ジラートの幻影追加ディスク、xbox360エリート もんもん ネコ ミカン DDR2 32G分 E8500 トイレ 精力剤 GV-MVP/HS2 ヘンシェル λ ID:x9wfJxWn 敵の潜水艦 AIR Cl_ sabo10
>>650-651 C#で簡単に作れるのかまじで?
ちょっとやってみたけど
WebBrowserコントロールっての使って単純なブラウザーは簡単に出来るけど
自動でパスワード入力とかラジオボタン操作とかフォーム送信とかの機能を実装出来るの?
>>654 できるよん
SetAttribute,GetAttribute,InvokeMember
ブローカーにこだわらなければMT4使うのがベストだろ
昔、株板に自動売買スレあったけど、C#やExcelとかで作っている人はけっこういたな
俺もExcelで作ったのみたことある。
VBAでIEのコンポーネントを非表示でやってたな。
今なら、Rubyのwww::Mechanizeあたりでやるだろうけど
>>656 そうですな。俺はNinjtaTraderもオススメ
確認させてもらいたいのですが、1024×768の画面サイズで使用する場合、 CHKIMGで使う座標は、左上が(0,0)で右下が(1023,767)で合ってますでしょうか?
つ 座標君
普通にそれで良いと思う。 俺は欲しい画面をキャプチャしてレタッチソフトなんかでその場所確認してるけど…新規でそのためだけのツール入れるのが面倒なだけだったり。
661 :
658 :2009/01/06(火) 20:17:34 ID:dXsYDRZb0
>>659-660 座標君ですか。使ってみます。
ところで、「探したい画像が画面にいくつあるのか、またその位置をチェックする」というスクリプトを書いてみたのですが、
暇な方がいらっしゃいましたら校正お願いできませんでしょうか。
とくに配列の宣言はこれでいいのか・・・。
関数の戻り値は1つだけだと思うので位置はグローバル変数で指定しないとダメですよね?
今は数が99個までとしているのですが、99個超えたらどうしようみたいなのもあります。
////////////
PUBLIC X_Zahyo[99]
PUBLIC Y_Zahyo[99]
Num = CountImage( 0, 0, 1023, 767, "乳首.bmp", 11)
FOR i = 1 TO Num
PRINT X_Zahyo[i] + "," + Y_Zahyo[i]
NEXT
// 続く
// 続き FUNCTION CountImage( X_Start, Y_Start, X_End, Y_End, FileName, Y_Size) // X_Start サーチ範囲(X座標開始位置) // Y_Start サーチ範囲(Y座標開始位置) // X_End サーチ範囲(X座標終了位置) // Y_End サーチ範囲(Y座標終了位置) // FileName 画像名 // Y_Size 画像の高さ(ドット数) Y = Y_Start // サーチ位置(初回はY_Start) i = 0 // 発見した個数 WHILE CHKIMG( FileName, 0, X_Start, Y, X_End, Y_End) = TRUE i = i + 1 // 発見した個数をカウント X_Zahyo[i] = G_IMG_X // X座標を格納 Y_Zahyo[i] = G_IMG_Y // Y座標を格納 Y = G_IMG_Y + 1 // 次は発見した場所の1ドット下からサーチする // 以下、発見した画像の真横をサーチ WHILE CHKIMG( FileName, 0, G_IMG_X + 1, G_IMG_Y, X_End, G_IMG_Y + Y_Size - 1) = TRUE i = i + 1 // 発見した個数をカウント X_Zahyo[i] = G_IMG_X // X座標を格納 Y_Zahyo[i] = G_IMG_Y // Y座標を格納 WEND WEND // 戻り値 RESULT = i FEND
なんかいろいろめんどくさいことやってるね… 関数にするのはともかく、わざわざ個数と座標を返して 関数の外でPrintする必要はないんじゃない? わざわざ配列を作る必要もないし、配列サイズを気にする必要もなくなる 二重ループも意味不明 総当たりだと時間かかるから、画像サイズとか入れて少しでも時間短縮できれば便利じゃない? あ、でも真横にある場合もあるから一応チェックするか みたいな思考かもしれないけど、結局ただの二度手間 単純に総当たりのループ一つだけでいいじゃん。 最初に書いたとおりループ内でPrintした方がスマート
>>661 どうかな
wkx = 0
wky = 0
while CHKIMG( "乳首.bmp", 0, wkx, wky, 1024, 768 )
PRINT G_IMG_X + "," + G_IMG_Y
wkx = G_IMG_X + 1
wky = G_IMG_Y
wend
printすると.\UWSC.LOGに残るよ
>>664 この書き方で同一X軸上にある2つ目の画像って取得できる?
自分は質問者じゃないんだが
>>663 まぁ、関数の外にデータを持っていきたい場合もあるだろう。
ってんでprintは便宜上の表現として良いかなと思う。
>単純に総当たりのループ一つだけでいいじゃん。
これはどういう書き方になるんだ? >664だと >665 に書いたとおりに同一X軸の画像は取得できない。
増減対象をXとYで2回繰り返しても、XとY軸に同一の座標(格子状の配置)のものがあれば取りこぼすし。
なんで出来ない?
>>665 CHKIMGってtrue返したあとどういう挙動してるの?
x,yってもちろんxから走査するよね?
自分の知る限り chkimgは x=0,y=0〜画面解像度 x=1,y=0〜画面解像度 x=2,y=0〜画面解像度 と走査していって 最初に見つけた座標ひとつだけをG_IMG_X,G_IMG_Yへ返して終わりだ。 戻り値が配列になってるとかそういうのは聞いたことがないなぁ。 …なんか質問者の意図とは違うところに話が行ってる気がするよw 配列の受け渡しは関数宣言のvarで出来るからグローバルじゃなくても良いよ。 後、あんまり綺麗じゃないけど、対象数が不明すぎるなら連想配列でも良いんじゃないかな?
xyが違ってた y=0,x=0〜画面解像度 y=1,x=0〜画面解像度 y=2,x=0〜画面解像度 と走査していって だな …しかし、>663はどうやってループひとつで解決できるんだろう。
>>669 今テストしたんだけど一発で
>>664 俺書けてるじゃんw
君のPCがおかしいよ
.\UWSC.LOGはどこにあるかしってる?
処理したいならprintのところに関数でもなんでも置換すればおk
これでどうよ wkx = 0 wky = 0 while CHKIMG( "乳首.bmp", 0, wkx, wky, 1023, 767 ) PRINT G_IMG_X + "," + G_IMG_Y wkx = G_IMG_X + 1 wky = G_IMG_Y ifb CHKIMG( "乳首.bmp", 0, G_IMG_X , G_IMG_Y + 1, G_IMG_X, 767 ) then PRINT G_IMG_X + "," + G_IMG_Y endif wend
アルゴリズムの初歩っぽいけど、こういうのは考えると楽しいよね。 >673 惜しいけど、それは考え方が変わってないよね? 二つ目以降が取得できない。 ■ ■ ■ ■ ■ ■ ■ ■ ■ 658の二重ループはスマートな結論だと思うんだけどなぁ。
675 :
673 :2009/01/07(水) 00:04:09 ID:yeJt08sV0
>>674 君スマートやね
初歩とかそういうレベルじゃなくて
CHKIMGの仕様,振る舞いがおかしくない?
しかし、シレっと「乳首.bmp」なんて書くんだもんなぁ。 ネタ過ぎるwwwwww
>>674 単ループで2個目が取れないと思ってるのなら
二重ループじゃ3個目が取れないんじゃないのか?
>>675 まぁ、おかしいというか物足りないというか。
『最初に見つけたものだけを返す』仕様だから仕方が無い。
その上で自前で関数書くのもライブラリ探すのも結果は一緒だよ。
>677
2重目のwhileのchkimgで
見つけたx座標に+1して再探査してるから、3個目も探し続けるでしょうね。
この中に本人がまぎれてます
ああ、小学生的に日本語を間違えてた
>>674 × 二つ目以降が取得できない
○ 三つ目以降が取得できない
もしくは
○ 二つ目までしか取得できない
ですね
ああ、誰も突っ込まないからそこが間違ってるだなんて思わなくて そこを疑わずに話をしてたけど Whileの条件だけでループさせたところで 一重だろうが二重だろうが…何重にしたところで駄目だろ FOR i = 0 TO 767 - 画像縦サイズ X_Start = 0 WHILE CHKIMG( FileName, 0, X_Start, i, 1023 - 画像横サイズ, i) = TRUE X_Start = X_Start + G_IMG_X PRINT 個数 + ":" + G_IMG_X + "," + G_IMG_Y WEND NEXT
> X_Start = X_Start + G_IMG_X X_Start = G_IMG_X + 画像横サイズ こうか…間違ってたわ
>>682 >>661 これでできたよ
Y = 0
Y_Size = 1
FileName = "乳首.bmp"
WHILE CHKIMG( FileName, 0, 0, Y, 1023, 767)
print G_IMG_X + "," + G_IMG_Y
Y = G_IMG_Y + 1
WHILE CHKIMG( FileName, 0, G_IMG_X + 1, G_IMG_Y, 1023, G_IMG_Y + Y_Size - 1)
print G_IMG_X + "," + G_IMG_Y
WEND
WEND
>>661 なんでわざわざ配列使うの?
printを他の処理に変えばいいんじゃない?
結論 乳首の数は2個、位置は乳輪の真ん中
という冗談はおいて置いて、
>>666 の言う通り、PRIINTは便宜上だろう。
最終的に配列で欲しいんじゃないか?
散布図画像のプロットデータを読み込んで何やら高度な計算、とかだったら99個じゃ足りないだろうな。
1. 数と位置を調べ、ファイルに書き出す。
2. ファイルを一旦閉じる。
3. ファイルを開く。
4. 配列宣言
DIM X_Zahyo[FGET(ID,-1)]
DIM Y_Zahyo[FGET(ID,-1)]
5. 配列に値をほうり込む。
これで大丈夫かな?
試してないけど。
おまいらがあんまり楽しそうに語ってるから久々に触ってみようと思ってヘルプ読んでみたけど ChkImgの挙動ちゃんと書いてないんだなw 二箇所引っかかるような画像用意して MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y) MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y) ってやったらこの二行目ので二箇所目の座標もちゃんと検出したんだけど While ChkImg(fname)
途中で送信しちゃった 座標指定も使わず While ChkImg(fname) //G_IMG_XとG_IMG_Yの出力 Wend だけでいいんじゃないのか? って思ったけどどうなんだろ
一番左上の画像が延々と検出されるだけ。
え…俺二箇所ともWhileの方で引っかかるんだけど…
俺も無限ループになるのかなと思って
>>687 で試した結果
引数省略した時のデフォの値に前回取得したG_IMG_X,G_IMG_Yの結果を勝手にずらした座標が使われるって解釈して
ほんでもって
>>688 でちゃんと2箇所無限ループもせずに取得できたんだけど…
試したけどやはり一つだけを延々と検出するだけなんだが?
あ、ごめんごめん この手の用途はPC放置してずっと監視させるのが目的だから 前回の値を起点にしたら長時間の画面監視なんてできないよね 忘れてちょうだい
>>692 試したらなったってのはどういうミスだったの?
リロードしてなかった…
>>691 なんでなのかな
uwscのバージョンとかで挙動が違うんかな
すまん久々に触ってるもんだから自分でも把握できないわ 混乱させるだけだからひっこむよ ごめんよ(´・ω・`)
走査しても人間が数値を読み違える事が在るからな。 MMVとSLEEP入れて、どこを検知したか分かり易くすると良いよ。
698 :
658 :2009/01/07(水) 20:28:09 ID:SaObSndz0
みなさんどうもありがとうございます。 連想配列という言葉は初めて聞いたので調べてみたいと思います。
ReSize使えよ
UWSCを再生させるとPCで他の作業ができなくなり困ってます。 又、窓別に違うUWSCを再生することはできますか? この腐れに教えて下さい・・・
>>700 よく意味が分かりません
スクリプトを窓別に書けばいいだけじゃないんですか?
ALT+F2キー(再生)押した後PCの操作がすべて取られるので他の作業が できないのです・・・
色々言いたいことはあるがやっかいなことになりそうなので、一言だけ。 諦めてください
操作を取られないように書けばいいだけ
>>702 IEを操作するのならCOM使うとフォーカス奪われないよ
Windowsフォームを操作するのなら諦めて
やったことはないのが 仮想PC(VMWare等)上でuwscを動かせば 自分は普通に作業できるのでは?
>>700 仮想マシンを使うのが簡単。
または、一つ一つの操作を、マウス・キーボードからWindowsAPIだとかを使うように全部変更すれば可能。
だだし、それ調べるのにソートー時間かかる。
WindowsAPIの知識が無いならやめとくべき。
MOUSEORGすりゃいいだけだろw 何で仮想マシンになるんだwww
>>708 それってさー
例えば、マウスポインタの位置を操作するスクリプトを動かしている最中で
自分はエクセルとかで同じくマウス使っている時に
マウスカーソルの位置がスクリプトによりどこかに飛ばされて作業の邪魔にならないの?
そうならないように指定すればいい。ってのに そうならないの?って逆質問するのは馬鹿に見えるからやめたほうがいい
>>710 馬鹿か お前はw
「そうならないように」するための 具体的な
>>706 や
>>707 の意見が出たんだろ?
そもそも
>>700 の質問自体が「そうならないように」する方法を問う質問だろうがw
お前、頭が不自由な子か?w
>>710 >>700の用件を満たしていない様に思える
>>708 に対して
本当に用件を満たしているか問うことが何故馬鹿なんだ?w
お前は頭大丈夫か?w
必死だなww
以下頭の悪さをひけらかすID:gYr5hc3Z0はスルーでどうぞ
>>714 アプリに直接では送る相手が変わってしまって期待通りの動作しなかったりする。
それだったら直接API使った方がマシという。
送る相手が変わる??? 送り先指定してんのにどうやったら変わるんだ?
716は昨日のID:gYr5hc3Z0だろw こいつは妄想で適当なことしか書き込まないからスルーしとけ
>>717 相手が変わるって言うか
アプリケーションに送るのとクライアントに送るのとで変わってくるだろ?
ちがうのかな。
アプリケーションに直接送るっていうのは、受け側がWM_CHARを処理しないといけないんだろ?
ゲームのようなやつはそんなの見てないし。
>>719 そんな妄想はいいから具体的にスクリプトあげてみてくれよ
// 投稿関数はtest15.uwsのもの。スレ覧取得ループはv1をさらに改造。
// キーワードに合致するものを優先的に検索・投稿し、そのほかは余裕があれば2ゲットする。
// 2008/7/4
// スレ覧はSubject.txtをGetして使うように変更。
// それに伴い304エラーのために間隔を開ける必要がなくなり、鯖への負荷も減らせる。
// 2008/07/14 OpenJaneでnewsplusを開いていてsageチェックがはずされていれば投稿し、待ち状態に入る。
// 2008/11/02 FOXの板を回避
// 2008/11/25 3回目の規制で、「二日までなら見逃し」という依頼者からの発言を受けて、
// 日付変更をチェックして自動終了するように変更。
def_dll GetWindow(hWnd,long):long:user32.dll
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ
board = "ニュース速報+"
//Jane本体のID取得
JBID = GetID("", "TMainWnd")
Public ProblemName = "FOX★", "番犬★"
/////////
// 定義
STOPFORM(true)
メモ帳 = Exec("notepad.exe")
板アドレス="
http://mamono.2ch.net/newsplus/ "
TEXTBLOCK text24
正論が通らない狂った日本
ttp://ryotaroneko.ti-da.net/e2186226.html // 2ch規制
ENDTEXTBLOCK
Dim TitleWord = "更迭" // text1の投稿対象とするスレッドタイトル
text0 = text2 // そのほかのスレッドへの投稿内容
text = text0 // 投稿テキストにセット
Dim oHttp // 通信オブジェクト
conturl = "
http://mamono.2ch.net/test/read.cgi/newsplus/ " // スレッド保存場所
url=板アドレス + "subject.txt" // 新着監視ページ
PUBLIC errortitles[]="サーバーが見つかりません", _
"ERROR", _
"ERROR", _
"error", _
""
DIM LastThreadNo=0 // スレ番を保存し、2重の書き込み、過去スレへの書き込みを回避する。
/////////
// 処理
// 通信オブジェクト接続
oHttp = CreateOLEObj("MSXML2.XMLHTTP")
// 投稿用ブラウザを起動
IE = CreateOLEObj("InternetExplorer.Application")
IE.visible = True
ID = HNDToID(IE.HWND)
SendSTR( メモ帳, TitleWord + "を処理します。<#CR>", 1, false, false )
LastModified = "Thu, 01 Jun 1970 00:00:00 GMT"
LastThreadNo = 0
sleeptime = 9
Gettime()
StartDay = G_TIME_DD
while 1
sleep(sleeptime)
Gettime()
SendSTR( メモ帳, G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2 , 1, false, false )
ifb StartDay <> G_TIME_DD then
SendSTR( メモ帳, "<#BR>日付変更により終了", 1, false, false )
exit
endif
// Webページ読み込み COM_ERR_IGN //COMエラー無視 SendSTR( メモ帳, " ", 1, false, false ) oHttp.Open("GET", url, True ) SendSTR( メモ帳, ".", 1, false, false ) oHttp.setRequestHeader("If-Modified-Since", LastModified); SendSTR( メモ帳, ".", 1, false, false ) oHttp.Send("") SendSTR( メモ帳, ".", 1, false, false ) ifb 200 = oHttp.status Then SendSTR( メモ帳, ";", 1, false, false ) sleeptime = 3 else SendSTR( メモ帳, ":", 1, false, false ) sleeptime = sleeptime + 10 SendSTR( メモ帳, " " + oHttp.status + "<#CR>", 1, false, false ) continue endif SendSTR( メモ帳, ".", 1, false, false ) LastModified = oHttp.getResponseHeader("Last-Modified") SendSTR( メモ帳, ".", 1, false, false ) ifb COM_ERR_FLG SendSTR( メモ帳, ".", 1, false, false ) SendSTR( メモ帳, "COM ERROR<#CR>", 1, false, false ) continue endif SendSTR( メモ帳, ".", 1, false, false ) COM_ERR_RET //エラー処理復帰 SendSTR( メモ帳, " stat:" + oHttp.status + "<#CR>" , 1, false, false ) str = DECODE(oHttp.responseBody, CODE_BYTEARRAY)
// IEが終了された場合は連動して終了 if !IDToHND(ID) Then break // スレッド一覧を処理 ThreadNo = 0 for TCnt = 1 to 50 str1 = token( "<#CR>", str, true, false ) Ifb 1 < Pos("(1)", str1) Then SendSTR( メモ帳, str1 + "<#CR>", 1, false, false ) // スレ番取得 str2 = CopyB( str1, 1, 10 ) ThreadNo = Val(str2, -1) if -1 = ThreadNo Then continue 2 ////////////////////////////////////// // 特定のスレッドにのみAAを投稿する。 Ifb Pos(TitleWord, str1) Then text = text1 break Else // デフォルトテキストをセット text = text0 // 処理しなかったスレ番の保存 //LatestNewList = ThreadNo Endif endif next /////////////////////////////////////////////// // 未処理の新規スレが残っている場合、投稿する。 // ループの外でやる理由は、一番古いスレから処理するため。 Ifb ThreadNo Then
// 投稿処理 ret = Cont( IE, conturl, ThreadNo, text, メモ帳) // text = text0 Gettime() TS = G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2 ifb ret Then LastThreadNo = ThreadNo SendSTR( メモ帳, "●good " + TS + "<#CR>", 1, false, false ) sleeptime = 130 else SendSTR( メモ帳, "▲err " + TS + "<#CR>", 1, false, false ) sleeptime = 5 endif Else // Janeの書き込み準備ができていれば投稿 Ifb -1 <> JBID Then //JCID = GetID("", "TWriteForm") JCID = GetChldID(JBID) Ifb JCID Then Ifb 0 = ChkBtn(JCID, "sage") Then GetItem( JCID, ITM_ACCCLK, 1) Ifb Pos(board, ALL_ITEM_LIST[10]) Then Ifb SaveJane( JBID, JCID ) Then SendSTR( メモ帳, "〓OpenJaneで投稿" + "<#CR>", 1, false, false ) sleeptime = 130 else SendSTR( メモ帳, "〓投稿失敗" + "<#CR>", 1, false, false ) endif Endif Endif Endif Endif Endif wend
>>721-725 関数化した部分があるけど長すぎたので省略
Function GetChldID( PID, CID = 0 )
// 投稿処理 ////////////////////
// 戻り値: TRUE:正常、FALSE:エラー
// 引数:
// IE :IEオブジェクト
// conturl :スレの場所
// TNo :スレ番
// text :投稿テキスト
// メモ帳=0 :メモ帳ID
// メモ帳IDはデバッグ用
Function Cont( Var IE, conturl, TNo, text, メモ帳=0)
//////////////////////////////////////////////////////
// 投稿ページを開く
// 引数:IEオブジェクト、アドレス、スレッド番号、投稿テキスト、試行回数、メモ帳ID
// 成功すればtrue、不完全なページならfalseを返す。
Function OpenContPage( Var IE, conturl, TNo, text, LTimes=3, メモ帳=0)
//////////////////////////////////////////////////////
// OpenJaneの投稿処理をする。
// 開いているスレと投稿先が違うと出る警告画面の処理のため関数化。
// _分で処理できなければFalseを返す
// ID:親ウィンドウのID
// IDD:Web ページの保存ダイアログID
// OpenJaneはウィンドウを閉じても非表示で存在している。
// そして投稿窓もダイアログでなく独自ウィンドウクラス。
// なので、制御がややこしい。
// 投稿窓が非表示になるとき、別の子窓が取得できるので、・・・
// 1000レスついてたり書き込みできない場合延々と繰り返してしまう・・
Function SaveJane( ID, IDD, メモ帳=0 )
2getに加担して鯖の負荷を上げるのは嫌だねぇ。 こういうのだったら使い勝手とか言わないでセカンドマシンでぶん回しておけよ。 …何で2get…ブログ先の人も首を傾げてるんだがなぁ。
uwscで単純な作業複数を、それぞれひとつずつのキーに割り当てることってできますか? 記録と再生でひとつの動作は行えるのですが、 複数のマクロや○+○じゃなくひとつのキーで実行は出来ないのかなと。
できるよ
>>728 出来るけど、ショートカットKey絡みならAHKの方が楽だと思う。
私はAHKでuwscファイルを呼び出すけど
>>731 お、同志w
自分も行数あるスクリプトはすぐに面倒になってUWSCで書いてるわ…
ある株ソフトにアラーム機能がないので UWSCで出来たらいいなと思いましたが どうしたらいいのか分かりません。 そのソフトはシグナルが出たときに 一番上の行に時間やら銘柄やら株価などが更新されていきます。 上昇のシグナルは緑背景に白文字、 下降のシグナルは赤背景に白文字となっており 上昇の緑の時にだけアラームを鳴らしたくて WHILE TRUE IFB PEEKCOLOR(887 , 241) = $2F6B55 THEN SOUND("C:\WINDOWS\Media\notify.wav") sleep(2) else sleep(1) ENDIF WEND 分からないなりにやってみたけど これじゃあ赤いシグナルから緑に変わったときにしか 役に立たない・・・ ボクにも書けそうな簡単なスクリプトあれば教えてください。
734 :
733 :2009/01/14(水) 21:00:55 ID:5VRwikzI0
追記 とにかくソフトになにか変化があったらアラームを 鳴らさせるように出来ないでしょうか?
そこまで聞くならソフト名ぐらい晒せ
736 :
733 :2009/01/14(水) 22:51:25 ID:5VRwikzI0
いっこのループと、いっこの条件分岐が出来てるから… 後は、ほしい数だけ条件分岐を作れば出来るよ。
739 :
733 :2009/01/14(水) 23:34:18 ID:5VRwikzI0
>>737 どういう条件分岐作ればいいのでしょう?
peekcolorだけでやるのは無理ですよねえ?
>>738 ***** getstr() sendstr() ********************
getstr(id,0,STR_STATIC)="大人買検知機"
getstr(id,0,STR_ACC_STATIC)="時刻"
getstr(id,1,STR_ACC_STATIC)="時刻"
getstr(id,2,STR_ACC_STATIC)="銘柄"
getstr(id,3,STR_ACC_STATIC)="約定値"
getstr(id,4,STR_ACC_STATIC)="出来高"
ちょっとやってみましたが
getstrで更新される文字とれるのでしょうか?
むずかしい〜
>>733 えーと監視する項目の色が緑に変わったときにアラームを鳴らしたいんだよね?
ということは、前回チェックした時の色と今回の色を比較しなければダメだよ。
色は何種類あるの? 赤と緑以外に通常の表示色はある?
それと気になった点を言うと、何秒おきに監視するの? 1、2秒単位で監視する
アルゴリズムになっているようだけど無駄にマシンパワーを食うんじゃない?
30秒おきとか1分おきとか5分おきとかだよね?
アルゴリズムを書くけど スクリプトにする時は文法と変数規約に則して変えてね。
※←は代入の意味ね。
前回の色 ← 通常色
今回の色 ← 通常色
WHILE TRUE
今回の色 ← 今回の色を取得して変数に代入
IFB 前回の色と今回の色が違う AND 今回の色は緑
アラームを鳴らす
ENDIF
前回の色 ← 今回の色
次回チェックまでXX秒スリープ
WEND
741 :
733 :2009/01/15(木) 00:55:00 ID:tW7kX9XU0
>>740 緑背景から緑背景の場合もあるから
文字の入る場所も含めて取得する地点を複数にして
判断すればいいのかな
比較ののところがどう記述すればいいのかまったく分かりません。
今のところ1秒でやっても負荷たいしてかからないけど
複数地点にして比較すると相当負荷かかってくるカモですね。
その場合はもうちょっと間隔あけるようにします。
// === 前回の色 = "" WHILE TRUE WHILE TRUE 今回の色 = (PEEKCOLOR(887 , 241) IF !(今回の色 = $白ーい色) THEN BREAK // 白以外ならループ抜ける // !で真偽反転だっけかな; 今回の色 = (PEEKCOLOR(111 , 222) IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・ 今回の色 = (PEEKCOLOR(333 , 444) IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・ WEND IFB !(今回の色 = 前回の色) THEN // 同じ色ではない場合の処理 IF 今回の色 = $2F6B55 THEN SOUND("C:\WINDOWS\Media\notify.wav") // グリーンなら IF 今回の色 = $レッドオ THEN SOUND("C:\WINDOWS\Media\レッドオ.wav") // レッドなら ENDIF 前回の色 = 今回の色 sleep(1) WEND // === 泥くせ;;;
743 :
733 :2009/01/17(土) 20:56:43 ID:3elNHqC+0
分からないなりに理解しようとしましたが 色を取得するってところが全然分からない。 今回の色とか前回の色oldcolor newcolor?
>>743 ひょっとして変数が判ってない?
いずれにしろ、UBTrek使ってpeekcolorを検索すれば沢山ヒットすると思う。
745 :
733 :2009/01/18(日) 00:49:03 ID:V1b5lGQF0
>>744 単純なpeekcolorの記述は何個か出てきましたが
前回の色と今回の色を比較するような例が見つかりませんでした。
>>745 dim color=peekcolor(100,200)
while true
newcolor=peekcolor(100,200)
ifb !color=newcolor
msgbox("変わった")
color=newcolor
endif
sleep(0.5)
wend
無限ループなので適当にBreak。
Mouseorg(id,2)使ってwindow指定した方がよいかも。
RGBが少しでも変化すれば反応してしまうので、RGBに分解した方がよいかも。
747 :
733 :2009/01/18(日) 01:13:47 ID:V1b5lGQF0
緑、赤とか関係なく ある一点の色変化があったときに アラームを鳴らす具体的なスクリプト教えていただけませんか なんとかそこから発展させてやっていきたいと思いますので。
748 :
733 :2009/01/18(日) 01:18:03 ID:V1b5lGQF0
>>746 ありがとうございます
でもまったく反応しないですね。
このままじゃダメなんでしょうか?
>>748 プログラムの基礎から学び直したほうがいいよ
君にはまだ早い
750 :
733 :2009/01/18(日) 01:29:38 ID:V1b5lGQF0
あ、反応しましたが なかなか反応しない感じです。
751 :
名無しさん@お腹いっぱい。 :2009/01/18(日) 03:18:31 ID:lcf3XQYB0
皆さんのUWSCを使用する用途は大体何ですか? 自分のPC環境の最適化以外にUWSCというのは マスターしたとしても他に例えば何に役立つのでしょうか? 例:仕事面 WEB製作面 etc マジ質問です
プログラムの何の知識も無いものがuwsc用のスクリプトを 作れるぐらいにったと仮定した場合に、既存のプログラミング言語では何が一番 とっつき易いでしょうか?
>>751 仕事面:決まりきった作業、繰り返し作業の効率化
Web製作面:ランダムな操作で想定外行動のチェック漏れ発見(意味あるかは知らない
セキュリティ面:泥棒が侵入してきたとき、クイックメニューから一発でメールで連絡できる。
ある程度相手が分かってる時便利。
DOSコマンドでメール送信するのを使ってたけど、コマンドラインにパスワード入れなきゃいけなかったので削除されてしまった。
うpろだのJpeg画像とか、一回ペイントで開いて上書き保存すると、サイズが半分近くになる場合が多い。
だからダウンロードした画像のリストをエクスプローラーで出して、ドラッグとCtrl+Sで更新を繰り返すのとか作った。
あとは、性能は低いけどパスワードクラックとか2Getスクリプトとか
たくさんのID作りたいときに自動登録マクロとか。
STOPFORM(true) ID = Exec("C:\WINDOWS\system32\mspaint.exe") while ID = (-1) // 負荷が高いとID拾えないので sleep(0.1) ID = GetID("無題 - ペイント") wend Repeat; sleep(0.1); Until GetKeyState(VK_CONTROL) StartX = G_MOUSE_X StartY = G_MOUSE_Y sleep(1) While !GetKeyState(VK_CONTROL) CLKITEM( ID, "ファイル\新規", CLK_MENU ) sleep( 0.1 ) // Ctrlキーで中断・再開 ifb GetKeyState(VK_CONTROL) then sleep(5) Repeat; sleep(0.2); Until GetKeyState(VK_CONTROL) sleep(1) endif MMV( StartX, StartY ) BTN( LEFT, DOWN, StartX, StartY ) EndX = Status(ID, ST_X) + 30 EndY = Status(ID, ST_Y) + 10 MMV( EndX, EndY ) BTN( LEFT, UP, EndX, EndY ) If DlgWait(ID, EndX , EndY) Then Continue If Status(ID, ST_TITLE) = "無題 - ペイント" Then break CLKITEM( ID, "ファイル\上書き保存", CLK_MENU ) DlgWait(ID, EndX , EndY) wend CtrlWin(ID, Close) MsgBox("処理が終了しました。")
// マウス形状が通常の状態が1秒ほどあればタイムアウト。 // その間にダイアログが表示されるかどうかで戻り値が変わる。 // ダイアログが出た場合、OKをクリックする。 // True: 窓出現 False: 窓出ず Function DlgWait(ID, EndX , EndY) Result = False cnt = 0 while cnt < 6 sleep(0.1) MMV( EndX , EndY ) if MUSCUR() = CUR_ARROW Then cnt = cnt + 1 CID = GetChldID(ID) Ifb CID Then sleep(1) ClkItem(CID, "OK") Result = True break endif wend Fend // 子ウィンドウを探す // 戻り値:子ウィンドウのID。見つからなければ0。 // PID:親ウィンドウID // CID:子ウィンドウIDの候補 // GW_ENABLEDPOPUPはWindows2000以降のみでサポート // // GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、 // Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。 // メニュー Class:"#32768" // ダイアログ Class:"#32770" // ツールチップ Class:"tooltips_class32"
Function GetChldID( PID, CID = 0 )
Ifb CID Then
Ifb PID = STATUS( CID, ST_PARENT ) Then
result = CID
exit
endif
endif
h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP )
Ifb h Then
S = Status(HndToID(h), ST_CLASS)
Select S
case "#32768"
Result = 0
case "tooltips_class32"
Result = 0
default
Result = HndToID(h)
Selend
Else
Result = 0
Endif
Fend
// エクスプローラーとペイントを使った、Jpeg画像ファイルダイエットスクリプト 2008/10/21
// 使用方法:対象ファイルをエクスプローラーで表示し、ペイントが起動したら、エクスプローラーの
// ファイル一覧画面の一番下のファイルにマウスカーソルを合わせ、Ctrlキーをクリックする。
// Ctrlキーで中断。
ソースは
>>755-757 ※エクスプローラーで、ファイルを詳細表示し、表示中ファイルの一番下のやつをクリックすると勝手に一つスクロールする。
これを使うと簡単に順番に処理することができる。スクロールしない場合は窓の高さを変更する。
>>753 VBSかな。これもスクリプト言語だけど・・・
次はVB.netかな。
>>750 sleepが0.5秒だから反応は遅いね。
760 :
733 :2009/01/18(日) 11:55:00 ID:V1b5lGQF0
>>759 一応読んでみたのですが
取得した値と新しく取った値を比較
さらに新しく取った値と比較みたいなことは
どこにも書いてないのではないでしょうか?
>>758 これって最初に取得した色と比較してMSGBOXが出るようになってますよね?
ある地点の色を取得して現在の色と比較
さらに取得して新しく取得した色と比較と
これを繰り返していきたいんです。
>>760 あなたは日本語言語でちゃんと処理を記述してるじゃないか。
あなたがセンテンスを分割して2行で書いたとおり
uwscで2回比較処理をすればいいじゃないか。
これ以上はちょっと俺は関与することに面白みを見出せないわ
別にアルゴリズム的に難題というワケでもなし。
単なる知識不足のサポートは自助努力で補うといいよ。
…書いたものに駄目だしをされるだけなのは疲れるからね。
自分で書きなさい。想定がつけば駄目だしをしてあげるから。
自分でやろうって気が少しも感じられないもんな
>>760 自分のやりたいことがそっくりそのまま1から10まで書いてあるわけ無いだろ。
基本的なことは書いてあるんだからそれを理解したなら自分で作れ
>>754 真面目にレスありがとうございます
UWSCで画像を対象にした条件分岐や色々作成した事はあるのですが
(今ではすっかり文法忘れてます)
ルーターにアクセスしてある設定を切り替える、等も
UWSCで可能でしょうか?
PHP等のスクリプトですると難しそうなので・・・
可能です
766 :
733 :2009/01/19(月) 15:25:59 ID:V9clvX4k0
みなさんのヒントを元になんとか完成しました。 またつまづいたらよろしくお願いします。
ハハ お断りします (゚ω゚) _(_つ/ ̄ ̄ ̄/_ \/___/
[Ver4.5]
高レベル記録… なんというお手軽システム。
うう、まだcall文で変数が使えんのか・・・
IE_Subってもう入手できないの?
一昨日からスクリプト組始めたんですが、どうにも配列変数の使い方(定義を含めて)がわからないので 詳しい方ご教示願います。 例えば変数ABC(x、y)に10*10=100個の変数にX軸Y軸共に1を格納していく場合、 BASICで書くと(うろ覚えですけど。) FOR Y=0 to 9 FOR X=0 to 9 ABC(X,Y)=1 X=X+1 NEXT X Y=Y+1 NEXT Y と、したい所をuwscでは最初にどう定義して配列変数を使っていけばいいですか? ヘルプ見たんですけど、イマイチイメージがつかめません お願いします。
あ、FOR〜NEXTってX=X+1とかいらないんだっけ?・・・orz
どうって、 DIM ABC[10][10]って定義して > ABC(X,Y)=1 ABC[X][Y]=1 っていれてくだけでしょ…
ああ、(x,y)じゃなくて[x,y]じゃないといけないのね・・・helpそういう意味かorz とんだ勘違いしてました。どうもです
776 :
名無しさん@お腹いっぱい。 :2009/01/23(金) 08:39:26 ID:n0Gk8YsY0
複数のスクリプトを連続で起動させるにはどうすればよいですか? 1のスクリプトがおわったら自動的に2をのスクリプト起動、2→3、3→4...という感じです。
>>776 各スクリプトの最後でcall。
もしくは
exec("フルパス\uwsc.exe フルパス\hoge.uws")
こちらは多重起動禁止だとダメかもしれん。
>>776 1の頭で2,3,4をcallして
1でprocedureやFunctionを順に呼び出してもいいよ
779 :
名無しさん@お腹いっぱい。 :2009/01/23(金) 12:30:51 ID:n0Gk8YsY0
>>705 さんの
>IEを操作するのならCOM使うとフォーカス奪われないよ
これについて理解を深めたいのですがどのあたりを具具れ場良いのでしょうか?
781 :
705 :2009/01/23(金) 20:41:40 ID:CkpYM4hA0
>>780 これに関してはググってないからわかんない
ヘルプのじゃ難しい?
スクリプト > スクリプト関数 > COMオブジェクト, IE操作関連
あとはページソースと睨めっこ
782 :
780 :2009/01/23(金) 22:39:18 ID:aJMC8HA30
>>781 ありがとうございます。よく読んでみます。
かなり、基本的なことで恥ずかしいことなのですがどうしても解決できず…
HAZU = GETID("
http://www.*** ")
ClkItem(HAZU, "事件", CLK_BTN)
上記では、webウィンドウ上のアイテムをくりっくすることができません。
エラーは起きないのですが。。
原因としてはなにが考えられるでしょうか?
left clickではないだろうか。
早速のへんしんあり
Left Clickということは、そのあとに座標指定ですよね?
web上だとずれてしまいませんか??
>>785 違いますよ〜
>>782 わからなかったからここできくといいよ
その時はURL晒すように!
↓のようなレベルの質問しなければだけどw
ID:5VRwikzI0
ID:V1b5lGQF0
>>783 IE上のはCOMで書かないとだめ
ウィンドウ関連はWindowsフォームを扱うもの
COMで書くと言うことは、C++や、java言語で組め ということですか?
座標(720,100)の赤要素が200〜255の時はAキーを押し、 赤要素が199以下の時はBキーを押す。 というように動かすにはどう記述すればいいですか? ---------------------------------------------- IFB (PEEKCOLOR(720,100) and $0000FF) 55 then KBD(VK_A,CLICK,40) ELSE KBD(VK_B,CLICK,40) ENDIF ---------------------------------------------- 上記のように書きましたがうまくいきません。 ご教授お願いします。
IE上の、どのラジオボタンをクリックするのかを指定するにはどのようにすればよいのでしょうか? IESetData(IE,True,"lr","lang_ja") // ラジオボタン選択:日本語のページを検索 IESetData(IE,"UWSC","q") // 文字設定:検索単語 IESetData(IE,True,"btnG","Google 検索") // SUBMIT ヘルプではこのように載っていますが1行目のlrというのは、ラジオボタンということを示しているのでしょうか? よくわかりません><
教授じゃなく教示だと何度言ったら
>>790 IESETDATA( IE, 値, Name, [Value, 番号] )
google.co.jpのソースを見ると
<input id=all type=radio name=lr value="" checked><label for=all> ウェブ全体から検索 </label>
つまり Name=lr, value= ""
<input id=il type=radio name=lr value="lang_ja"><label for=il> 日本語のページを検索 </label>
同様に Name=lr, value= "lang_ja"
値がtrueということは,選択もしくはクリックするということ
>>790 //以下コード
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("
http://www.google.co.jp ")
BusyWait(IE)
IESetData(IE,True,"lr","lang_ja") // RADIO: 日本語のページを検索
MSGBOX( "日本語のページを検索 のラジオボタンをオンにしました." )
IESetData(IE,True,"lr") // RADIO:ウェブ全体から検索
MSGBOX( "ウェブ全体から検索 のラジオボタンをオンにしました." )
Procedure BusyWait(ie)
Sleep(0.5) // Wait
Const TIME_OUT = 90
tm = Gettime()
repeat
Sleep(0.2)
ifb Gettime() - tm > TIME_OUT
MsgBox("Time Out:BusyWait")
ExitExit
endif
until (! ie.busy) and (ie.readyState=4)
Sleep(0.5)
Fend
>>789 IFB ( PEEKCOLOR( 720, 100 ) and $FF ) >= 200 then
andってどういうこと?教えて!
797 :
789 :2009/01/25(日) 18:08:13 ID:KXHTzu1o0
>>794 ありがとうございます。うまく動きました。
>>792 なるほど。ソースを調べるわけですね
骨が折れますね
大事なことを教えて頂き、ありがとうございます^^
しかし、右クリックでソースを調べることが出来ない場合はどうすればよいでしょうか?
>>798 opera使うといいよ
右クリック禁止抑制とかフレームのソースも簡単に拾える
俺も解析用に使った
今ではメイン
なにからなにまでありがとうございます 試してみます
InternetExplorer上で、操作したいページを表示した状態で、 IE = GETACTIVEOLEOBJ("InternetExplorer.Application", "Web航海時代" ) IESetData(IE,True,"point","3") ↑のようなコードを実行しても、なにも起きません エラーは起きていないし、nameやvalueも間違っていないと思うのですが…
nameかvalueが間違ってるんだと思う IESetDataの戻値を見て正常かエラーか見てみればいかが?
<input type=radio name=point value="3"> ↑ソースコードですが、name,value共にあっているかと…
志村ー!、ダブルクォーテーション!ダブルクォーテーション!
うぅ、、、ダブルクォーテーションまーくをつけたりとったりしてみましたが、エラーになりました><
<input type="radio" name="point" value="3"> これで行けるはずだけど、行けなかったらごめん、その時は他が間違ってると思う。
色の判定をしてるのですが全然認識をしてくれません・・・ 自分の環境に合わせてるつもりなのですが、どうすればBRG値をうまく範囲化できるのでしょうか><?
>>806 わざわざありがとうございました^^
しかし、なにもかわらず…
色々やってみます。
オンラインゲーム? ならこのスレの上の方で散々書いてあると思うよ。 (それに当てはまるかどうかは知らない)
私は、ゲームの操作を自動化したいなとは考えていますが、特別なページ 殊に、上記のように、なぜURL直接入力では希望のページに飛べないの か疑問に思った だけです。
>>811 ソースを見ればすぐ分かると思うのですが・・・
Windows Script Encoderはもちろん知っていますよね?
IEでのみlocation.replaceがdecodeされるので別ページに遷移するのです。
これがuwscと一体どう関係あるのでしょうか?
>>812 横レスだが
おまいは常に人を馬鹿にしてないと生きていけない奴だなw 哀れw
>>814 横レスだといったろ?w
恥ずかしい奴だな おまいはw
ここまで俺の自演
と、ここまで俺の自演。
集まってるおまえらよ、そろそろ散れよ。
820 :
811 :2009/02/01(日) 06:29:15 ID:KLbW2NFD0
すいません><よく知りません
UWSCのスケジュールの設定で質問があります。 インターバルの設定が、1〜5分の設定と10分毎の設定などがあるのですが 7分や8分でのインターバルの設定は、どのようにしたら良いのでしょうか? 式による設定で式を入れれば良いのでしょうが どんな式を入れればインターバルが7分や8分になるのか わかりません。 ご教授頂ければと思います。
>>821 インターバルだけでよかったら
Interval_7min.uws かなんか作ってそこに
Call Main.uws
while true
main() //関数呼び出し
sleep(420) //7分
wend
これでいいんじゃない?
それだと、 7分 + main()処理 じゃん? GETTIME使えばピッタシ!! > 式による設定 > 自分で式を記述する事により細かな時間設定が決められます > 使える変数 > YY (年)、MM (月)、DD (日)、HH (時)、NN (分)、YMDNN (2000年からの経過分)、WW (曜日:日曜=0,.....土曜=6) > 注意:チェックは分単位でされます、分単位の設定(NN, YMDNN)を忘れずに > 例) > (WW=2) AND (HH=0 OR HH=12) AND (NN=0) // 火曜日の0時と12時 > (YMDNN mod 18)=0 // 18分間隔 7分 : (YMDNN mod 7)=0 8分 : (YMDNN mod 8)=0 1、YMDNN (2000年からの経過分) 2、modは割り算した余り 3、割り算して余りがゼロ じゃまいのか?
4、式を希望する日時で”真”になるようにすればいい たぶん・
>>823 Gettimeの戻り値が秒だからそれ使うだけでいいよ
分とか見たら割り切れないし。
ニュースの記憶見るかガンダム見るか悩むが
やっぱりガンダム見る
??? SLEEPと、 Gettimeと、 スケジュール設定の式による設定 の3つのメリットデメリットを書いたんだけど。 >>分とか見たら割り切れないし。 って意味わかんないんだが、 何を意味した書き込みなんだ?
827 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 04:55:33 ID:cpjbDFRd0
>>826 ああ、ごめん。
>YMDNN (2000年からの経過分)
これ知らんかった
828 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 13:10:24 ID:yH09tKlS0
質問です .vbsファイルをuwscで開くにはどのように記述すれば出来ますか? exe以外のファイルの開き方が分からず、 今はクイック起動にショートカットを作成し、クリックして開くように記述しているので 直接開く方法があればご教授頂きたいです。
doscmd("???.vbs")
830 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 14:30:06 ID:yH09tKlS0
>>829 有り難う御座います。
ですが実行されませんでした
フルパスで""も付けたんですが…
OSはvistaなんですが関係無いですよね…
831 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 14:49:49 ID:cpjbDFRd0
>>830 ショートカットのプロパティにリンク先っていうのがあるでしょ。
それをコマンドラインに入力したらいいんだけど。
コマンドプロンプトを開いて実行するか、
ファイル名を指定して実行(Vistaにあるかは知らないが)で、実行できるか試してみて。
832 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 15:05:20 ID:yH09tKlS0
>>831 有り難う御座います。
先ほどuwscで動かなかったので、
コマンドプロントからも直接やってみましたが、
vbsは実行されてませんでした orz
>>832 Vistaでも問題なくできるぞ
どんなエラーメッセージが出る?
835 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 15:21:46 ID:yH09tKlS0
>>834 いえエラーは出ないんですが、
コマンドプロンプトに(フルパス).vbsをペーストしてEnterを押しても
動いた形跡が無いんですよね・・・
ただbatファイルをウインドウ非表示で実行させるだけの簡単な物なんですが
それとも何か必要な物が欠けているんでしょうか
普通にクリックしたときは動くんですが・・・
>>835 vbsのほうにメッセージボックスを1行入れてみたら?
837 :
名無しさん@お腹いっぱい。 :2009/02/02(月) 15:49:30 ID:yH09tKlS0
>>836 有り難う御座います。
色々調べてみて今、解決出来ました。
お騒がせしました。
できれば、何が原因だったか教えてくれると有り難いとか思ってるのは俺だけかな? 初心者だからどういう時にそうなるのか気になる。
ブラウザを起動するときに最小化できませんか? 検索では、UWSC.exeのあるフォルダのUWSC.INIをメモ帳で開き、 StopForm=0 を StopForm=1 に変更して保存します。 とあったのですが、iniファイルがなく設定できませんでした。 キーボードからオルトとスペース、Nキーで最小化できるので キー操作のスクリプトからできることはできるみたいですが 一回、表示されてからの対応になるのでできれば起動時から できたらいいのですが。
comでxmlhttpを使え。解決する。 他にも色々あるが、まぁ、とりあえず使ってみろ。
>>839 UWSC.INI の StopForm キーの値は
スクリプト再生中に現れるフォームウィンドウを
表示するかしないかってやつじゃなかった?
最小化でアプリ起動ってのは API 関数の ShellExecute() を使う
HINSTANCE ShellExecute(
HWND hwnd, // 親ウィンドウのハンドル
LPCTSTR lpVerb, // 操作
LPCTSTR lpFile, // 操作対象のファイル
LPCTSTR lpParameters, // 操作のパラメータ
LPCTSTR lpDirectory, // 既定のディレクトリ
INT nShowCmd // 表示状態
);
ブラウザのパスは適宜変更してください
DEF_DLL ShellExecuteA(hwnd, string, string, string, string, int): dword: shell32.dll
CONST SW_SHOWMINIMIZED = 2
IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL, SW_SHOWMINIMIZED) < 32 THEN
MSGBOX("実行に失敗しました")
ENDIF
>>841 すみません、比較式を間違えました
失敗時は 32 以下の値を返すので、正しくは以下です
IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL, SW_SHOWMINIMIZED) <= 32 THEN
MSGBOX("実行に失敗しました")
ENDIF
API 関数とかしりませんでした。 実際やってみたらブラウザは機動できました。 しかし、そこからの動作がされません。 指定のアドレスに移動するにはどうしたらいいのでしょうか? DEF_DLL ShellExecuteA(hwnd, string, string, string, string, int): dword: shell32.dll CONST SW_SHOWMINIMIZED = 2 IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL, SW_SHOWMINIMIZED) <= 32 THEN MSGBOX("実行に失敗しました") ENDIF IE = getactiveoleobj("internetexplorer.application") IE.Visible = True IE.Navigate("URL") 上記のような感じでやっています。アドバイスお願いします。
>>843 起動と同時に URL に移動するには
ShellExecute() の第 4 引数に URL を渡します
なお、ProgID は大文字小文字を区別するので
正しくは『InternetExplorer.Application』です
また、以下のコードでも同じことができます
OPTION EXPLICIT
DIM url = "
http://www.2ch.net/ "
DIM ie = CREATEOLEOBJ("InternetExplorer.Application")
CTRLWIN(HNDTOID(ie.HWND), MIN)
ie.Visible = True
ie.Navigate(url)
uwscでIEを開いた後、そのIEで開いたHP内の文字データなどを EXCELのセルに代入することはできますでしょうか?
できます
ありがとうございます なんとかやってみます
>>844 勉強になります。ヘルプみたり過去の質問検索してみましたが、
あまり、APIとかのことが載ってないのね・・・
>>848 MSDN見たほうが手っ取り早い事が多いからなぁ?
A = "●●"と言った感じのものを20ぐらいあるとしてそれを順に 送信しようと頑張っています。ちなみに一個だけならなんとかなる のですが、複数だとどうしてもコードがいっぱいになってしまします。 IESetData(IE,A,"kakikaki") id = getid("internet explorer") clkitem(id,"ボタン",CLK_ACC,CLK_BACK) sleep(15) これが、そのコードなのですが、Aのところに複数の文字を順に設定 できたらと思っています。よろしくおねがいします。
A[0] = "●●" A[1] = "○○" FOR i = 0 TO 20 - 1 IESetData(IE,A[i],"kakikaki") id = getid("internet explorer") clkitem(id,"ボタン",CLK_ACC,CLK_BACK) sleep(15) NEXT これでいいじゃん
レスどうも。m(_ _)m 実際に実行してみたら下記のようなエラーがでました。 Uスクリプト: 変数: A 配列をオーバーしてます 8行目:A[1] = "●●" こんなエラーがでます。A[0]は、大丈夫みたいです。 なんでだろう?なにかわかりましたら詳細お願いします。
dim a[19]= "●●","○○","△△","▲▲",・・・・・(20個記述) "とりあえず1から10まで聞いとけ"という性格が羨ましいと思うようになったこの頃。('A`)
うまくいきました。m(_ _)m なぜ、前にやつはエラーがでたのかしら? 原因が分からない。
変数の定義、宣言と 変数への値の代入という 二つの違いを理解してないから
前から疑問だったけど、聞けなかったこと。
>>841 のshellexecuteのnShowCmd。msdn等を見ると記述順番は
SW_HIDE, SW_MAXIMIZE, SW_MINIMIZE, SW_SHOW ・・・
で順番違うじゃない? この定数はどこで判別するんでしょ?
どなたか解説してくれないかな…
>>856 Windows Platform SDK の WinUser.h で定義されてます
ドキュメントの値は、記号定数名でソートされてるようです
CONST SW_HIDE = 0
CONST SW_MAXIMIZE = 3
CONST SW_MINIMIZE = 6
CONST SW_RESTORE = 9
CONST SW_SHOW = 5
CONST SW_SHOWDEFAULT = 10
CONST SW_SHOWMAXIMIZED = 3
CONST SW_SHOWMINIMIZED = 2
CONST SW_SHOWMINNOACTIVE = 7
CONST SW_SHOWNA = 8
CONST SW_SHOWNOACTIVATE = 4
CONST SW_SHOWNORMAL = 1
>>857 回答ありがとう!見つけられました。
これ、目的の記述部分を捜すのは適当な属性値をGrepで捜すくらい
しか思いつかなかったのですが、(ちゃんと順を追ってじゃなく、
あくまでdef_dllのためだけという意味)他に良い方法ありますでしょうか?
重ね重ねで恐縮ですが、もし知恵があれば教えてくださいませ。
859 :
名無しさん@お腹いっぱい。 :2009/02/07(土) 20:34:24 ID:TsGY9ahZ0
BMP画像(100x100)からUWSCを使ってRGB値をテキスト出力するにはどうすればよろしいでしょうか?
色情報を取得してそれをファイルに書き出せばいいのではないでしょうか
>>858 大抵の IDE はシンボルの定義部にジャンプする機能があるけど
確認のためだけに起動するのは避けたいので
俺は grep してます
862 :
858 :2009/02/08(日) 18:05:42 ID:iaalqOSe0
>>861 ナルホド〜。
ひとつ賢くなりました。多謝。
いくつかの画像のサンプルがあって、指定したウィンドウ内からその画像を書いた順番で探す。 合ったら処理抜け、なかったら次の画像探し 最終的にどれもなかったらまた処理抜けってのをがんばってやろうとしてるんだけどどーすりゃいいのかな いちいちifbで探してなかったらbreakみたいにやらんとダメ? もーちょいスマートにやれないかな
日本語でおk
例えば test test1 test2 って画像があって どれかがヒットしたらその画像をクリックってことやらせたい場合 ifb chkimg (test.bmp) = true then mmv(g_img_x, g_img_y) sleep(1) endif ifb chkimg (test1.bmp) = true then mmv(g_img_x, g_img_y) sleep(1) endif ifb chkimg (test2.bmp) = true then mmv(g_img_x, g_img_y) sleep(1) else break endif ↑よりもスマートってか効率的な書き方があるのかなってこと
ifb chkimg (test.bmp) OR chkimg (test1.bmp) OR chkimg (test2.bmp) then mmv(g_img_x, g_img_y) sleep(1) endif
日本語でおk こういう意味?私はスマートという日本語を知りません DIM bmp[]="test","test1","test2" for n=0 to length(bmp)-1 ifb chkimg(bmp[n]+".bmp") = true then mmv(g_img_x, g_img_y) sleep(1) break endif next
867のをかきかえてみると DIM bmp[5]="Garnet","Star sapphire","Topaz","Spinel","Emerald" for n=0 to length(bmp)-1 ifb chkimg(".\image\"bmp[n]+".bmp") = true then mmv(g_img_x, g_img_y) sleep(1) break endif next こうなったんだけど式違うって怒鳴られました・・・
パソコンに同情するわ
870 :
名無しさん@お腹いっぱい。 :2009/02/09(月) 16:18:53 ID:5wLvS0Ft0
".\image\"bmp[n]+".bmp" × ".\image\" + bmp[n] + ".bmp" ○ ちゃんとスペース入れないから間違うんだ
特定の文字を含むアドレスを抽出しそれを順々に周っていくという
のを作っています。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://www. ●●[A]", IE.document.links[A].href) > 0
IE2 = GETACTIVEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
ENDIF
NEXT
IE.QUIT
[A]のところは毎回違います。これでやると順々に周ってくれません。
フリーズさえしないもののページを読み込むのが終了せずそのままに
なります。
実行したときには、"
http://www. ●●[A]"←この部分はちゃんとしたアドレス
になっています。
>>871 >IE2 = GETACTIVEOLEOBJ(
これってIEを起動していないと、オブジェクトIEとオブジェクトIE2は同じものになるよね。
で、元のIEで他のページ開いちゃったら、IE.document.linksが無効になっちゃうんじゃないかな。
というか最初にとったIE.document.links.lengthとページが切り替わったあとのやつとでつじつまが合わなくなってちゃんと動かないはず。
特にUWSCのFOR分は、ループに入ったら回数固定だから、その辺が変動しないようにきっちりやらないと。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://dailynews.yahoo.co.jp ", IE.document.links[A].href) > 0
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
ENDIF
NEXT
IE.QUIT
これが参考にしたソースなのですが、871は私が色々やってるやつです。
上記のソースだとそれぞれブラウザで開くということになってしまいます。
表示されたページで特定の語句が含まれるアドレスをゲットして
それをもう一つ起動したブラウザで順に巡回するというのでもいいのですが。
>>873 2つ目をCreateしてれば問題ないけど、
1つ目に上書きするとだめなんですよ。
Getするということは、確率的に1つ目を取得することになります。
他の窓がない場合は100%1つ目の窓を取得します。
どうしても1つ目の窓でやりたければ、
Navigateする前にlinksを全部配列にコピーしておかないと駄目です。
ループすると次々に窓を起動するのでいやだということなら、
ループに入る前にあらかじめ2つ目をCreateしておけばいいんです。
そもそも参考にしたソースは実用的な動作じゃありません。
ただ、Navigateした後に待ちを入れていないので、スクリプトの動作は快適で安定するでしょう。
とりあえず >ループに入る前にあらかじめ2つ目をCreateしておけばいいんです。 この手法をお願いします。できれば配列にコピーというのもお願いします。
>>875 まずは2つ起動
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://www. ●●[A]", IE.document.links[A].href) > 0 Then
IE2.navigate(IE.document.links[A].href)
REPEAT
SLEEP(0.1)
UNTIL !IE2.BUSY AND IE2.READYSTATE = 4
ENDIF
NEXT
IE.QUIT
IE2.QUIT
if 〜 Then
REPEAT 〜 UNTIL
ThenとREPEATが抜けてました
あと、IE2でNavigateしたのに待ちループではIEになってました。
インデント(頭の空白)入れないとそういうところのミスが発見できません。
正直、わからないです。 質問が悪かったのかしら・・・ 1、指定ページに移動 2、特定の文字を含むアドレスをゲット 3、ゲットしたアドレスを順に表示(IE2でも可) この動作なんだけどなー。うーむ。
>>875 配列を使うやつ
DIM リンク[]="ダミーデータ"
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://www. ●●[A]", IE.document.links[A].href) > 0 Then
リンク[length(リンク) - 1] = IE.document.links[A].href
resize(リンク, length(リンク))
ENDIF
NEXT
KAISU = length(リンク) - 1 // 配列の最後尾は空欄
FOR A = 0 TO (KAISU - 1)
IE.navigate(リンク[A])
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
NEXT
IE.QUIT
>>878 の補足
リンクの選別を最初のループでやってるので、2回目のループは無条件に処理できる。
ループ回数が違っているのも要チェック。
配列がちょっとややこしいやり方だけど、カウンタが2つ以上になってもややこしいのでこういうやり方してます。
リンク[length(リンク) - 1]は、リンクっていう配列の最後尾を意味します。
resize(リンク, length(リンク))は、配列を一つ増やします。
上記2行により、最後尾にデータを追加するたびに配列を増やし、常に最後尾をあけておきます。
ちなみに、最初に配列数を0にしておけばごみがでないように思われますが、
最小配列サイズが1なので、どうしてもごみが入ります。
また、最初の1回で隙間をなくそうとすると、ループの処理がおかしくなります。
>>877 おいおい
1、指定ページに移動 は、IE.Navigateだし
2、特定の文字を含むアドレスをゲット は、
POS("
http://www. ●●", IE.document.links[A].href) > 0
の条件を満たすときの IE.document.links[A].href だし
3、ゲットしたアドレスを順に表示(IE2でも可) は、
ループの中でIE.Navigateですよ
これ以上丁寧に教えるのは無理。
ヘルプとサンプルをじっくり見てください。
1行ずつ実行してみるのもいい手。
僕は実験のファイルが70くらいたまってる。
お手間をかけます。m(_ _)m 実際に実行してみたのですが、両方駄目でした。 エラーは出ませんが、最初のヤフーページが読み込み中になりそれ以後が進みません。 難しいわぁ〜('A`)
>>880 とりあえずそのままuwsファイルに書き込んで起動したら、IEは自動的に終了した。
読み込み中で止まるって?
IEの設定の問題かな?
>>876 のやつの POS("
http://www. ●●", IE.document.links[A].href) を
POS(".html", IE.document.links[A].href) に書き換えたらばんばん開くんですけど。
POS(”www”, IE.document.links[A].href) で試したらファイルのダウンロードが動いてCOMエラーになったけどさ。
IEのバージョンでも違うのかもしれないけど、IE6ではしっかり動きました。
ちなみに僕が使ってるのはちょっと古いバージョン。
4.4.2.4のやつ
ちと教えてくれい。 JscriptのSort関数ってUWSCで扱えるかしら? 連想配列のソートを使って凌いでしまったんだけど、 もし使えるようなら、そのうち、ちゃんとw悩んでみようかと思って…。
>>882 無理じゃね?
そういうCOMオブジェクトがあるとも思えない。
DLLの場合は配列を渡せればいけるかもしれない。
と思ったけど、データベース使えばSortできるっぽいね。
テーブル作るのめんどくさそうだけど。
>>883 レスサンクス。
時間掛けずにヨカッタw
com操作から指定の同じ画像が2枚以上あるかどうかのチェックを するスクリプトを作っています。 <img alt="画像" src="/img/member/status_01.gif?1234414294" /> これがそのソースなのですが、altの画像の個数でもおkです。とにかく2個以上 あったらメッセージボックスで知らせてくれるみたいなのができたらと思っています。
そうですか
>>885 一致するやつの個数を数えるだけですよね
>>887 画像があるかどうかというのはできると思うのですが、同じ画像が2枚あるかどうか
となるとちょっと私のスキルでは難しいので訊いて見ました。
数を数えなおかつメッセージボックスなどで同じ画像が2つ以上あると知らせてくれる
というものです。
>>888 cnt = 0
while 全部処理
ifb 画像一致 then
cnt = cnt + 1
eneif
wend
ifb 2 <= cnt then
MsgBox()
endif
メモリが・・・というエラーがでる。 今、他の手法でやってますが、IE.document.body.innerHTMLで 画像で使われてる文字の数というので判断しようとしています。 一つだけの場合、ちゃんとうまくいきました。しかし上記のやつをすこし 変えてやってみましたが駄目でした。
情報を小出しにするのはやめてください。 チャットじゃないので整理してまとめてから書き込んでください
str = "UWSC" ifb pos(str, IE.document.body.innerHTML) then MsgBox("あるよ") endif 画像でエラーが出るので上記のやつで挑戦してます。 HTMLにUWSCという語句が2つ以上あればメッセージ ボックスにあるよと表示されるというものです。 ひとつでは成功しています。
893 :
名無しさん@お腹いっぱい。 :2009/02/13(金) 18:30:14 ID:mUOb2ZH60
>>892 だから
>>889 のとおりにやれよと。
str = "UWSC"
cnt = 0
while 全部処理
ifb pos(str, IE.document.body.innerHTML) then
cnt = cnt + 1
eneif
wend
ifb 2 <= cnt then
MsgBox("あるよ")
else
MsgBox("ないよ")
endif
全部処理についてkwskm(_ _)m
>>893 はミス
str = "UWSC"
ifb pos(str, IE.document.body.innerHTML, 2) then
MsgBox("あるよ")
eneif
posは個数指定があるからループしなくてよかった。
ループする必要があるのは、前から順に1こずつ検索する場合。
>>894 全部とは、IE.document.body.innerHTMLの1文字目から最後まで処理する条件ってこと。
つまり、ループに入る前に
src = IE.document.body.innerHTML
として文字列を取得し、見つかるたびに読み進めていく。
tokn() を使って1行ずつ処理する場合とか
IEGetSrc( IE, タグ名, [番号] ) で、番号を順に指定して取得する場合とか。
BodyのHTML全部取得してPosで個数まで数えるならループはいらない。
見落とすかもしれないからもう一度書くけど、 pos()の3番目に2って指定すれば、2個目の位置を調べてくれる。 つまり、2個目があるかないかはPos()一回でわかる。 だからこれだけで完成 str = "UWSC" ifb pos(str, IE.document.body.innerHTML, 2) then MsgBox("あるよ") eneif
詳しい説明どうも。 しかし、みんなどこで勉強してるんですか? とりあえず、UWSCの掲示板とマクロテクニックという本、 検索などでやってますが、なかなか目的の回答にたどり つけないことも多く、時間ばかりがかかってしまいます。 このスクリプトだってもう何時間も費やしていますからね・・・
大事なのは情報の探し方。 探すためのキーワードはマニュアルを順番に読んで探し出す。 UWSCは覚えることは少ないほうだし、ヘルプにまとまっているからヘルプを見る。 基本の使い方はサンプルコードを探す。 で、一つ一つの細かい使い方は、それを確認するためのサンプルコードを自分で書く。 公開されたツールを使うのも手。 あとはテクニックを覚えて応用していく。 if Pos() then で、存在チェックするというのもテクニックのひとつ。 Pos() は文字列の位置を返すだけだけど、取りうる値が1以上になるのでそういう使い方ができる。 if 文が、0か0以外という判断基準だからできることだけど、 それを知ってればほかの関数でもそういう使い方ができるかどうか判断できるわけ。
俺個人の意見だと、そういう書き方は好きじゃないし人にも勧めないな…
>>897 とりあえずnotepad以外のエディタを用意して文字列ハイライト&F1key(大体のエディタがそうだと思う)
でHelpファイルの項目にジャンプできるようにする。
その後、Helpファイルのサンプル、ネットに挙がっている短目のサンプルをコピペ。
エディタのショートカットKeyからサンプルを実行して結果を見たうえで、関数等を理解。
自分はこんな感じかな?
>>899 でも、
flag = true
if flag = true then
みたいに書くと期待通りの動作にならないですお。
いや、DLLとかの外部プログラムで言うtrueが、自分の処理系でのtrueと一致するとは限らないというべきか。
>>901 IF flag <> 0 THEN MSGBOX("真") ELSE MSGBOX("偽")
>>900 私もかれこれ1年ぐらいやってますが、実際に自分でサンプルとかを
やってみるのがいいみたいですね。本の内容とかを理解するより
結果そっちのほうが早かった。
あと、情報量が格段に違うので本はお勧めできない。価格が高いというのもあるけど。
本の内容なんかヘルプの1/100も載ってないしw掲示板での回答のほうが例としても
すぐれてるよね。本は失敗したわぁ〜w
>>901 俺はUWSCなんて一度もさわったことはないが
if flag = trueだと代入してないか?
他の割とよくある言語だと、
flag == trueとか
flag eq trueとか
そもそも条件比較せずに
if flag thenって書き方だと思うが
=が比較にも使えるんだったらすまぬ
複数開いてるIEでウィンドウ情報に「ソフトウェア」とか特定の文字が含まれている ウインドウを閉じたいのですが、選択して閉じることはできますか?
>>904 普通に使えるお。
条件式では代入は行われないっス。
唯一Evalの代入で ':=' があるくらいで '==' とかはないっス。
おばかには有難いすw
trueが1、falseが0という前提で if XXX then YYY を日本語で説明するとXXXが真の場合YYYだけど 内部仕様で0 or not 0 falseじゃなければ真だからって if POS() thenって書くのはどうかなと言っただけよ ちゃんと?if POS() > 0 thenと書いた方が分かりやすいじゃんってこと if flag = trueとかはまた別な話、if POS() = true then と書けと言ってる訳じゃないし 2以上の値が返ってきたら、true(1)ではないんだから。
なるほど
ヘルプを文字通りに解釈すればIF文は真偽をチェックするのであって
それと0チェックは等価ではないという事か
(実際は0と0以外のチェックだろうけど)
C言語にどっぷり漬かった脳なので
>>898 が言っているような
書き方のほうが理解しやすく感じてしまった
910 :
905 :2009/02/14(土) 22:56:30 ID:+5xZKKxJ0
事故解決しました。
しかし、次の問題が。ソースから
<!-- △△△ -->
複数のアドレス
<!-- ◇◇◇ -->
このようなソースがあった場合、三角から四角までの間にある複数アドレスを
ゲットして一個ずつ開いていくというのはできますか?
ちなみに間になければ似たようなアドレスは開けています。上でも書きましたが
改めてソースを書いときます。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://dailynews.yahoo.co.jp ", IE.document.links[A].href) > 0
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
ENDIF
NEXT
IE.QUIT
上記のソースでページ内にあるアドレスを順に開いていくことはできます。
何かわかりましたらよろしくお願いします。m(_ _)m
>>908 if flag = true とかいう書き方をしてると
if POS() = true というバグを見落とすことになる。
flagにしたって、状態がOn/Offだけとは限らない。
ボタンは白黒が基本だけどグレーだってある。
拡張してグレーを入れるとき、
何も考えずに取得した状態を放り込んでるとバグが発生することになるが、
自分がいじってない場所に影響が出るとは考えにくいし。
なにより、取りうる値をいちいち調べないといけない if flag = true なんか使ってると手間が増えるだけ。
>>910 <!-- △△△ -->と<!-- ◇◇◇ -->を除外ということならシンプルだけど
<!-- △△△ -->と<!-- ◇◇◇ -->の間を処理するというのは、その処理基準が不適切と思われる。
ほかに手がなければしょうがないけど。
@ FOR A = 0 TO (KAISU - 1); start = A + 1; next // <!-- △△△ -->が出るまで空回り
A FOR A = start TO (KAISU - 1); 処理; next // <!-- ◇◇◇ -->が出るまで処理
@で空回りした回数をstart にセットして、Aでstartから再開すればいい。
<!-- △△△ -->が一度も出てこなかった場合、startにKAISUが入るので、多分Aは素通りする。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
start = A + 1
IF 0 < POS("<!-- △△△ -->", IE.document.links[A].href) then break
NEXT
FOR A = start TO (KAISU - 1)
IF 0 < POS("<!-- ◇◇◇ -->", IE.document.links[A].href) then break
IFB 0 < POS("
http://dailynews.yahoo.co.jp ", IE.document.links[A].href) then // まだインデントつけてないしThen抜けてるよ。
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
ENDIF
NEXT
IE.QUIT
ちなみにその考えじゃ永遠に無理。
こんなことができたらいけるかもと考えました。 1、三角から四角までの文字列をゲット。 2、1の中のアドレスだけゲット。 3、上記のやつでアドレスを一個ずつ巡回。 1は、HTMLで見ると表示されてるやつです。コメントというのかな?
>>911 > if flag = true とかいう書き方をしてると
> if POS() = true というバグを見落とすことになる。
バグとか言う以前に、そんな書き方はしない。
思いつく時点でおかしい
なんで、IFの条件文でTrue/FalseのBoolean型をチェックするのに
その条件文の中でわざわざTrue/FalseのBoolean型と比較する必要があるのか
無意味な重複になってる
flag = trueって書き方自体はおかしな事じゃないでしょ ifの条件式の一部にあってもおかしくはない ただ、単体で「if flag = true then」と書くと蛇足ということになる UWSC的にあってるかどうかはわからないけど 「if (flagA = true) AND (flagB = true) then」なんて場合があるわけだし 「if POS() = true then」をPOS() > 0 のつもりで書いているなら 変数にどんな値が入っているか、型とかを考えてない。って話になるし POS() = 1 のつもりで書いているなら、同じ値だからといって 関係ない定数を使い回すな。という話になる 「if POS() then」がC畑の人の流儀というのは理解してるけど それを理解してない初心者が、何となく親切心かお節介で付け加えた結果が 「if POS() = true then」ということになってるじゃなかろうか
>>916 >flag = trueって書き方自体はおかしな事じゃないでしょ
処理系にもよりますが、TRUEの値は保障されないので、比較で使うのはおかしい。
実際1という値を持っているしUWSCでは保障してるかもしれないけど、
一般的にそうなのでUWSCでもそういう癖はつけないほうがいいんじゃないかなと。
if (flagA = true) AND (flagB = true) then × // 成立するのはflagが1か0のときだけ
if (flagA <> false) AND (flagB <> false) then ○ // 全ての値で成立
だから、flag = trueに違和感を感じる人は boolean型がないC畑の人だけで boolean型がある言語系の人は何の違和感もないんだって flagって変数がboolean型なんだな。って思うだけだから
> KAISU = IE.document.links.length
> flag = false
> FOR A = 0 TO (KAISU - 1)
> IF POS("<!-- △△△ -->", IE.document.links[A].href) THEN flag = ture
> IF POS("<!-- ◇◇◇ -->", IE.document.links[A].href) THEN flag = false
>
> IFB flag THEN
> IFB POS("
http://dailynews.yahoo.co.jp ", IE.document.links[A].href)
> IE2 = CREATEOLEOBJ("InternetExplorer.Application")
> IE2.visible = True
> IE2.navigate(IE.document.links[A].href)
> ENDIF
> ENDIF
> NEXT
例えば
>>910 のサンプルで言ったらこういうことでしょ
flagにはtrueかfalseしか代入してないんだから
trueの値が保障されてないとか、trueかfalse、0か1以外が入ってることなんて考えなくていい
この場合は「IFB flag THEN」を「IFB flag = true THEN」と書いたところで
お節介と言うことにはならない
それをPOS()という戻り値がINTのものに対してPOS() = trueとか書いてしまうと
たまたま1の時だけtrueになってしまうということになる
>>918-919 まあPos()のように0と0以外で判断するのはC言語系の考えとしても、
trueの定義がfalse以外のものとされてるのは、他の多くの言語で共通してるようだけど。
確かにtrueしか代入しないのなら確実に動作しそうだけど
なんかの拍子にごみが入ったとき、trueで比較するとどんな動作をするか分からない。
まあごみが入った時点ではじかれるべきだからむしろtrueと比較すべきかもしれん。
つまりelseなんか使うなって事だ・・・
型通りに書けばいいだけじゃ?、 flagはboolean型とみなしてコード書いてんだからtrueでいいし、 Pos()はint型だからtrueでの判定はナンセンスってだけ。
For y = 0 to 250 〜 Call 〜 〜 Next POFF(P_SUSPEND2) と言う感じで外部スクリプトを呼び出して繰り返し作業をさせているのですが なぜか毎回209回で終わってスタンバイになってます なにか制限でもあるのでしょうか?
>>922 変数がかぶっているとか? callをコメントアウトしたらどう?
>>922 //主
public i
for i= 1 to 250
call call2.uws
next
//call2.uws
print i
でテストしてみたけど、制限などないようだよ…(アホだな自分もw)
自作関数で戻り値を配列で返すにはどうすればよいのでしょうか? 普通に配列を指定すると怒られます。
>>925 関数の戻り値に配列って指定できたっけ?
俺は配列変数を参照渡しして、配列の長さを返却するようにしてる
DIM ary[0]
DIM i
FOR i=0 TO hoge(ary, 3)-1
PRINT "ary["+i+"]: "+ary[i]
NEXT
FUNCTION hoge(VAR a[], n)
DIM i
FOR i=0 TO RESIZE(a, n-1)
a[i] = i
NEXT
RESULT = LENGTH(a)
FEND
>>925 俺もそれやろうとしたけどできなかったんで、配列のグローバル変数使ってやりとりしてるな
かっこ悪いけど
930 :
925 :2009/02/17(火) 15:04:26 ID:zlTNHss50
うーん、やっぱりできないっぽいですね 関数自体をループさせるか、グローバル変数使うしかないのかな… ありがとうございました
>>930 いや、
>>927 は無視ですか。
関数の引数を定義するときに、var 変数名 と定義してやれば、値の受け渡しができます
同じ変数名ならグローバル変数みたいに使える。
2次元配列とかもできる。
ちょっと配列数と添え字がややこしいけど。
dim a[0]
hoge( a )
FUNCTION hoge( var a[] )
dim i
resize(a,10)
for i = 0 to 9
a[i] = "x"
next
FEND
>>927 はfor文 でResizeしてるっぽいけどありなのか。
FOR文自体は、中がループしてるだけで ループ毎にFOR文の行を処理してる訳じゃないからね。 2行に分けて書くか、1行にまとめて書くかだけの違いで。
いや、 for i=0 to Max っていうのは、i とMaxを比較するんじゃないかなと。 そしたらMaxは毎回処理されるんじゃないかなと思ったんだけど UWSCの場合はForが回数固定でカウンタとか保護されてるから大丈夫なんだろう。 いや、サイズが一緒だから変化がないだけかも。 C言語でいうと for( i=0; i<Max; i++ ) iやMaxはループ中で変更できちゃうんだよね。 そんで初期化以外は毎回評価、実行されるんだよね。 初期化が入ったとき1回だけなのは当然だけど、終了条件の実行回数は分からない。 だからC言語でループ回数に関数を使うときは for( i=sizeof(array); i>=0; i-- ) て言う風に初期化子として使う。 いや、そんなことしてなかったな。俺は。 どうせ最適化してくれるだろうと思って。
// forのテスト。終了条件を関数で指定するとどうなるか。 for i = 0 to test(i) print "roop" + i sleep(1) next Function test(i) print "Func" + i result = 2 FEND 実行結果。終了条件の関数は、カウンタの初期化の後1回だけ呼ばれる。 Func0 roop0 roop1 roop2
935 :
925 :2009/02/18(水) 13:34:14 ID:YzuvFpA90
恥ずかしながら
>>927 の意味がよくわかってませんでした(;´Д`)
>>931 わかりやすい説明ありがとうございます
これは便利ですね!
936 :
922 :2009/02/19(木) 18:03:25 ID:LQepcHmb0
ログが最大209行で終わっていたというあほな理由でした 吊ってきます
(´・ω・`)
複数行のテキストを入力できるようなインターフェースって作れる? INPUTだと1行だけだよね
フォームでできるよ
IEでの動作の途中に、別ウインドウのコマンドプロンプトに文字列を記入するマクロをつくっているのですが、 SENDSTR関数か、SCKEY関数か、どちらの方が安定するものでしょうか? SENDSTR関数の方がいいような気もするし、 SCKEY関数の方が コマンドプロンプトのウインドウをアクティブにしなくていい分、 有利な気もするし、、、 ちなみに、CPU負荷が高い状態での動作になります。 どちらがいいでしょうか?
IEの特定のアドレスが含まれている画像のクリックするスクリプトを組んでいます。
前に、指定の範囲のアドレスを・・・と書いたものです。
他に方法はないかとソースなどをみてみたのですが、画像のアドレスなら前回の
場合と違い数が少なくできそうだなと思いました。
<a href="○○" target="_blank" onClick="return top_ekiden_click_chance('top4', '○○')"><img src="●●"></a></p>
上のソースの●●の部分は、複数あるのですが、POSでゲットして巡回できたらと思っています。
ちなみにリンクの場合上記にも書きましたが下のようになります。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("
http://www.yahoo.co.jp ")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
KAISU = IE.document.links.length
FOR A = 0 TO (KAISU - 1)
IFB POS("
http://dailynews.yahoo.co.jp ", IE.document.links[A].href) > 0
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
ENDIF
NEXT
IE.QUIT
>>941 SendSTR()は使えないよ。
ショートカットでのコピペもできない。
右クリックメニューを出して貼り付けは可能。
uwscのエラーウィンドウを消すマクロってありませんか
>>944 まずはエラーメッセージを抑制するようにしたらいいよ。
OLEなら関連関数の例に書いてあるし、それ以外はUWSC本体の設定にあるか、INIファイル編集するとか。
>>945 具体的にどうすればいいか教えていただけますか
例外エラー対策ならマクロの 最初に TRY を入れて マクロの末尾に EXCEPT endtry あたりいれるのがもっとも簡単なんでしょうか
>>947 まぁ、UWSCで用意されてるものだしなぁ
例外処理でこれ以上簡単なのはないと思うよ。
…エラーを起こさせないという前提で作ればもっと簡単になるけどねw
あと、全体を無理やり囲うのはどうなん
949 :
名無しさん@お腹いっぱい。 :2009/02/22(日) 17:59:07 ID:a3nz7nXd0
特定の文字を判定してそこまでの文字を消すマクロはありますか? 例えば 「あいうえお」と入力してあって 「う」まで消したい、そうすると 「あい」となるようなマクロです。
POS COPY CHGMOJ でいいじゃねーの
string = "あいうえお" find = "う" MsgBox(COPY(string, 1, POS(find,string)-1)) いや、違う? この世界に「愛」だけを残す方法を我々に聞いているのか?
>>950 初心者なのでよくわかりません
>>951 できれば表計算ソフトで使用したいのですが・・・
953 :
名無しさん@お腹いっぱい。 :2009/02/22(日) 19:14:53 ID:mX0F8+M00
>>952 冗談じゃなく、ロジックを正しく説明してくれないとプログラムなんか書けませんから。
日本語から勉強してきてください。
>>953 セル内に
1戦1勝0負
10戦5勝5負
1000戦500勝500負
・
・
・
となっているものを負を消して
1戦1勝
10戦5勝
1000戦500勝
・
・
・
としたいのです。
よろしくお願いします。
丸投げしたいなら他行ってくれ スレ違いだ
>>956 そうですか、自分で努力します。
失礼しました。
うむ たとえばExcelの場合だとしよう A1:A100(A1,A2,・・・A100のセル)にそのデータがあるとすればB1に =LEFT(A1,FIND("勝",A1)) を入れる。次にB1選択した状態でメニューから 編集-コピーを選択、B2:B100選択した状態で 編集-貼り付けを選択。 さらにB1:B100を選択した状態で 編集-コピーを選択、 C1を選択した状態で、 編集-形式を選択して貼り付け(だったっけ?)-値を選択すると C1:C100に目的のデータが入力される UWSCでやれない訳ではないけれど結構大変になる 一般的な表計算ソフトの標準機能でこのような簡単な手段は 用意されているのでそちらを調べたほうがいい
>>958 反応するなよ。反応されるとそれに対して反応したくなる…
そんなに面倒なことせんでも(ry
>>958 ありがとうございます。参考になります。
IEが複数開いてたとしてウインドウタイトルに特定の文字が含まれているもの 以外閉じるということはできますか? 例えばタイトルに「自動化ツール」というのがあるとして、その他タイトルに「自動化ツール」 が無かったら閉じるといった感じです。
>>961 タブブラウザ(FireFox3とか)を使うと、たくさんタブが増えても閉じるボタン一発で閉じれるよ。
ウィンドウをいっぱい開いちゃってもタスクバーで右クリックしてまとめて終了すればいい。
Alt+F4で連続終了させるのが簡単。Alt+TABやAlt+ESCと組み合わせてもいいし。
もしそういうスクリプトを作ったとして、たとえば銀行取引のページが別窓で表示されたときに
同じタイトルだからと言って閉じてしまうと取引が不完全なまま終了しちゃっておかしくなるかも。
あと、UWSCってタイトルでアプリを終了させようとすると、
UWSCってフォルダを開いてるエクスプローラーが閉じられたりUWSC自身が終了したり変なことになる。
そういうヘンなの作ってなにか意味あるの?
それはお前だけじゃね?
>>961 ウィンドウタイトルに「自動化ツール」が含まれない IE6 を終了
DIM i
FOR i=0 TO GETALLWIN()-1
IF STATUS(ALL_WIN_ID[i], ST_CLASS) <> "IEFrame" THEN CONTINUE
IFB !POS("自動化ツール", STATUS(ALL_WIN_ID[i], ST_TITLE)) THEN
CTRLWIN(ALL_WIN_ID[i], CLOSE)
ENDIF
NEXT
私も考えてみたのですがIE7でタブを使っている場合は
どうすればいいんでしょうね
それさえ実現できれば
>>961 さんの要求を完全に満たせると思うのですが
chkimg()で透過色指定+形でチェックを同時にできるようにしてほしいのう 画像内の文字に対するgrepみたいなのを作ってるのだけどフォントカラーが変わったら使えなくなってしまう フォントスタイル自体は固定なので問題ないんだけど
chkimgX() みたいな関数作って 内部で透過色&形の2重にチェックするぐらいしか思いつかないわー
いやそれ画像2枚いりますやんw
単純な input() や slctbox() ではなく、 リストボックスをいくつか置き、さらにそのリストボックスの値で ラベルが動的に変化するようなフォームを使いたいのですが、 同じようなことを試みられた方はいらっしゃいますか? やはり外部DLLを自作するしかないでしょうか。
>>973 DLLで画面出す気?
プロパティみたいな感じで?
UWSCの有料版で画面作れるらしいけど、
無料がよければ、最近HTAていうの知ったんだけど、
DynamicHTMLで画面作って、結果をクリップボード経由で渡すようなのなら作れると思う。
リストボックスが変更されたら表示を変更。
OKボタンにOnClickイベントとしてクリップボードにセット。
というHTMLを作って拡張子をHTAに変更。
いや、別にHTMLのまんまでもいいんやけど画面まわりうざいし。
あ、いつどうやって終了を知らせるかが問題だな。
・・・
ajax使用webサイト超めんどー なんとかなんない?
>>968 思うような動作ができました。m(_ _)m
多重起動禁止はiniファイルを弄ることで簡単にできるようになったのですが ほかのスクリプトの実行が終わった後に、後のスクリプトを実行できるようにする方法はありませんか?
callで呼び出せば良いんじゃない?
いや 先に実行したスクリプトが終わった判定はどうすればいいのかなと思いまして
ああ連続でやればいいんですね
>>975 FLASH,ActiveX,,JAVAappletなんかよりはよっぽど楽
slctboxの戻値「slct_1」等は出力させると数字のみになるのはなぜなんでしょうか? select 〜selend文で caseのあとは"slct_"+数字でも数字のみ指定でも正しく動いているようですが
>>983 一般的に定数は何かしらの数値に割り当てられるのが普通です。
数値にしておくと演算子=,<>等の処理をそのまま流用できるから設計上楽なのです。
それならば文字列として"SLCT_1"として持たせたほうが分かりやすいのでは?とも考えられますが、
小さい情報量にしたほうがexeサイズが小さくて済んだり、計算量が少なくて済むなど
メリットが大きいのです。
ただしSLCT_1が1と出力されるからといってバージョンアップ等で今後変更される可能性があるので
必ず比較する場合は
「IF ret=1 THEN・・・」ではなく
「IF ret=SLCT_1 THEN・・・」とすべきでしょう。
985 :
983 :2009/03/01(日) 00:17:23 ID:re5Hkvhc0
なるほどためになりました サンクス
<img src="
http:// 〜〜〜/Apos/img/web/10174/106711_1.gif">
リンクに使われている上記のような画像が複数あったとします。
ページ内にある全ての途中まで共通しているURLの画像をゲット
してクリックすることはできますか?
http:// 〜〜〜/Apos/img/web/10174ここまでが一緒で後は違うアドレスです。
できますよ
// IEで表示中のページにリンクされているzipへのリンクを取得し、IEDownload()関数でダウンロードする。 while true data = IEGetData( IE, "TAG=A", i ) Src = IEGetSrc( IE, "A", i ) if !length(Src) then break Link = BetweenStr( Src, "href=<#DBL>", "<#DBL>" ) ifb "zip" = Copy( Link, Pos(".", Link, -1) + 1, Length(Link) - Pos(".", Link, -1) ) Then IE.navigate( Link ) IEDownload( IE ) break Endif i = i + 1 wend Function IEDownload( var IE ) Fend
>>989 簡単だよ 自分の頭蓋骨の中をたまには使えよ
data = IEGetData( IE, "TAG=A", i ) これってAタグならラベル部分、その他ではValueを取り出せるんだけど ラベルを指定してクリックするのがIELINK() この後に IELINK(data) って入れてもいいんだけど、ダウンロード用ページだと同じラベルでいっぱいファイルがある。 だからUWSCの関数では番号指定とかでもしないとクリックできない。 まあリンクは簡単に取り出せるからIE.Navigate()で開けばいいんだけど 「ファイルのダウンロード」窓がクリックできん・・・ ボタンが反応はしてるんだけどクリックできん。 CtrlWin()でアクティブにしてもアクティブにならない。 以前作ったときはちゃんと動いていたんだけどなあ・・・ 画像の保存とかページの保存とかならIEの子ウィンドウとして拾えるけど ダウンロードは親子関係がないっぽいし。 モーダルとモードレスで親子関係が違ってくるとかなのかな。 いや、つかんでもクリックできないんだよな。 親子両方クリックしたらアクティブになった。なんか裏のやつを子として処理してたのかな。 でもフォーカスが「保存」ボタンには移ってるんだけどなあ・・・ 名前をつけて保存ならクリックできるのに。 戦車で野球のボールを投げたら時速327キロか。
992 :
名無しさん@お腹いっぱい。 :2009/03/02(月) 00:20:27 ID:OsLHIqg20
RecIE使ってみたけど、ダイアログのクリックは拾ってくれないな。 IELink(IE,"DL002") BusyWait(IE) 本体で記録してみたけど ACW(GETID("ファイルのダウンロード","#32770"),422,375,435,243,0) ScKey()はだめだったけどMouseOrg()で窓に直接Kbd()でならもしかしていけるかも。 だめだった。 しかし、MouseOrg()してKbd()してClkItem()したらいけた。 Kbd()でアクティブ化に成功してるんだろう。
993 :
名無しさん@お腹いっぱい。 :2009/03/02(月) 11:20:51 ID:OsLHIqg20
「この種類のファイルであれば常に警告する」のチェックを外せばそのままダウンロードが開始されるんだな・・・ 今までやらなかったけどもうこれが一番の解決法か・・・ と思ったけど保存ダイアログが出てこないと思ったら勝手に起動されちゃうんだな。 上書きの警告もないし、キャッシュにしか落ちてないんだろう。 これじゃダウンロードにならない。 URLToFileとかいうのが使えればいいんだけど今やってるところはパスワード制限かかっててアクセスエラーになるからできないし。 >MouseOrg()してKbd()してClkItem()したらいけた。 これについては親子両方に送ればうまくいったが、子だけに送ったらだめだった。 多分他の窓をクリックすることでアクティブ状態が切り替わってうまくいってたんだな。 トップレベルなのに非アクティブなあの状態は何とかならんのか・・・ もしかしたらあの二重の窓の二つ目が開く直前に裏の窓をクリックしてしまうのが問題なのかもしれん。 親窓の方拾ったらスルーして待つかな。
他人が役立つ日記ならここで大歓迎 環境に依存した再利用性の低い独り言はブログにでも貼ったら?
次スレたててこい>浪費したやつ
996 :
名無しさん@お腹いっぱい。 :2009/03/02(月) 17:11:41 ID:OsLHIqg20
おつおつ。
999
んじゃ1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。