-
ソフトウェア
-
自動化ツールUWSC使いよ集まれ19 [無断転載禁止]©2ch.net
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
http://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbb...13/bbs.cgi?id=umiumi
http://www3.bigcosmi...miumi&;mode=past
●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
http://uwsc.g.hatena.../20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://park14.wakwak...izu/uwsc/fruwsc.html
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev....iew/gameut/uwsc.html
●スクリプトテンプレサイト
http://izagne.com/uwsc/
http://scripts.web.fc2.com/
http://www.nagomi-jp.net/~liners/
http://nem.symphonic...uwsct/0610uwsct.html
http://siromasa.digi2.jp/uwsc/
http://iriyak.adam.ne.jp/uwsc.html
前スレ 自動化ツールUWSC使いよ集まれ18
http://potato.2ch.ne...software/1469866649/ - コメントを投稿する
-
こっちのスレが先か、乙
-
前スレのcall君は納得したのかな?
-
>>1乙
まぁいいんじゃないかな。 -
>>http://potato.2ch.ne...tware/1469866649/997
hensu="c:¥ドキュメント¥コールされたい.uws"
なら
DOSCMD("ECHO "+ hensu + ">caller.uws)
ではなく
DOSCMD(hensu)
でいい
もしDOSプロンプトで
c:¥ドキュメント¥コールされたい.uws
としただけで実行されるようにuws拡張子が関連づけられていない場合は
uwsc_exe = "UWSCのあるパス\uwsc.exe"
DOSCMD(uwsc_exe + " " + hensu) -
UWSCを使うとマウスが取られて2ブラウザだと誤作動を起こす場合有り
UWSCでマウスを取られない設定はありませんか?
またはUWSCと同じ性能で動作出来るものはありませんか?
マウスの件が解消されるといままでの不満が全て解決出来るのでお願い致します -
マウス=ポインタの移動です
-
ねーよ死ね
-
マウスに関する処理をすればマウスがとられるのは当然のような気がするけど
UWSCによるマウス操作が発生するタイミングとか頻度とかわからないけど
直前に警告メッセージとか音を出すようにして人のほうが手を放して待機するとか
ショートカットが使えるようなものであればマウスをキー操作におきかえるとか
(キーでも処理がぶつかることはあるだろうけどだいぶ頻度は少なくなるだろうということで)
っていうのはだめでしょうか -
>>6
Hyper-V とかは知った上での質問ですか? -
>>6
http://www.uwsc.info/faq.html
を見てタッチ操作ができることがわかって
もしかしたら使えるんじゃねと思ってやってみた
タッチパネルのない場合はエラーになったけど
タッチパネルのある機種ではマウスと別個に動作した
場合によっては使えるのでは -
そこまでしてゲームを並列動作させたいのかっていう
-
UWSCそこそこできたら次どの言語やったほうがコスパいい?
チケットとか一瞬で買いたいんだけど -
言語w
-
そんなものよりもう少しまともな知能を身につけた方がいい
-
コスパ、、、なんか終わってるな
-
お前らなんかじじ臭いな
そんな無駄なこと書き込む暇があったら勉強したほうがいいぞ -
マジレスするとUWSCを使っててあれこれ出来ることが増えてくると途中でCOMとか出てくるんだし
それならVBSでもやろうかなってならない?
たぶん今風のコスパで言うと5,6コスパぐらいは出てると思う -
本人乙
-
じゃあ自己解決って事でこのスレ終了です
あとは雑談でもどうぞ -
目的がないとどの言語でもやる気出ないわ
-
連想配列の数やキーの長さに制限ってあります?
長い文字列がキーの連想配列を1万超作ったら
時々データが取り出せない事があるんですが -
キー名が長いかどうかはコンパイル時にメモリの位置情報に置き換えられるはずだから
システムが許す限り長く作っても動作に支障はないはずなんだが
連想配列の作り過ぎでオーバーフォローしてしまうとなると、それはバグだからumiumiさんに報告したほうが良い -
日本語の問題文→答えで連想配列作ったら、特定の問題文でだけ答えが取り出せない現象が起きてる。
数は3000以下。特定文字列でだけ起きてるので数の問題ではないと思う。そちらの現象と同じかどうかは
わからんが。 -
ごめんなんか荒れてるっぽいけど質問するわ
画像Aがあれば○秒待機し画像Bをクリック
画像Aが無ければ○○と表示
こういうスクリプト書きたいんだけどなかなかうまくいかない。助言くれると嬉しい -
それは助言じゃなくて代わりに書けってことじゃねえか
助言が欲しいならまず自分で書いたのものを貼れ -
>>25
HelpのIF-ENDIFとCHKIMGの例)を参照 -
IFB CHKIMG() THEN
SLEEP(); BTN()
ELSE; PRINT ""
ENDIF -
IFB CHKIMG() THEN
SLEEP()
if chking() then btn()
ELSE; PRINT -
なんか途中送信になっちゃったけど、
画像Bが固定座標とかじゃないならB用にCHKINGいるんでね -
>>24
同じように問題文・答えの連想配列なので問題も同じっぽいですね -
国語教師の回答例の分布評価でも作るんか
-
追加していく過程でリストに変な改行コードが紛れ込んでいたりダメ文字を掴んでいるんじゃないかな?
そうでないならやはりオーバーフォローの可能性が
とりあえず連想配列の作り過ぎは何かしら問題があるという事で警戒するしかないな -
なんだこの2ちゃんねる
スレタイ検索でヒットしなかったから今の今まで次スレに来れなかったよ -
Wキー2度押しでダッシュするタイプのゲームに使えるスクリプト教えて下さい
-
btn();btn()
-
>>40
たぶんそれだと…っまぁいいか。 -
なんか少し見ない間にゲームの話題が堂々とされるようになったんだな
-
まともな回答貰えないからって雰囲気装うなよw
-
なんか普通に勘違いしてたけど、まぁいいかw
kbd(vk_w, click, 50);kbd(vk_w, click, 50) -
http://www.dotup.org...dotup.org1098889.png
こんな風にタイミングによって微妙に色が変わるような画像を認識したいんだけどうまくいかない
お手軽に解決する方法ありません? -
脳みそプリンでトンチンカンな回答しかできない低レベルスクリプターな俺からすると,、そういうのって
CHKIMG(画像,,,,,,,IMG_MSK_BGR4) とか 誰かが作ってくれた外部関数の chkimgX で解決できるんじゃないの? -
どうもです
IMG_MSK_BGR4はちょっとうまくいかなかったのでchkimgXを試してみます -
chromeでmouseorgのmorg_backで画像認識が出来ないのはしかたないのかな?
morg_foreなら動くのがbackにすると動かない
ちなみにfirefoxでは問題なく動く -
アプリがどう描画してるかの問題だし
バックグラウンドはできたらラッキー
できなけりゃさっさと代替策考えた方がいい
頑張っても大抵無理 -
仮想環境で前面動作させるってのがあれこれ試行錯誤するよりは
手っ取り早くて簡単なんだけれどねぇ -
firefoxで遷移した先の文字列を取得するにはどうしたらいいですか。
-
>>51
俺ならGreasemonkeyでやる -
>>51
文字列取得の意味がいまいちわからんけど、君がやっている遷移する前の文字列取得と同じことをやればいいのでは? -
はいGETSTR試してみます
-
バックグラウンドでMOXである画像を見つけたらクリックしたいんだけど動かない。
助言ください・・・
id = GetID( -
MOXてなんや
-
バックグラウンドって見た瞬間に、
バックグラウンドの動作はアプリによって違うので、
できないアプリではできない。
としか言いようがない
アクティブ時に動作するなら、UWSCの問題ではないし、
アクティブ時でも動作しないなら、まず動作するように作れ -
バックグラウンドで動作させるのが面倒臭くなって早々に仮想環境に逃げてるもんだけど
mouseorgのMORG_DIRECTってのがよくわからん。
今仮想環境内でフォアグラウンドで普通に動作してるスクリプトだが
MORG_DIRECT指定したら全然動かなくなる…アクティブ・非アクティブ関わらず
マウス操作が全然動作してないわ -
mouseorg関連は上手く動作しない原因が種々雑多にあってどうにも返答に困るからこのスレの連中は基本スルーすると思って
-
DirectInput介すかWin32Api通すかの違いだと思ってる
DOSライクなアプリはDIでしか受け付けなかったり
画面で解像度変更するアプリは座標が元の画面サイズになっちゃってるソフトも多いから
明らかに反応しない、座標がおかしい場合以外は使わなくていいと思う -
MORG_DIRECTの方は興味本位だけどね
今仮想環境内で複数スレッドのスクリプトを書こうかと思ってるんだけど
その時問題になるのがマウス操作のバッティングが発生するんじゃないかということ
ウィンドウがアクティブになるのは全然構わないんだけど
同時に複数のスレッドが操作に入ると困る…
マウス操作するのはスクリプト全体の動作時間の1%にも満たないんで
マウス操作のスレッド排他利用?そんなのをしたいんだがどうやったらいいものだろうか -
>>62
スレッド排他のやり方がわからないという人にその説明だと破綻しそうな
フラグ用ファイルをF_EXCLUSIVEでFOPENして成功するまでスリープ入れつつリトライでいい
中身を読み書きする必要はない
それともmutex使うか -
他のスクリプトでロックディレクトリ作成による排他制御やってたことあるんだけど
時々失敗してたもんで…なんでかいまだにわからないんだけど -
同プロセス内のスレッドなら普通に大域変数をフラグに使わね?
ファイルなんてリソース介したら本末転倒な気がするが…
スレッドとかの高度な機能を実装できないマイコンなんかで、
代わりにハード側の機能で割込を使う場合の、
割込の許可と禁止を制御する専用命令の単純な使い方が真似できる。
並行処理されてはならない処理部分はまず最小化しておいて、
処理に入る直前に割込禁止して、処理終了直後に割込許可する。
単に割込禁止と割込許可で挟むだけ。
しかし禁止・許可の機能はUWSCにないので自作で実装する。
マウス操作であれば、MMVをルーチン内で直接書かず、
自作関数のsafeMMVを定義して、その中で、
・既に割込禁止なら許可されるまで待機(必要に応じタイムアウト)
・割込許可になったら割込禁止して即MMVして即割込許可
・スレッドは必要に応じスレッド番号を生成し、
フラグを真偽値ではなく0またはスレッド番号という風にすると、
少しはデバッグがやりやすくなる。
こうすることで、MMV同士の競合はsafeMMVを使うことで意識すること無く解決し、
MMVとその他の処理との競合は、その他の処理の方を禁止と許可で挟めば良い。 -
確かに複数のスレッドが許可を待機する状態になってたら、
完全同時的に複数のスレッドが、
待機解除→割込禁止の設定をしてしまうかもしれないなぁ…
マイコンだと割込ハンドラに優先順位がついてるから気にしなかったけど。 -
>>65
これ用途はアレだが中身なかなか凄いね参考になった -
マウス操作だとクリティカルな部分が「一連の操作」になるから、
MMVとBTNの具体的な複数の組み合わせでしょ、
それを排他制御するとなるとDRYな書き方がしづらそう -
UWSC初心者です。
とあるゲームでキー操作を自動化しようとしたときにマウスの動きは認識するのですが
KBD関数が全く認識してくれません。
記録で試した際もKBDは認識されませんでした。
また、メモ帳やほかのアプリではちゃんと認識したうえでキー操作を行ってくれます。
ノートパソコンです。
色々調べたのですがさっぱり原因がわかりません・・
だれかわかる方いらっしゃいますでしょうか? -
>>72
ゲーム名と、書いたコードを貼らないとなんとも言えない。 -
ACW(GETID("MapleStory","MapleStoryClass"),0,0)
WHILE TRUE
KBD(VK_S,CLICK,10000)
WEND
こんな感じです。メイプルストーリーです -
mousorgあたり弄ってみたら?
あとどうでもいいけど、10000msとかにするなら100ms位でsleep(9.9)したらいいんでね -
アプリで弾いてる場合もある
と言うかオンラインゲームでマクロは規約違反だからBANされても知らんぞ -
馬鹿の質問に馬鹿が答える
-
アホが参上
-
KBD関数の引数に変数つかうことってできないのかな
-
疑問に思ったら試してみろ
トライアンドエラーだよ -
ためしてみたけど
KBD(KEYCODE[STEP],UPDOWN[STEP],TIME[STEP])
について定義が間違っていますとエラーはかれる
ソースはこんなかんじ
STEP = 0
WHILE (!GETKEYSTATE(VK_ESC) AND STEP < NUM_OF_LINE)
KBD(KEYCODE[STEP],UPDOWN[STEP],TIME[STEP])
STEP = STEP+1
WEND
txtにまとめてあるキー入力の流れを読み出して配列に格納しているんだけど
これじゃいけないのかな
それとも読み出したデータがいけないのだろうか
txtデータの形式は以下のようになっている
仮想KEY 状態 ms
38 1 530
UWSC初心者でもうしわけない -
どこかに文字列が入ってると推測
-
確実に数字だけだと確認できるtxtでためしてみてもむりでしたん
-
kbdの直前にprintでkbdに渡す引数を全部書き出せば具体的にどうなってるのかわかる
-
解決できたありがとうアホだったわ
配列にFOR文で格納していってたんだけど
FGETが1行目から読み出すのにあわせて、FORのカウンタ変数を1からはじめてたせいで
配列0番目にデータがはいっていない状態だった
読み出したタイミングでPRINTしてたから配列の中身はきっちりしてるものだと勘違いしてた -
ブルスタ用のマクロを作ったんですが
PCを再起動する度に画像認識のための画像をキャプチャし直さないと画像認識してくれません
これは毎回キャプチャし直すしか無いのでしょうか -
chkimgX使え
-
>>88で言葉遣いがおかしくなってしまいすいませんでした
以下のようにした時、「TRYがループかブロックを跨いでいる、もしくはブロックの対応が取れていない:FOR N =1 TO 10 9行目:TRY」となるのですがどうしたらいいでしょうか
前半部分だけの場合だと動いていました
OPTION OPTFINALLY
CALL ChkImgX.uws
startup_chkimgx()
try
chkimgx_option(true, false)
for n = 1 to 10
if chkimgx("アイコン.bmp") then
mmv(G_IMGX_X, G_IMGX_Y)
btn(left,click,g_img_x + random(5),g_img_y + random(5))
break
endif
sleep(4.0)
for n = 1 to 10
if chkimgx("スタート.bmp") then
mmv(G_IMGX_X, G_IMGX_Y)
btn(left,click,g_img_x + random(5),g_img_y + random(5))
break
endif
next
finally
shutdown_chkimgx()
endtry -
1つ目のforに対応するnextがないやん
-
張り付けたときに消えただけかもしれないが
インデントちゃんと付けてる?
付けてれば気づくだろう -
>>90>>91
ありがとうございます。動くようになりました。
インデントは貼り付ける時に消しました。
elseを使おうと思ったのですが
「TRYがループかブロックを跨いでいる、もしくはブロックの対応が取れていない:IFB CHKIMGX(”b.bmp”) THEN 7行目:TRY」となってしまいます。
どこを直せばいいでしょうか?
for n = 1 to 10
ifb chkimgx("a.bmp") then
btn(left,click,g_imgx_x + random(5),g_imgx_y + random(5)) //クリック
break
next
sleep(1.5)
else
for n = 1 to 10
ifb chkimgx("b.bmp") then
btn(left,click,g_imgx_x + random(5),g_imgx_y + random(5)) //クリック
break
endlf
endif
next -
根本的にわかってねえな
IFBとFORが入り乱れてめちゃくちゃやん
FORの後に始まったIFBはNEXTの前にENDIFで閉じな動かんよ -
IF文つーのはIF〜ELSE〜ENDIFで1セットだからENDIFの後にELSEなんて書けないよ
つーかIFが終わったあとにELSEって、何に対してのELSEだって話やん
ここ、プログラミング初心者育成スレとかじゃないんで、これ以上は
自分でググるなりして調べてくれ
基本的なことがわかってなさすぎてスレチすぎる -
最低限の基礎も自分で勉強もせずに真っ先に人に聞きに来るのがすげーわ
-
ifb hogehoge
true処理
else
false処理
endif
for挟むなら、
for i = 0 to x
ifb hogehoge
true処理
else
false処理
endif
next -
10回サーチ実行
a.bmpがあればクリックしてサーチ抜ける
a.bmpが無く、b.bmpがあればクリックしてサーチ抜ける
10回サーチしてa.bmp、b.bmp共に無ければサーチ抜ける
for n = 1 to 10
ifb chkimgx( -
10回サーチ実行
a.bmpがあればクリックしてサーチ抜ける
a.bmpが無く、b.bmpがあればクリックしてサーチ抜ける
10回サーチしてa.bmp、b.bmp共に無ければサーチ抜ける
for n = 1 to 10
ifb chkimgx("a.bmp")
btn(left,click,g_imgx_x + random(5),g_imgx_y + random(5))
sleep(0.5);break
else
ifb chkimgx("b.bmp")
btn(left,click,g_imgx_x + random(5),g_imgx_y + random(5));break
endlf
endif
next
エスパーしようとしたけど俺にはこれが限界
↑今すぐ読める無料コミック大量配信中!↑