自動化ツールUWSC使いよ集まれ13
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2014/10/18(土) 11:46:19.83ID:yC04f7EM0フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past
●UWSC - Wikipedia
ttp://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
ttp://www.confrage.com/uwsc/
ttp://necro.jp/dev/uwsc/
ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html
ttp://canal22.org/
ttp://big.tm.land.to/handbook/uwsc.htm
ttp://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
ttp://izagne.com/uwsc/
ttp://scripts.web.fc2.com/
ttp://www.nagomi-jp.net/~liners/
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
ttp://siromasa.digi2.jp/uwsc/
ttp://iriyak.adam.ne.jp/uwsc.html
0598名無しさん@お腹いっぱい。
2015/01/17(土) 11:46:43.05ID:gGLHyJnh0他のソフト開発者「さすがgoogle、俺達も真似しよう。」
UWSCユーザー「」
ソフト開発者「知らんがな」
0599名無しさん@お腹いっぱい。
2015/01/17(土) 12:07:21.91ID:0LBfpaM+0詳細設定→システムの所のチェックボックスのハードウェアアクセラレーションなんたらを消したら行けました
ありがとうございました
0600名無しさん@お腹いっぱい。
2015/01/17(土) 18:01:06.69ID:3mJTrcde00601名無しさん@お腹いっぱい。
2015/01/17(土) 23:54:32.00ID:nZDbWDTl0…
elseif ary[1]
…
elseif ary[2]
…
elseif ary[3]
…
endif
こんな感じの構文をうまく短くする事って出来る?
if elseifを使いたいからwhileとかで回して全判定はしたくないんだ
0602名無しさん@お腹いっぱい。
2015/01/18(日) 00:23:38.21ID:ZVysZL020添字が全部違う上に if-elseif 縛りの時点でその書き方以外ないと思うけど
何がしたいのか分からんから何とも言えんな
0603601
2015/01/18(日) 00:29:12.77ID:V3DOXyGu0よく考えたらスッキリまとめれたわ
0604名無しさん@お腹いっぱい。
2015/01/18(日) 00:32:42.92ID:ZVysZL0200605601
2015/01/18(日) 00:43:22.91ID:V3DOXyGu0それじゃ代わりに悩んでいる事を質問するんだけど
キーを押下した瞬間を判定したいんだ
getkeystateだと押している間はずっと判定されるからさ
現状ではフラグを作って管理しているけど、すごく面倒なコードになっている
スマートなコードや関数等教えてください><
0606名無しさん@お腹いっぱい。
2015/01/18(日) 01:46:42.40ID:ZVysZL020public use_key = VK_A // ここに実際に使う仮想キーを入れる
thread watch_key()
ここにメイン処理
procedure watch_key
while true
last_key_stroke = getkeystate(use_key)
sleep(0.1)
wend
fend
function trigger_key
if getkeystate(use_key) and last_key_stroke = false
result = true
else
result = false
endif
fend
押した瞬間が欲しい場合は自作の trigger_key 関数を使う
こんな感じではどうだろうか
0607名無しさん@お腹いっぱい。
2015/01/18(日) 02:32:19.47ID:V3DOXyGu0実際にコードを試したわけじゃないけど、この場合watch_keyスレッドのlast_key_strokeが更新されるタイミングによっては
trigger_key関数のlast_key_strokeがtrueになって最初の押下判定に失敗する事ありそうだけど、そんな事ないのかな?
0608名無しさん@お腹いっぱい。
2015/01/18(日) 02:40:01.51ID:ZVysZL020自分で試した時はならなかったけど watch_key の sleep は 0.01 ぐらいにしたほうがいいのかも?
そこら辺は自分の目で確かめてくれ
0609名無しさん@お腹いっぱい。
2015/01/18(日) 09:02:55.39ID:St4EGFl000610名無しさん@お腹いっぱい。
2015/01/18(日) 13:38:11.42ID:St4EGFl00http://anago.2ch.net/test/read.cgi/software/1389240960/652-661
0611名無しさん@お腹いっぱい。
2015/01/18(日) 13:39:43.13ID:St4EGFl000612名無しさん@お腹いっぱい。
2015/01/18(日) 23:13:53.67ID:ZVysZL020フォーカスが移らないようにってできない?
0613名無しさん@お腹いっぱい。
2015/01/18(日) 23:23:27.52ID:a71zhW4Y0散々言われているが
仮想化してその中で最前面で動作させ
その仮想環境をバックグラウンドで動作させるのが一番安定する
0614名無しさん@お腹いっぱい。
2015/01/18(日) 23:37:21.07ID:Wm/Kkd/Y0裏でサービスみたいに動いてるから表のユーザがログアウトしても関係なく動いてくれるのと、
動的メモリ管理で複数インスタンス動かしてもメモリが圧迫されないのが気に入ってる
ただGPUが使えないからAeroが動かないのがネックだな
0615名無しさん@お腹いっぱい。
2015/01/18(日) 23:45:29.83ID:ZVysZL020OSも余ってるのないし
ブラゲのマクロのためにわざわざ導入するのも面倒だしフォーカス取られるのは我慢するか(´・ω・`)
0616名無しさん@お腹いっぱい。
2015/01/19(月) 00:02:43.89ID:tbnDDgHR0これとhimacroEXっていうのが出てきたんだけど
どっちがいいっすか?
0617名無しさん@お腹いっぱい。
2015/01/19(月) 01:41:16.18ID:vCCkqJR900618名無しさん@お腹いっぱい。
2015/01/19(月) 02:05:20.41ID:X/rcpTxc0クソ簡単に導入できるけど止めたほうがいいよ
0619名無しさん@お腹いっぱい。
2015/01/19(月) 17:29:40.92ID:CIkr+oOF0IE関連の関数にて マルチフレームでの操作が NGなのを修正(KB3025390対策)
文字関連の関数にて サロゲートペア1文字が カウント2されるのを 1に変更
サロゲートペア1文字を 2でカウントする LENGTHS関数を付けた
POWERSHELL関数にて \文字がエスケープシーケンスされるのを修正
STATUS関数の ST_MONITORの値が MONITOR関数と符合してなかったのを修正
Pro版:
CREATEFORM関数にて フォームを 2つまで作れるようにした
RecIE: マルチフレームにて 記録できないパターンがあったのを修正
0620名無しさん@お腹いっぱい。
2015/01/19(月) 20:37:21.83ID:ET3cyewU0ttps://github.com/momosolo/UWSC-syntax-files
・秀丸
・Mery
・Notepad++
・サクラエディタ
の強調表示ファイル入り
0621名無しさん@お腹いっぱい。
2015/01/20(火) 04:07:39.12ID:/+JTebX70変数: INIF が定義されていません
14行目: TITL = READINI("Config","titl",INIF)
という表示が出て動いてくれません。
UWSファイルをテキストパッドで開いたところ文字化けしていて14行目も確認出来ないのですが
これはもう諦めるしかないのでしょうか。
0622名無しさん@お腹いっぱい。
2015/01/20(火) 04:48:36.27ID:F+YzFycm0文字化けしてるんだから、編集不可
諦めるしかない
0623名無しさん@お腹いっぱい。
2015/01/20(火) 04:53:58.81ID:/+JTebX70そうですか・・・。
ありがとうございます。
0624名無しさん@お腹いっぱい。
2015/01/20(火) 09:12:46.21ID:rRj4Po5j0現状appwiz.cplのショートカットをデスクトップに作ってそれを開いて、普通にクリックしてってアンインストールしています。
問題は、アンインストールするプログラムを選択する時にBTN関数で座標指定しているので、新しくプログラムをインストールすると位置が変わってしまい、またマクロを作り直さないといけなくなってしまいます。
0625名無しさん@お腹いっぱい。
2015/01/20(火) 11:46:24.26ID:XbkCHKCR0id = EXEC("control appwiz.cpl")
CTRLWIN(id, ACTIVATE)
REPEAT
SLEEP(0.1)
UNTIL CLKITEM(id, "プログラム名", CLK_LISTVIEW or CLK_DBLCLK, TRUE)
0626名無しさん@お腹いっぱい。
2015/01/20(火) 13:28:45.40ID:rRj4Po5j0ありがとうございます。帰ったらやってみます
0627名無しさん@お腹いっぱい。
2015/01/20(火) 23:16:38.47ID:z8197NVp00628名無しさん@お腹いっぱい。
2015/01/21(水) 01:43:34.23ID:gOayFlWh00629名無しさん@お腹いっぱい。
2015/01/21(水) 09:59:22.51ID:dejlWq//0その人に取っては必要な物だったんだろうね
0630名無しさん@お腹いっぱい。
2015/01/21(水) 10:06:02.89ID:ehWPHX5V00631名無しさん@お腹いっぱい。
2015/01/21(水) 15:10:23.41ID:8OMqoQgz0インストールファイルはDELコマンドで削除
全部バッチファイルに書けてダブルクリック1回でアンインストールできるよ
サービス登録だのDLLだのも調べれば同様の方法がある
0632名無しさん@お腹いっぱい。
2015/01/21(水) 16:46:38.92ID:MBcf6bm+00633名無しさん@お腹いっぱい。
2015/01/21(水) 17:03:16.77ID:m9M/5VVn00634名無しさん@お腹いっぱい。
2015/01/21(水) 22:14:57.93ID:SOG/T3Ce00635名無しさん@お腹いっぱい。
2015/01/21(水) 22:59:21.45ID:MUWZRKNF0便利やな
こうやってテキスト入力しててもフォーカスを取られないのが良い
0636名無しさん@お腹いっぱい。
2015/01/23(金) 18:54:07.45ID:1YMI9dxz0それで質問なのですが、Bのパソコンが共有フォルダに文書をうけとるまで待機するような記述の仕方ってどのようにしたらいいでしょうか。
0637名無しさん@お腹いっぱい。
2015/01/23(金) 20:14:59.62ID:CU7RlmW+0(面倒なポイントその1)
AとBそれぞれにインストールされている環境でしか出来ない処理だとしたら
一つのスクリプトでやろうとするとリモートデスクトップ等で操作する局面が発生する
(面倒なポイントその2)
ファイルのコピーや移動の終了検知はOS側が勝手に並行動作しちゃうので地味に面倒な処理です
一つのスクリプトでやろうとするとスレッド化による並行動作で操作する局面が発生する
共有フォルダを監視するスレッドまたはイベントを用意して対処する方法もありますが・・・
(興味があるなら「UWSC フォルダ監視」等で検索して)
0638名無しさん@お腹いっぱい。
2015/01/23(金) 21:52:07.63ID:c21+gs780ファイルの有無をトリガーに何かを実行させるフリーソフトがそれかどうか忘れたが、
探せばあるにはあったはずだよ。
もちろんUWSCでもVBSでもVisualStudioでも何でも書けば出来るけど。
UWSCの本来の存在理由を考えれば、まずツール探すのをお勧めするな。
0639名無しさん@お腹いっぱい。
2015/01/23(金) 21:58:39.13ID:PTVsKKY+00640名無しさん@お腹いっぱい。
2015/01/23(金) 22:03:58.48ID:YeVYrbD/00641名無しさん@お腹いっぱい。
2015/01/23(金) 23:05:49.91ID:bBI20xyX0While True
IF GETDIR(共有フォルダ\B,受信ファイル) = 1 Then Break
Sleep(1)
Wend
α→β手順
加工したデータを共有フォルダ\Aに書き込み共有フォルダ\Bの元データを削除
こんな感じで行けるんでないでしょうか?
0642名無しさん@お腹いっぱい。
2015/01/23(金) 23:17:34.07ID:CU7RlmW+00643名無しさん@お腹いっぱい。
2015/01/23(金) 23:26:06.02ID:bBI20xyX00644名無しさん@お腹いっぱい。
2015/01/24(土) 07:39:20.06ID:/00kd0Z400645名無しさん@お腹いっぱい。
2015/01/27(火) 16:06:43.60ID:0S7bl2tT0以下の様なスクリプトを書いて、正常に動作しているのですが、
30分ほど経過すると「UWSCは動作を停止しました」とアラート出て止まってしまいます。
HOGE1()
PROCEDURE HOGE1()
While True
IFB CHCKIMG(hoge.png) then
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y, 10)
HOGE2()
ELSE
sleep(0.1)
ENDIF
Wend
FEND
PROCEDURE HOGE2()
//内容は同じでHOGE2→HOGE3と呼び出し、最後まで行くとHOGE1を呼び出してループする
OSはWin7で、HDDのスリープやディスプレイの停止、スクリーンセーバーも全て切っています。
何か原因のヒントとかくれませんでしょうか。
0646名無しさん@お腹いっぱい。
2015/01/27(火) 16:46:49.63ID:hBy/B/Rk0正しいやり方は、
while 続行条件
hoge1()
hoge2()
hoge3()
wend
とこの程度の基本が判らないのも、
最初に手を付けたプログラミング言語が
UWSCみたいなマイナーで
HELPが不親切なスクリプトだからなんだろうね。
0647名無しさん@お腹いっぱい。
2015/01/27(火) 16:48:41.02ID:SdV0f61t0hoge2を読んだらexitしないとダメ
ついでに言うなら関数内から関数を呼ぶんじゃなくて
HOGE関数では画像を見つけて規定処理が終わればEXITするようにして
Main関数のようなものを作って
HOGE1()
HOGE2()
HOGE3()
のように並べるほうがいいと思う
0648名無しさん@お腹いっぱい。
2015/01/27(火) 17:02:42.70ID:hBy/B/Rk0x=0; y=0
while true
for i=1 to 3
ifb waitImgAndGetXY("hoge"+i+".bmp", x, y)
btn(left, click, x, y)
else
print "hoge"+i+".bmpは見つかりませんでした"
exitexit
endif
next
wend
waitImgAndGetXY(waitBmp, VAR imgX, VAR imgY, timeout=3600)
result=false; imgX=ERR_VALUE; imgY=ERR_VALUE
for i=1 to timeout*10
ifb chkimg(waitBmp) then
imgX=G_IMG_X; imgY=G_IMG_Y; result=true; exit
endif
sleep(0.1)
next
FEND
chkimgは必ずbmpで無くてはならないし、ファイル名は""で括って文字列として指定する必要がある。
0649名無しさん@お腹いっぱい。
2015/01/27(火) 17:15:45.63ID:hBy/B/Rk0function waitImgAndGetXY(waitBmp, ...
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC
hoge1,2,3の中で異なるアクションがあって別々に定義する必要があるなら、
それぞれfunctionにしてresultを返すようにし、
hoge1,2,3の戻り値で条件分岐するようにする。
0650名無しさん@お腹いっぱい。
2015/01/27(火) 17:26:50.96ID:l+w+iP+N0やりたいことは、Aをクリック → 画面遷移 → Bをクリック → 画面遷移・・・Cをクリック→Aをクリック
という一連の動作をループすることでした。
ネットに落ちているソースを見たりしながらやっているのですが、基本から間違っていたみたいですね・・・
いただいたソースを見ながら、基本構造から直してみます。
ありがとうございます!
0651名無しさん@お腹いっぱい。
2015/01/27(火) 19:35:28.39ID:hBy/B/Rk0dim resultImages[] = "huga1.bmp", "huga2.bmp", "huga3.bmp"
while true
initSituation()
while true
for idx=0 to resize(targetImages)
if !clickImg(targetImages[idx]) then continue 2
if !waitImage(resultImages[idx]) then break 2
next
wend
recoverySituation()
wend
詳細は自分で考えてね
0652名無しさん@お腹いっぱい。
2015/01/28(水) 07:57:21.00ID:gDbqAnKa0それがフラッシュで動作してるのかは分からんけど
もしそうならハードウェアアクセラレーションを有効化チェックを外してウィンドウを再起動すれば行ける
クロームでしか試してないけどな
0653名無しさん@お腹いっぱい。
2015/01/28(水) 17:16:25.39ID:eK2T9EFP0文字数が100文字とかになるとものすごく時間がかかってしまいます
コピペのように一瞬でペーストする方法などないものでしょうか?
0654名無しさん@お腹いっぱい。
2015/01/28(水) 17:53:48.98ID:S2l+TJ5p0クリップボードに文字列を入れておいて、
キー操作でペーストする
0655名無しさん@お腹いっぱい。
2015/01/28(水) 18:05:52.68ID:BRdlOPlr0動きはするが使い物にならない
と質問する奴は大抵ソースコードを見せたがらない
その結果、いつまでたっても成長しない
0656名無しさん@お腹いっぱい。
2015/01/28(水) 20:26:09.69ID:uAon0jx10既に答え出てますが
初心者でも判るように書いて置きます
//文字をコピペで入力する方法
SENDSTR(0, "入力したい文章")
SCKEY(id, VK_CTRL, VK_V)
0657名無しさん@お腹いっぱい。
2015/01/30(金) 01:08:09.66ID:9dkz127U0デスクトップに座標値変更用のボックスを用意して簡単に座標を変更
できるようにしたいのですが、どのようにやれば良いですか?
0658名無しさん@お腹いっぱい。
2015/01/30(金) 01:30:00.02ID:fnRsd/jl0座標 = INPUT("座標?")
0659名無しさん@お腹いっぱい。
2015/01/30(金) 01:58:32.97ID:9dkz127U0私も今input関数について調べていました。""これを使ってしまうと
文字としての戻り値になりませんか?そもそも座標の値は数値なのか文字として
UWSCで認識されるかわかりませんが、間違っていたらすいません
0660名無しさん@お腹いっぱい。
2015/01/30(金) 02:18:02.66ID:fnRsd/jl0そもそも、UWSCの変数に型はない
半角数字を入力すれば数字
それ以外なら文字列で処理されることが多い
入力したいものを試してみたらいい
座標A = INPUT("座標A?")
座標B = INPUT("座標B?")
PRINT 座標A + 座標B
0661名無しさん@お腹いっぱい。
2015/01/30(金) 02:31:56.86ID:kXzg60NC00662名無しさん@お腹いっぱい。
2015/01/30(金) 02:39:22.72ID:kXzg60NC0While true
Print Readini("Setting","X","User.INI")+","+Readini("Setting","Y","User.INI")
Sleep(1)
Wend
Procedure ChangeXY()
While True
IFB GETKEYSTATE(VK_ESC)
WriteINI("Setting","X",G_MOUSE_X,"User.INI")
WriteINI("Setting","Y",G_MOUSE_Y,"User.INI")
While GETKEYSTATE(VK_ESC);Sleep(0.1);Wend
Endif
Sleep(0.1)
Wend
Fend
いちいち入力するよりボタンひとつの方が楽でない?
0663名無しさん@お腹いっぱい。
2015/01/31(土) 16:24:09.60ID:eWCexTzs0文字化けすることがあります
何を加えればいいですか?
Function GetPage(PageURL)
COM_ERR_IGN
msXMLhttp = CREATEOLEOBJ("Microsoft.XMLhttp")
msXMLhttp.open("GET", PageURL, 0)
msXMLhttp.send()
Result = msXMLhttp.responseText
COM_ERR_RET
Fend
0664名無しさん@お腹いっぱい。
2015/01/31(土) 16:36:25.70ID:DIhJ48Hh0// 文字のデコード処理
戻値 = DECODE( 文字列, 変換指定 )
0665名無しさん@お腹いっぱい。
2015/02/01(日) 12:40:02.40ID:embOqH5f0どうもありがとうございます
何故かそれでは出来ないようです
他に方法はありますか?
0666名無しさん@お腹いっぱい。
2015/02/01(日) 13:43:27.55ID:XIPjeraq0「microsoft.xmlhttp 文字化け」で検索してみるといいよ
0667名無しさん@お腹いっぱい。
2015/02/03(火) 03:15:41.67ID:5IZddXMh0X - 50*n = 2
...
X - 50*n = 50
というようなXの値によって50パターンの動作をするものを組みたいのですが、nを0から5の範囲だと簡潔に指定するにはどのようにすればいいのでしょうか
if X < 51
n = 0
elseif X < 101
n = 1
...
elseif X < 301
n = 5
endif
と自分で考えたのですが、もっと簡潔に表したいと思い試行錯誤したもののできなかったので教えてください
0668名無しさん@お腹いっぱい。
2015/02/03(火) 03:32:32.95ID:HjzMfLZl00669名無しさん@お腹いっぱい。
2015/02/03(火) 04:27:49.98ID:MdV10ZUz0for(int n=0:n<6:n++){
}
for文使う。
0670名無しさん@お腹いっぱい。
2015/02/03(火) 05:02:37.88ID:GKiisgE/0x の入力に対して50パターンの A が欲しいとするなら
こんな感じだと思うよ
これはデモの為に全体をループしているが
実際の x の入手方法次第なので大外の For は必須では無い
(もちろん Print も)
For x = 1 to 299
n = int(x / 50)
A = x-50*n
Print "x["+x+"]-50*n["+n+"]="+A
Next
0671名無しさん@お腹いっぱい。
2015/02/03(火) 05:04:49.17ID:GKiisgE/0For x = 1 to 299
n = int(x / 50)
A = x-50*n+1
Print "x["+x+"]-50*n["+n+"]="+A
Next
0673Nekorabbit ◆jpnWwiLScI
2015/02/03(火) 06:05:32.55ID:HjzMfLZl0https://googledrive.com/host/0B83tioTzFacPQkFKWm52dVhsaXc/ChkImgX-ver1.2.1.zip
対象領域がパターン画像より小さい場合にエラーになっていたので修正
0674名無しさん@お腹いっぱい。
2015/02/03(火) 06:10:51.41ID:GKiisgE/050パターンってだけならアレでいいんだけれど
X が 50 の倍数の時の Aがゼロになるのが不味い場合はこうしないとあダメね
For x = 1 to 300
n = int(x / 50)
A = x-50*n
If A = 0 Then A = 50
Print "x["+x+"]-50*n["+n+"]="+A
Next
0675名無しさん@お腹いっぱい。
2015/02/03(火) 07:28:39.30ID:N/imRZIf0ありがとうございます
0676名無しさん@お腹いっぱい。
2015/02/03(火) 07:34:01.50ID:N/imRZIf0>>667
IFB X>0 AND X<301 THEN
A = INT( (X-1) / 50 )
ELSE
A = ERR_VALUE
ENDIF
0677名無しさん@お腹いっぱい。
2015/02/03(火) 10:22:52.00ID:wM/Z+UdE0お陰様で、Rocket Mouseを全然使わなくなりました!
0678名無しさん@お腹いっぱい。
2015/02/04(水) 02:21:11.65ID:ICAinnSu0コマンドプロンプト上の挙動と違って困ってます。
■コマンドプロンプト上で実行
taskkill /f /im explorer.exe
explorer.exe
→タスクバーやデスクトップアイコンが表示される
■uwsc上で実行
doscmd("taskkill /f /im explorer.exe")
doscmd("explorer.exe")
→エクスプローラのウィンドウが表示される(タスクバーやアイコンは表示されない)
OSはwindows7で、uwscのバージョンは5.1です。
uwsc.exeの管理者権限や互換性も変えたり、コマンドをバッチ化して呼び出ししてみたりと
いろいろ試したのですが、うまくいかず・・・
環境周りがおかしそうなのですが、考えられる原因の指摘をしていただけるとありがたいです。
0679名無しさん@お腹いっぱい。
2015/02/04(水) 02:45:10.05ID:UG+/jzoM0doscmdでそのバッチファイルを実行したらどうなる?
0680名無しさん@お腹いっぱい。
2015/02/04(水) 03:00:48.13ID:ICAinnSu0結果は同様で、ウィンドウのみが表示されますね
explorer.batファイルを作成して↓を実行してみました
doscmd("xxxxx\explorer.bat")
0681名無しさん@お腹いっぱい。
2015/02/04(水) 08:18:01.48ID:+RZexeeJ0OSもuwscも同じバージョンだけどちゃんとdoscmd関数だけでうまくいくわ
>doscmd("taskkill /f /im explorer.exe")
これの戻り値を見て標準出力はどうなってる?
何らかの要因でtaskkillが終わる前にexplorer.exeが呼ばれているのかな
0682名無しさん@お腹いっぱい。
2015/02/04(水) 19:24:02.65ID:+RZexeeJ064ビットPCで動かしてるんじゃね?
echo %PROCESSOR_ARCHITECTURE%
を比較すると分かるけど64ビットOSの場合、cmd.exeには2種類ある
uwscは32ビットアプリだから32ビットのcmd.exeを動かす
そこからexplorer.exeって呼んでもcmd.exeと同じフォルダ内の32ビットエクスプローラが起動するだけ
doscmd("taskkill /f /im explorer.exe")
doscmd("C:\Windows\explorer.exe")
みたいに64ビットエクスプローラを直接呼び出す
0683678
2015/02/04(水) 19:38:52.43ID:ICAinnSu0おお!それが原因でした!
おっしゃるとおり64bitPCです
64bit用と32bit用の実行ファイルで挙動が違うとは・・・
フルパスで試したときもわざわざsystem32配下のexe叩いたりしてました・・・
ありがとうございました
0684名無しさん@お腹いっぱい。
2015/02/05(木) 02:28:02.59ID:bmA9JyZT0id = GETID("yahoo")
for i = 1 to 4
GETTIME()
t = G_TIME_DD + "日" + G_TIME_HH + "時"+ G_TIME_NN + "分"+ G_time_SS
SAVEIMG("" + t,id)
sleep(2)
next
半分は成功しますが50%くらいの確率で真っ黒な画像が保存されます。ブラウザを前面に出しても出さなくても結果は同じです
スクリーン全体にすれば失敗はありません
0685名無しさん@お腹いっぱい。
2015/02/05(木) 07:36:44.60ID:Gr2vFznP0mouseorgとacwしてからsleepで待ち、
その後やっとsaveimg
ぐらいはしてから悩んでね
0686名無しさん@お腹いっぱい。
2015/02/05(木) 07:43:44.21ID:ViVdvX9P0比較一致したらキャプチャをやり直すアルゴリズムにしたら?
0687名無しさん@お腹いっぱい。
2015/02/05(木) 07:59:59.93ID:sFRrnvY+0クロームだと解決方法がないと思ってるんだけど解決方法あるのかな?
ブラウザーをIEに変えるのが一番簡単な解決方法だけど、クロームでの解決方法が知りたいよな
0688名無しさん@お腹いっぱい。
2015/02/05(木) 08:01:36.09ID:A5D/fqGE0でググれば何個か出てくるけど試してみた?
IEやChromeで試してみたが俺の環境ではふつうに取れたよ
0689684
2015/02/05(木) 09:14:45.43ID:bmA9JyZT0IEでは上のメニューは保存できましたがメーン部分が真っ黒になるパターン。。
XPなのでAeroは関係ないですし、ハードウェアなんたらのチェックは外してます
ループ中に成功する時と失敗する時がランダムに発生するのがよく分からない
0690名無しさん@お腹いっぱい。
2015/02/05(木) 12:33:54.32ID:HTOGka7B0最近、頻繁にページの読み込み失敗でブラウザがフリーズしてしまうのですが、(その度にブラウザを再起動)フリーズしたら音を鳴らすとかって出来ますか?
0691名無しさん@お腹いっぱい。
2015/02/05(木) 12:41:23.37ID:A5D/fqGE00692名無しさん@お腹いっぱい。
2015/02/05(木) 13:50:09.99ID:K7FWvl7r0>ハードウェアなんたらのチェックは外してます
これブラウザのチェック?
XPなら画面のプロパティ→詳細→トラブルシューティング無効試してみては
0693名無しさん@お腹いっぱい。
2015/02/05(木) 23:43:23.43ID:W/pwIVXi0というのをやりたいのですが、その現れる数字が静止しておらず
ピコンとポップアップするような動きをする為、
chkimgでなかなか捉えられません。
画像を小さくする、検索範囲を縮める、以外に何か方法はありますでしょうか。
https://vine.co/v/OFnr6rVi3ba
0694名無しさん@お腹いっぱい。
2015/02/05(木) 23:57:23.19ID:3jT6GgTi0諦めろ
0695名無しさん@お腹いっぱい。
2015/02/06(金) 00:15:39.46ID:h5BNhu3Z0>>673
0696名無しさん@お腹いっぱい。
2015/02/06(金) 03:23:34.33ID:MPWBOcrt00697名無しさん@お腹いっぱい。
2015/02/06(金) 11:03:48.00ID:K6agUDp30この画像(フリーズ中の画像)を見つけたら再起動するってスクリプトはどう書けばいいですか?
ifb chkimg("フリーズ中の画像.bmp")
ifb chkimg("ブラウザの閉じるのバッテン.bmp") Than BTN(LEFT, CLICK, x+2, y+2)
このあと、スリープ入れて
Thanを使ってブラウザのアイコンをダブルクリックさせるようにしてみましたが、ダブルクリックさせても起動する時としない時があるので行き詰まってしまいました。
ちなみにブラウザはironです。
■ このスレッドは過去ログ倉庫に格納されています