自動化ツールUWSC使いよ集まれ18at SOFTWARE
自動化ツールUWSC使いよ集まれ18 - 暇つぶし2ch503:名無しさん@お腹いっぱい。
16/09/25 16:44:54.58 V3eQLRTq0.net
いまならアドバイス権契約料無料!小文字「年間5万円」

504:名無しさん@お腹いっぱい。
16/09/25 18:38:31.01 SeV2OxrC0.net
ま、UWSC動かすとPCがフリーズするんですーなんてのを解決って5万でも安いかもしれんわw

505:名無しさん@お腹いっぱい。
16/09/25 18:44:42.99 0hMoPUpF0.net
フリーズするのをしなくさせるならそうかも知れんが
フリーズしない環境を丸ごと用意するならお釣りもでそう

506:名無しさん@お腹いっぱい。
16/09/26 15:39:01.34 SUS/gjXf0.net
プログラム弄ってないのならセキュリティソフトが影響してんじゃねえの
ソフトの中じゃ更新が激しいのがそこらへんだしな

507:名無しさん@お腹いっぱい。
16/09/27 13:55:13.59 MMJKX3jS0.net
画像認識関数 ChkImgXを使ってみたいのですが、過去スレのリンクがきれていました。
どこかダウンロードできるところありますか?

508:名無しさん@お腹いっぱい。
16/09/27 14:43:09.93 9lUibJdB0.net
自作関数のやつかな

509:名無しさん@お腹いっぱい。
16/09/27 20:04:54.95 sxUN5epi0.net
画像を変数にしたいのですが
A = "sanple.bmp"
ifb chkimg(A)~
などとやってもできません
どなたか記述方法をご教授ください

510:名無しさん@お腹いっぱい。
16/09/27 20:10:22.86 SnPTLgjG0.net
せめてパスを・・・

511:名無しさん@お腹いっぱい。
16/09/27 20:19:39.43 xa9rMfWU0.net
戻値 = GETSTR( ウィンドウのID, [番号, 種別, マウス移動] )
GETSTRで使うウィンドウ左上から数えたコントロールの順番なんですが
マウスカーソル下にあるコントロールの順番について取得する方法はありますか?

512:481
16/09/27 20:21:35.09 sxUN5epi0.net
申し訳ありません、出来ました
A = "sanple.bmp"
ifb chkimg("A")~
こうなって居たようです…お騒がせしました

513:名無しさん@お腹いっぱい。
16/09/27 20:26:31.13 rDB+8r9J0.net
>>485
いやできるだろ

514:名無しさん@お腹いっぱい。
16/09/27 21:13:08.72 LXzuWgfh0.net
ファイル名が間違ってるんじゃない?

515:名無しさん@お腹いっぱい。
16/09/27 23:15:17.93 G0mPB5rq0.net
>>487
スマートじゃないけど
最初に現在のマウス座標を保持して
getstrで順番に取得&マウス移動させて
最初に保持したのと移動後の座標が近いかで判定したら?

516:名無しさん@お腹いっぱい。
16/09/28 07:27:25.03 FgNSc+gk0.net
>488
自己不解決すんなw

517:名無しさん@お腹いっぱい。
16/09/28 17:02:20.06 Z7UHxXxQ0.net
id = getid( )
mouseorg( id ,2 ,MORG_BA


518:CK ) id = GetID(ウィンドゥ名) id = GetCtlHnd(id,"Class") MouseOrg(id,2) どちらで実行しても バックグラウンドでchkimgが動作しません アクティブ状態でなら正常に動いてくれます どこに問題があるのでしょうか



519:名無しさん@お腹いっぱい。
16/09/28 17:06:22.14 xnU3tPsy0.net
ソフトによってはできないのもある

520:名無しさん@お腹いっぱい。
16/09/28 19:18:30.02 h0gDUW9q0.net
泥エミュと予想

521:名無しさん@お腹いっぱい。
16/09/29 11:46:18.59 B5VYBAE20.net
ieの中に表示されている数値を使って計算してその答えを同じie内のテキストボックスにペーストする事はできますか?

522:名無しさん@お腹いっぱい。
16/09/29 11:52:31.27 5CJnhGvw0.net
文字がテキストならできる

523:名無しさん@お腹いっぱい。
16/09/29 12:10:34.54 B5VYBAE20.net
>>497
ありがとうございます
調べて勉強してみます

524:名無しさん@お腹いっぱい。
16/09/29 13:24:39.07 ySOTt+Hu0.net
コピペしてクリップボード経由で値を変数に格納するのが簡単
数値が画像だった場合は諦めれ

525:名無しさん@お腹いっぱい。
16/09/29 15:25:41.65 B5VYBAE20.net
>>499
続けて助けてくれてありがとうございます!
変数に代入ですか…と、いう事は例えば
1,000と言う文字の場合、「,」を抜くコードも必要って事ですよね?

526:名無しさん@お腹いっぱい。
16/09/29 15:46:49.12 hX4J6hW10.net
気になって試してみたんだけどVALで数値に出来るんだな
VAL(

527:名無しさん@お腹いっぱい。
16/09/29 15:48:38.36 hX4J6hW10.net
後ろ途切れちゃった
文字列の1,000がちゃんと数値の1000になる

528:名無しさん@お腹いっぱい。
16/09/29 15:56:43.47 B5VYBAE20.net
>>501
仕事早過ぎw
教えてくれた事を参考に家に帰ってから組み立ててみます
ありがとうございます

529:名無しさん@お腹いっぱい。
16/09/29 18:56:00.30 /uTFcAJA0.net
>>503
>>499みたいな手抜きじゃなくちゃんとhtmlの中身を解析してやったほうが後々役に立つ。

530:名無しさん@お腹いっぱい。
16/09/29 20:43:18.46 qGfkXfVY0.net
画像を認識してくれる時としてくれない時があるんだけど何でだろ
判定処理にもたついて一致するタイミングを逃してるとかある?

531:名無しさん@お腹いっぱい。
16/09/29 23:53:59.14 KJZxtS+L0.net
SAVEIMGでウィンドウと座標と切り取り範囲を指定してるのに毎回保存される場所が違う なんでや、、、

532:名無しさん@お腹いっぱい。
16/09/30 00:00:28.79 m6UVh66Y0.net
>>505
・見た目同じ画像でも僅かにに違う画像だった(背景を含む)
・chkimgで指定している範囲が狭すぎる
・waitが入ってないせいで画像が出る前にchkimgしている
・そもそもそのタイミングでchkimg判定をするように組んでない
・カーソルが重なることでマウスオーバーする画像だった
・全面に何かポップアップメッセージが出て本命の画像を隠していた
・チェック対象のアプリが最大化されておらずいつもと違う位置に出ていた
とまぁ無数に原因があるので部外者にはわからん
Else時にSAVEIMGするようにしてマッチしなかった時の画像を確保して自分で原因究明するしかない

533:名無しさん@お腹いっぱい。
16/09/30 04:39:44.31 0EnfU3hW0.net
>>506
変数で座標指定してるならその値が変わったとか
mouseorg使ってるなら、相対座標の位置がズレたとか

534:名無しさん@お腹いっぱい。
16/09/30 10:57:38.58 U4lgDI1s0.net
UWSCユーザー的にオススメのセキュリティソフトってある?
ポップアップメッセージが不定期に出るものが多くてchkimgが阻害されて困ってるんだ

535:名無しさん@お腹いっぱい。
16/09/30 12:14:04.96 Fn8Fptf80.net
オススメではないが、仮想環境にAVAST入れたのは失敗だったと思ってる

536:名無しさん@お腹いっぱい。
16/09/30 17:46:18.57 0EnfU3hW0.net
chkimgをラップしてactive_winが対象のウィンドウじゃなかったらacwでも�


537:オたら?



538:名無しさん@お腹いっぱい。
16/09/30 18:27:09.10 vaPjPN9j0.net
どなたか知恵をお貸しください。
ローカルにあるファイルの更新日時を取得したいのですが、どんな方法がありますか?
ファイルはbmpです。
日時は作成日でも最終更新日時でもかまいません。

539:名無しさん@お腹いっぱい。
16/09/30 18:44:12.47 0EnfU3hW0.net
>>512
exec dir をリダイレクトでファイル出力してfopenで読み込む感じか

540:名無しさん@お腹いっぱい。
16/09/30 18:57:45.17 nXq+rd0w0.net
FileSystemObject

541:名無しさん@お腹いっぱい。
16/09/30 18:57:58.16 vaPjPN9j0.net
>>513
更新日時を記載したテキストファイルを作成するってことですか?

542:名無しさん@お腹いっぱい。
16/09/30 19:02:14.57 eTDX/joO0.net
>>512
strFILENAME = "C:\Windows\explorer.exe"
FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
MsgBox(FSO.GetFile(strFILENAME).DateLastModified)

543:名無しさん@お腹いっぱい。
16/10/01 00:08:20.28 i2jZ13vb0.net
>>516
ありがとうございます、今職場なので明日試してみます。

544:名無しさん@お腹いっぱい。
16/10/01 01:15:12.18 qD0z27bm0.net
Windowsにて、何も操作しない状態で15分程でスリープに移行するように設定してますが、UWSCが起動している間は、「何も操作しない」タイマーをカウントさせない方法はありますか?
UWSCが起動してから数十分待機させる→パソコンがスリープし後続の処理が中断される
この状態を解決したいです
こちらで試したときは
MMVでひたすらマウスを動かす→ダメみたい
Btnで画面端を一定間隔でクリック→OK
なのですが、如何せん自分が使っているときにこのスクリプトが起動してしまうと操作を妨害されて不便です
何か方法はありますか?

545:名無しさん@お腹いっぱい。
16/10/01 01:30:48.06 Q8BpEg6S0.net
>>518
URLリンク(www.uwsc.info)

546:名無しさん@お腹いっぱい。
16/10/01 03:10:56.70 qD0z27bm0.net
>>519
ありがとうございます

547:名無しさん@お腹いっぱい。
16/10/01 10:30:27.64 Tdk8Pssv0.net
>>516
ありがとうございました。
意図通りに動きました。
感謝です。

548:名無しさん@お腹いっぱい。
16/10/01 10:59:43.16 KqhS2iT20.net
バックグラウンドマクロであっても
他をカチカチ操作してたらacwが取られて?マクロが狂うというのは普通です?

549:名無しさん@お腹いっぱい。
16/10/01 11:20:51.67 UINuJPbR0.net
ハードウェアからの入力禁止とかにしてなければそうなる

550:名無しさん@お腹いっぱい。
16/10/01 13:20:59.79 KqhS2iT20.net
なるほど、調べて入れてみます
ありがとうございました

551:名無しさん@お腹いっぱい。
16/10/01 21:58:19.50 GbjscWUC0.net
場違いを承知の上で駄文失礼します
全くの0知識で物分かりが異常に悪い池沼脳なんですが
こんな馬鹿でも記録では出来ない事を可能にするスキルを身につける事は可能でしょうか?
>>1のテンプレ見ろよ池沼となるでしょうが、どこから手をつけていいのか皆目見当が付かず
テンプレ的な基礎情報やスクリプト例を自分で調べて見てもぴんと来ません
こんな感じで何とかしたいと思いつつもそれを繰り返すばかりでずっと止まっています
具体的にできるようになりたい事は、記録で捌けない任意のHPやコンテンツの内容を解析して正確に自動化、バックグラウンドで走らせられれば尚良しな感じです
どこかどういった手順で手をつければいいのでしょうか?
知識を身につけるまで時間がかかっても�


552:「いですし、おすすめの実用的な書籍のおすすめがあれば知りたいです



553:名無しさん@お腹いっぱい。
16/10/01 22:23:10.13 RO+6HtiC0.net
テンプレのサイト見てもピンと来ないというならもう無理だろ

554:名無しさん@お腹いっぱい。
16/10/01 23:17:07.88 GbjscWUC0.net
やっぱり厳しいですかね?
きっかけなる物があれば馬鹿なりにコツコツ丁寧に身につけていけるとは思うんですが
集中力散漫な池沼脳なので具体的な指標がないと実際に着手する事ができないという厄介な性質なので・・・

555:名無しさん@お腹いっぱい。
16/10/01 23:43:43.79 3B57mQGG0.net
UWSCはBASIC程度が理解できる前提の上で「自動化」をする為にスクリプトを組んで動かすツールだから
自分で出来ないやら分からないと言ってしまった奴に教える術はもう無いよ
手取り足取り教えるのはこのスレじゃないし
自分で手を動かすのが大前提、その気がないなら無理としか言えない

556:名無しさん@お腹いっぱい。
16/10/02 00:07:39.32 KpxBD5ab0.net
>>525
やりたいことを細分化して
一つずつ解決するために検索とかする
情報は検索すれば大抵見つかる
例えばwebページの操作ならまずはブラウザを開く操作が必要
uwsc ie 起動 とかで検索すればすぐ出るはず
スクリプトの構文が分からないならサンプルのコードとか改造して動きを確認する
数行だけ書いて実行すればどんな動きするかはわかるだろ
どうしても分からないなら聞きたいことを単純化してからこことかで聞いたらいい

557:名無しさん@お腹いっぱい。
16/10/02 00:27:19.89 W9R9EMSl0.net
>>527
まず論理的思考の下地も無いみたいなので、学習環境の整ってるメジャーな言語をざっと勉強してみた方がいいかもね
入門コンテンツを一通りやって、それが終わったpaizaみたいなサイトのお題でプログラムを書いてみる
プログラムが単純な処理の組み合わせでループしたり条件分岐したりして組まれていることが学べるし
そうやってある程度論理的な思考の下地をつくればいい
やりたいことをやるためにどういうデータが必要でどうやって評価して何を実行するかってのを考えられるようになる
あとは言語の知識だから個別に調べるだけ

558:名無しさん@お腹いっぱい。
16/10/02 01:06:40.31 6d/jrBAH0.net
>>527
作りたいがなくただ覚えようとしても無理
作りたい物を見つけてそれに必要な処理を考えて、
処理を行える関数を調べながら組み立てて初めて覚えれる

559:名無しさん@お腹いっぱい。
16/10/02 01:19:12.55 fPQQYVON0.net
>>528->>531
なるほど
参考になります
特に>>530さんのレス通り、”論理的思考の下地も無い”
的を得たレスのように感じます
根本的に欠けている部分を何とかしない限りはUWSCに限らずこの手の物は厳しいのでしょうね
自分が変わらない限り、現状変わらずループするだけと
機械オンチの老人みたいなもので元を正す必要があると痛感しています

560:名無しさん@お腹いっぱい。
16/10/02 01:29:16.32 VREBRXCl0.net
>>525
しゃーねーなー1度だけ助言してやるよ
コバヤシ式のHPを見ながら
・REPEATとUNTIL
・FORとNEXT
・IFB
・CHKIMG
・BTN
・MMV
・KBD
・SENDSTRとGETSTR
・GETIDとCTRLWIN
・EXEC
このへんの関数の仕様をまず読んでとりあえず動くもの(やりたいこと)を作れ
分かんないことだらけだろうが試行錯誤だけで1個1個解決しろ
「ここまではできるようになったぞ」を積み重ねろ
不恰好でも完成したら後は徐々�


561:ノ扱える関数増やして高度なことを覚えればいい 「勉強ありき」ではなく「(ポンコツでもいいから)とりあえず動くものを作る」からやれ 諦めずに改良を重ねればいつか目的を達成できるだろうよ



562:529
16/10/02 01:33:39.57 VREBRXCl0.net
追加で
・SLEEP
・GETTIME
・PRINT(動作チェック用に使う)
こんだけ覚えれば人間にできることなら大体できる

563:名無しさん@お腹いっぱい。
16/10/02 02:01:46.02 fPQQYVON0.net
>>533->>534
わざわざ、細かくありがとうございます!
てっきり、この手の池沼丸出しのレスは生暖かくスルーされるか
盛大に煽られてそこで終了なケースが大半(特に2chでは)だと思うので皆様のレスに感謝です
真摯に受け止め、口だけじゃなく実際に行動を移すつもりです
>>533さんの具体的な内容、助かります
長々とスレ汚し失礼しました

564:名無しさん@お腹いっぱい。
16/10/02 11:22:09.64 WROqhlYk0.net
Windows7で動かしていたUWSCを
サクラVPSのWindows server 2012 R2に載せ替えて動かしています
Windows7の時は大丈夫だったんですが、載せ替えてから一定時間経った後で
ブラウザの操作ができずに途中で止まってしまっています
同じ経験した方いらっしゃいますか?

565:名無しさん@お腹いっぱい。
16/10/02 11:34:34.82 WROqhlYk0.net
SetThreadExecutionStateを先頭に入れて実行し直してみます!

566:名無しさん@お腹いっぱい。
16/10/02 12:06:07.94 YCECQzWf0.net
Windows7のPCをWindows10のPCに買い替えたんでそちらでインストールして動かすも
画像認識が絶対に一致しない事象が起きました。
いつもプリントスクリーンキーで画像ソフトに貼り付けてトリミングでbmp保存
これでいつも作っていましたがWindows10にした途端、何度やってもサイズを変えても絶対に一致しなくなりました。
画面キャプチャがだめなんでUWSC機能のSAVEIMGで直々に保存した画像からbmpを作っても
絶対にtrueになりません。どういう原因が考えられますか?

567:名無しさん@お腹いっぱい。
16/10/02 12:23:45.48 pz/x6gwU0.net
該当部分の画像が変わっている

568:名無しさん@お腹いっぱい。
16/10/02 13:02:32.70 VREBRXCl0.net
>>538
過去ログ読めよアホ

569:名無しさん@お腹いっぱい。
16/10/02 13:50:38.62 9IVFyyrf0.net
>>538
煽りでもなんでもなく
それだけの情報では、win10にしたことが原因の可能性が高いとしか分からない
(一応言っとくと、PC買い替えは関係ない可能性すらあるからな)
「お腹が痛いです。原因は何が考えられますか?」ってネットで聞いてるのと同じ
そもそも何を操作しようとしてるのか
UWSCのソース抜粋と問題のキャプチャ画像(全体とトリミングしたもの)を貼れば
誰かが原因探ってくれるかもね

570:名無しさん@お腹いっぱい。
16/10/02 13:53:51.04 dIahHYWU0.net
グラボのドライバ変えただけでも一致しなくなったりするんだから取り直しか、
取り直しようのスクリプト組んでやるかだな。

571:名無しさん@お腹いっぱい。
16/10/02 14:04:58.48 YCECQzWf0.net
ようやく解決。
>>539
元100%だし、セキュリティは全部切ってるから変えられようがない。
>>540
過去ログ全て読んだが載ってなかったんだが?
なんでもかんでも思考停止しかできない短絡脳な時点でスキルが知れてて恥ずかしいぞ。
>>541
Windows10にしたことが原因ではなかった。
>>542
鋭い。優勝。
高性能グラボがDirectXと連携して画面描画に影響を与えていた。
キャプチャしても1フレ後には状況変わってるから一致せんわけだ。

572:名無しさん@お腹いっぱい。
16/10/02 14:08:02.77 pz/x6gwU0.net
>>313でおれが書いてる

573:名無しさん@お腹いっぱい。
16/10/02 14:30:39.69 otctuW8l0.net



574:解決したとたん態度でかくなってワロタ



575:名無しさん@お腹いっぱい。
16/10/02 14:35:40.95 9IVFyyrf0.net
釣りにしてもレベルが低すぎるw
過去ログ全部読んだは言っちゃいかんわなー
ほんとに過去に出てなくて
みんながアッと驚くネタ仕込んでくれるならともかくw

576:名無しさん@お腹いっぱい。
16/10/02 14:43:42.84 0lPMH1li0.net
やめてあげて
スキルが知れるアホな質問しちゃって叩かれたのが悔しかったんだよ
なんでもかんでも思考停止しかできない短絡脳なキッズの捨て台詞くらい大目に見てあげよう

577:名無しさん@お腹いっぱい。
16/10/02 14:46:06.21 dIahHYWU0.net
そういうのいいから…
恐らくwin10に変えてそういう人も増えるだろうと思うよ。

578:名無しさん@お腹いっぱい。
16/10/02 14:48:08.05 pz/x6gwU0.net
>元100%だし、セキュリティは全部切ってる
これも良く分からない
結局画像は変わってたんだよね

579:名無しさん@お腹いっぱい。
16/10/02 14:49:16.34 uyx5cPI90.net
>>543
画面に描画されている該当部分の画像が変わっていたことが原因。
過去ログには何度も同じ話題が出てる。
古いWindowsだと起こらない現象だからWindows10にしたことが原因でもある。
つまり、ID:YCECQzWf0氏自身の知能が主な原因と思われる。
これOS側の設定の話なのに、何度も何度もUWSCスレに持ち込まれてうんざりだよ。

580:名無しさん@お腹いっぱい。
16/10/02 14:53:20.32 VREBRXCl0.net
それなりに役立つchkimgトラブル事例を投稿したことは認めてやる
もう下がって良いぞ

581:名無しさん@お腹いっぱい。
16/10/02 16:24:52.94 EGIzDI2G0.net
いや事例は既出でしょ。
・グラボの違いなどによるハードウェアアンチエイリアス処理の違いで画像が変わる
・DPIの違いで変わる。OSの視覚効果の設定の違いで変わる。OSの違いで変わる。
・ブラウザの違いで使用フォントやベースライン処理が変わる。
・フラッシュのバージョンが古過ぎるとサーバ側と齟齬が生じて変わる。
・透過画像の背景の違いで変わる。
・3次元を投影した画層を判定しようとしている。
・2次元でも画像が原寸大から拡大縮小されると半ドットの扱いにより形状が変わる。
・判定画像が単純すぎて無限にマッチしてしまう。
・絶対相対の座標基準や対象ウィンドウが間違っている。
・裏でやろうとして個々のアプリケーション側の仕様の迷路に嵌り込む。
・そもそもBMP形式じゃない。くだらないバグがある。ファイルのパスが間違っている。

582:名無しさん@お腹いっぱい。
16/10/03 18:01:42.88 PRYYfh6B0.net
IEでgoogleの検索ボタンを押してから検索結果がロードされたのを検知するにはどうしたらいいでしょうか?
ie.readyState ie.document.readyStateを監視してもダメで
これらはボタンを押す前後で値が変わりません
URLに検索語句を入れて飛べばreadystateで監視できるんですが、それは無しで
既に開いた検索ページでボタンを押した場合の時を知りたいです

583:名無しさん@お腹いっぱい。
16/10/03 18:15:11.51 otqMiWLs0.net
検索が終わったときに初めて描画されるエレメントの取得をquerySelectorで試みてnullを返さなくなるまでループして待つ

584:名無しさん@お腹いっぱい。
16/10/03 18:24:02.94 PRYYfh6B0.net
>>554
それはやってみたんですが、検索前から既にエレメントが存在していて
中身が更新されるだけのようなんです

585:名無しさん@お腹いっぱい。
16/10/03 18:26:47.86 PRYYfh6B0.net
勿論ループでinnerTextを取得して全文一致するかどうか~みたいなことをすれば出来そうな気もするんですが
結構重いので何か他の方法ないですかね

586:名無しさん@お腹いっぱい。
16/10/03 19:02:06.16 dlWYLjXM0.net
ieのjavascriptを切る

587:名無しさん@お腹いっぱい。
16/10/04 07:29:20.35 CBc/4Ywt0.net
>>556
非同期ロードで要素が変わらないならそう見るしかないのでは?
検索結果なら全文判定しなくても中身がある程度書かれているか
正規表現で判定すればいい

588:名無しさん@お腹いっぱい。
16/10/04 09:27:43.41 dJkff0RR0.net
何件中 n


589: 件という文言はあるんだし、 n を取得して、項目のルートになる要素の数だけ確認すれば、そこまで重くはならないかも



590:名無しさん@お腹いっぱい。
16/10/04 16:10:49.10 fwzWaQtZ0.net
js側のonhashchangeとかでできない?

591:名無しさん@お腹いっぱい。
16/10/04 22:12:59.94 j6E9k2vk0.net
>>560
onhashchangeの使い方はよくわからないんですが
document.location.hashを監視してみたところ、ボタンを押した瞬間に値が変わってしまい
ロードの終わりとは無関係のようです

592:名無しさん@お腹いっぱい。
16/10/05 01:37:55.47 liQYvSHA0.net
フォームに入力からだとページ遷移しないから検索文字列ねじ込んだurlをnavigateで遷移させてからreadyStateでいけそう

593:名無しさん@お腹いっぱい。
16/10/05 20:11:45.02 b9XTzKkE0.net
Windows7で動かしていたUWSCを
サクラVPSのWindows server 2012 R2に載せ替えて動かしています
WindowsServerに載せ替えてから、下記の事象が発生しています
------------------------------------------
UWSCで自動処理を実行して、一定時間(15分〜30分)経った後で
ブラウザ(FireFox)のタブを開く操作ができずに途中で止まってしまっています
------------------------------------------
タブを開こうとするログは残っているのでUWSC側の問題ではないと思っています
下記のプログラムでスタンドバイにならないようにもしています
// prevent standby
DEF_DLL SetThreadExecutionState(DWORD): DWORD: kernel32
SetThreadExecutionState($80000003)
同じような経験した方いらっしゃいますか?

594:名無しさん@お腹いっぱい。
16/10/05 20:38:51.47 fiW5BzCx0.net
>>562
> URLに検索語句を入れて飛べばreadystateで監視できるんですが、それは無しで

595:名無しさん@お腹いっぱい。
16/10/05 20:44:26.50 +nx18CnJ0.net
>>563
動作環境外だから、自分で解決できなければ諦めろ

596:名無しさん@お腹いっぱい。
16/10/05 21:15:26.36 AD6bTee10.net
>>563
ちなみにOS再インストールして2008R2にしてもでもダメなん?
Win7と2008は同じソースコードからビルドしてるからこっちの方がコンパチだぞ

597:名無しさん@お腹いっぱい。
16/10/05 21:34:50.58 b9XTzKkE0.net
559のものです
リモートデスクトップサービスによりログインしてUWSCとブラウザを起動したとして
リモートデスクトップのセッッションが切れて
リモートデスクトップサービスが停止した後で、連動してブラウザも停止している
という可能せいもあるかと思い、リモートデスクトップサービスの設定をいじくってみます
ダメなら2008R2にしてみます

598:名無しさん@お腹いっぱい。
16/10/05 22:10:05.13 pRnzFR280.net
Windows Server 作者が動作環境もってないからヤバイよ。
今のところまだXPで動くUWSCも、
XPと同等環境のWindowsServer2003だと
正常な組み込み関数や制御文が文法エラー吐いたりしてまともに動かない

599:名無しさん@お腹いっぱい。
16/10/06 11:01:15.51 pzF9eLvu0.net
>>563 のものです
リモートデスクトップが切断されてから
EXEC(windowId)は処理され、ブラウザ起動がされていることは確認でき
その後のタブを開く処理ができていないということがわかりました
SCKEY(windowId, VK_CONTROL, VK_1)これが動かない。。。
リモートデスクトップで接続して手動実行していると正常に動くのに
リモートデスクトップを切断してuwscのスケジュールから実行すると
EXECは動くがSCKEYが動かない、、、、、

600:名無しさん@お腹いっぱい。
16/10/06 16:56:19.19 zQFB9rDu0.net
>>569
RDP接続でスクリプト手動実行してすぐに切断したら?
たぶん動かないんじゃないかな?
7では動いてたってことだけど、ベースOSもWindows8になってるみたいだしRDPの仕様に変更が
あったのかも。

601:名無しさん@お腹いっぱい。
16/10/06 17:19:08.87 zQFB9rDu0.net
>>570
接続先Windows7で実験
スリープ(10)
ID = エクゼック("notepad")
SCKEY(ID, VK_A, VK_H)
RDP接続したままだとメモ帳に"ah"が入力されるけど、切断どころかウィンドウを最小化しただけでキー入力無視される。
> Windows7で動かしていたUWSCを
> サクラVPSのWindows server 2012 R2に載せ替えて動かしています



602:これって、Windows7のローカルで動かしていたって意味かい。 切断状態ではキーボードデバイスが存在しなくなるわけだからキー入力自体が無視されるっていうRDP自体の仕様じゃないのけ?



603:名無しさん@お腹いっぱい。
16/10/06 17:35:56.98 pzF9eLvu0.net
>> 599 のものです
>> Windows7で動かしていたUWSCを
>> サクラVPSのWindows server 2012 R2に載せ替えて動かしています
>これって、Windows7のローカルで動かしていたって意味かい。
はい、ローカルで動かして、ディスプレイとキーボードはメインPCと切り替えきで共有していました
>切断状態ではキーボードデバイスが存在しなくなるわけだからキー入力自体が無視されるっていうRDP自体の仕様じゃないのけ?
ということは、RDP接続の仕様でリモートデスクトップ切断と同時にキーボードが存在しないことになっている。という訳ですね
※説明してもらったことそのままw
つまり、キーボード接続したままにできればいいんですね!!!!

「VPS キーボード接続 継続」で調査します

604:名無しさん@お腹いっぱい。
16/10/06 19:08:04.28 pkWsIv/Z0.net
>>569
RDPのセッション上でUWSCが動作しているせいでRDPが接続されていないと画面の更新が発生しなくてchkimgがコケてるんじゃね
RDPで繋ぐのではなく、VPSコントロールパネルからjavaでデスクトップに繋いでUWSCのセッティングをやってもダメか?

605:名無しさん@お腹いっぱい。
16/10/06 19:11:34.55 pkWsIv/Z0.net
ってコケてるのはchkimgじゃないのかすまん

606:名無しさん@お腹いっぱい。
16/10/06 19:25:15.94 zQFB9rDu0.net
>>574
根本は同じなんでしょ。
接続がないから画面更新しないしキーボードの入力もなしっていう話。

607:名無しさん@お腹いっぱい。
16/10/06 20:10:11.84 pzF9eLvu0.net
>> 599 のものです
ブラウザの起動はできているが、キーボードの入力ができないのは確認できています
画面自体は動いていると思います、ブラウザが起動してウィンドウが表示されているので
スケジュールが実行された後で、リモートデスクトップ接続して確認しました。

608:名無しさん@お腹いっぱい。
16/10/06 20:22:23.71 zQFB9rDu0.net
>>576
> 画面自体は動いていると思います、ブラウザが起動してウィンドウが表示されているので
> スケジュールが実行された後で、リモートデスクトップ接続して確認しました。
「接続されてない間」は更新されてないって話だ。

609:名無しさん@お腹いっぱい。
16/10/06 21:38:20.44 wbrD8XZM0.net
for a=0 to 100
ifb GETKEYSTATE(VK_A)

eiseif GETKEYSTATE(VK_B)
a=a-1
endif
next
こんな感じでfor-nextの途中にaを弄ることは出来ませんか?
やってみると上手く行かなくて・・・

610:名無しさん@お腹いっぱい。
16/10/06 21:39:44.76 wbrD8XZM0.net
>>578
elseがミスってるのは気にしないで!

611:名無しさん@お腹いっぱい。
16/10/06 21:42:40.20 zQFB9rDu0.net
for文で使ってる変数を中で変えるとか筋悪もいいとこ。

612:名無しさん@お腹いっぱい。
16/10/06 21:55:25.39 wbrD8XZM0.net
>>580
そうなのですか・・・

613:名無しさん@お腹いっぱい。
16/10/06 21:57:29.26 bLebkubg0.net
この質問たまにあるよな
どうしてそういう作りになるのか気になります!

614:名無しさん@お腹いっぱい。
16/10/06 21:59:40.59 wbrD8XZM0.net
>>582
配列[a]みたいに何番目の配列にどのキーを入力したか入れるって感じで作ってて
間違えて押した時にもう一度戻って入力する処理をしたいのです

615:名無しさん@お腹いっぱい。
16/10/06 22:02:12.52 6pGJ7GB00.net
ループカウンタは弄れない
どっちにしろwhileでやるのが自然でしょう

616:名無しさん@お腹いっぱい。
16/10/06 22:02:55.64 wbrD8XZM0.net
whileに置き換えてカウントを別に作ってなんとか完成しました
ありがとうございました

617:名無しさん@お腹いっぱい。
16/10/07 03:19:04.10 RzoO9ik10.net
他の言語はループの変数を変更できるけど、
UWSCは言語仕様としてループの変数の変更がfor文に無視される。
HELPに書いてない闇の仕様として有名。

618:名無しさん@お腹いっぱい。
16/10/07 03:29:42.13 XvgsOOKN0.net
どっちにしろバグの温床だし可読性も悪くなる。他の制御文使って明確にやったほうがいいす。

619:名無しさん@お腹いっぱい。
16/10/07 09:26:26.48 sQVZjDXX0.net
CHKIMG("A.bmp")
print "A.bmpの表示位置は " + G_IMG_X + "," + G_IMG_Y
print "A.bmpのサイズは " + W + "x" + H
みたいな事をやりたいのですが画像の幅と高さを取得する方法がわかりません
たどり着くための検索ワードとかサイトとかヒントいただけないでしょうか?

620:名無しさん@お腹いっぱい。
16/10/07 09:46:00.63 ljnDYwYO0.net
>>588
CHKIMGでヒットする画像のサイズはA.bmpと同じだからソレを調べる意味がない

621:名無しさん@お腹いっぱい。
16/10/07 09:46:07.18


622:pPlOpl2L0.net



623:名無しさん@お腹いっぱい。
16/10/07 10:35:06.19 sQVZjDXX0.net
>>589
ソース書きながらAをクリップボードで渡して
CHKIMG("A.bmp",1,G_IMG_X-1,G_IMG_Y-1,G_IMG_X+W,G_IMG_Y+H) って数値になって
クリップボードで帰ってきたら楽ちんだなって思ってね
>>590
ありがとうございます。やりたいことにたどり着けました。

624:名無しさん@お腹いっぱい。
16/10/07 12:59:30.23 wK/uckos0.net
GetDetailsOfでも取れる

625:名無しさん@お腹いっぱい。
16/10/08 05:33:50.85 saEpieS30.net
質問です
ウェブカメラを付けているのですが、カメラ映像をデスクトップ上に表示して、カメラの動きに変化があった場合
特定のファイルを実行したいのですが、それは可能でしょうか?

626:名無しさん@お腹いっぱい。
16/10/08 07:25:56.62 7o4qqsT+0.net
同じ画像Aが5x3でズラッと並んでいる状態で、そのうちの1枚を画像で切り取りchkingに使用すると
必ず切り取った位置の画像しか認識しないのですが
これって同じ画像に見えて同じ画像ではない
もしくは認識できない程度に画像が透過されていてドットが違うとか、そういうことでしょうか

627:名無しさん@お腹いっぱい。
16/10/08 07:38:32.86 xmXXkFjq0.net
サーチ範囲が正しくて順番を指定しても取得できないなら違うと認識されてるんだろうな
このスレか前スレにバイナリレベルで画像を比較する話がでてたからやってみたら

628:名無しさん@お腹いっぱい。
16/10/08 08:08:40.57 8gcrBy6g0.net
>>593
一定時間毎にカメラの画像をbmpで保存して前回分と比較するとかでいけそうにみえるけど、カメラの
画像は一見同じに見えて実は全く同じってわけじゃないんじゃね?そういうゆらぎを考慮した比較をこれ
で実現するのは無理だと思うよ。

629:名無しさん@お腹いっぱい。
16/10/08 11:59:46.97 bKOW2Yia0.net
>>593
それはウェブカメラの録画ソフトに付いてる動体検知を使った方がはやいよ。
物によってはそれをトリガーにプログラム実行してくれるソフトもありそうだが…。

630:593
16/10/08 12:02:33.16 bKOW2Yia0.net
>>593
URLリンク(forest.watch.impress.co.jp)

631:名無しさん@お腹いっぱい。
16/10/08 17:47:12.05 DZTu/cHF0.net
動体検知って1から作ろうと思ったら結構しんどそうだよね

632:名無しさん@お腹いっぱい。
16/10/08 17:58:57.99 SKUfIAw80.net
>>593
自分WEBカメラにはLivecapture3ってソフト使ってるが
これには動体検知からのいろんなアクション設定できるよ
動画・静止画撮影、メール通知、外部モジュール起動、等

633:名無しさん@お腹いっぱい。
16/10/08 18:22:12.64 pTgbuIXB0.net
>>594
相談するなら画像くらい貼ったら?
PCオンチ特有のエスパー診断希望者か?
単に最初に見つけた左上の画像がマッチしてるんじゃなくて?
画像加工の際にjpeg化処理して別画像化させてるとかじゃなくて?
いずれにせよお前のケアレスミスとしか思えんよ

634:名無しさん@お腹いっぱい。
16/10/09 19:32:08.84 U7zLHCrY0.net
MOUSEORGでのバッググラウンド中にマウスホイール操作をさせる事はできますか?
バックグラウンド処理にすると
BTN(WHEEL,-34)
が処理されないので仕方ない物と諦めてるのですが方法がもしあれば

635:名無しさん@お腹いっぱい。
16/10/10 01:49:53.93 T2ePneXw0.net
わからんけど、一旦そのウインドウ内の空いてる部分を左クリックさせてからやってみたら?
経験上、UPとかDOWNもそれしないと動かないときあるんで

636:名無しさん@お腹いっぱい。
16/10/10 02:22:12.22 jr0SSStQ0.net
>>602
普通にsendmessageからホイールを送ってみたら?
非アクティブで処理できるか知らんけど

637:名無しさん@お腹いっぱい。
16/10/10 21:31:15.81 JZcSBxpi0.net
mouseorgでバックグラウンドでの処理にしようとすると
ボタンクリックが長押ししてるような動きをしたりと
安定しません。
何か対処法などはありますか。

638:名無しさん@お腹いっぱい。
16/10/11 01:04:02.04 do6w1ANf0.net
もうこの手の質問飽きた

639:名無しさん@お腹いっぱい。
16/10/12 04:16:45.48 tUQ9fwOK0.net
THREADの並列(処理A、処理B)のマクロなんですが
・処理A+処理B→処理B最後まで終了した場合処理Bのリピート(こちらはできてます)
・処理A+処理B→処理Bの途中に処理Aスタート→処理B停止→別マクロ呼び出し→別マクロ終了→処理A終了→処理A+処理B再開
としたいのですがなにかいい方法がないでしょうか。ちなみに処理Bの処理は
WHILE CHKIMG(

640:名無しさん@お腹いっぱい。
16/10/12 04:19:39.74 tUQ9fwOK0.net
きれてました。
WHILE CHKIMG("画像b")=FALSE
WEND
ifb chkimg("画像b")=true
といった処理の連続です。処理Aが発生したときに処理Bが停止できないため鯖落ちするたびに処理Bが重複してしまう状態です。

641:名無しさん@お腹いっぱい。
16/10/12 05:34:29.72 H0m7rpgE0.net
>>804
グローバル変数を参照して制御すれば?
クリティカルな処理なら変数参照をmutexなりで排他制御する必要があるけど。

642:名無しさん@お腹いっぱい。
16/10/12 08:23:41.40 KpbyI+kk0.net
>> 処理Bの途中に処理Aスタート
これをTHREADではなくCALLにすればいい

643:名無しさん@お腹いっぱい。
16/10/12 12:20:52.11 tUQ9fwOK0.net
>>609 >>610
ありがとうございます。
変数はまだまだ勉強不足なので、Bの画像認識(失敗)→A画像読み、
失敗なら→exitにてB処理マクロに戻り、 成功なら操作後→call 処理B exitexitになるようマクロに組みなおしました。
アドバイスありがとうございました。

644:名無しさん@お腹いっぱい。
16/10/12 21:26:50.04 H0m7rpgE0.net
>>611
うーむ、変数理解できてないのにスレッドは使えちゃうのかw

645:名無しさん@お腹いっぱい。
16/10/12 22:58:04.69 f6R4wMb60.net
単純記録で作った簡易的な代物に任意の場所で一時停止→さっき、止めた所から再開(レジューム)
という事は不可能ですかね?(ブラウザはfirefox前提)
数行足すだけで何とかないものか
やはり、こういうのは自分で最初から作らないと駄目なんだろうか

646:名無しさん@お腹いっぱい。
16/10/12 23:14:00.13 KyvLcfI70.net
sethotkeyつかえ

647:名無しさん@お腹いっぱい。
16/10/13 09:43:24.91 d6driITd0.net
>>613
本体から実行してたら再生ホットキーが一時停止を兼ねると思うけど

648:名無しさん@お腹いっぱい。
16/10/14 00:53:48.86 5FDFB6Hd0.net
即席再生でAlt+F1での対処だとスクロール位置固定が条件だから
別ウィンドウで実行させた方がいい

649:名無しさん@お腹いっぱい。
16/10/14 09:17:07.39 CxtTPN/f0.net
Pro版は過去に年末セールとかで安くなったりしたことありますか
ないなら今すぐ購入しようと思うのですが

650:名無しさん@お腹いっぱい。
16/10/14 15:47:49.55 cJIB8YCD0.net
ないです

651:名無しさん@お腹いっぱい。
16/10/15 08:35:52.72 4QEl1y7C0.net
某ソシャゲの為に導入した時に即購入したが
あれから4年位経つが一度もそういうのは聞いた事無い
デバッグモード便利でイイゾ~これ

652:名無しさん@お腹いっぱい。
16/10/15 18:32:32.73 EUJgY7IB0.net
edge.navigateが必ずCOMエラーになるのはおま環?
数か月前はエラーにならずうごいてたのに。

653:名無しさん@お腹いっぱい。
16/10/15 19:07:12.39 tiTYqnTF0.net
edge.navigateとは?

654:名無しさん@お腹いっぱい。
16/10/15 22:27:31.16 HosDg2zI0.net
質問させて下さい。
初歩的な質問ですみません
while trueでくくってる時のif文なんですが
a画像を認識したら、右クリック
再び同じa画像を認識後したら左クリック
って書き方をしているのですがクリックは画像認識する度に左右どちらかクリックして次画像を認識した時前回とはちがうクリックという処理をしたいんですがどうすればいいでしょうか?

655:名無しさん@お腹いっぱい。
16/10/15 22:35:01.92 tRa6/c8b0.net
適当な変数に初回フラグを格納して判別すればいいだろ

656:名無しさん@お腹いっぱい。
16/10/15 22:58:09.76 HuPGcAbp0.net
クリックする度に変数の値変えてクリックする前に変数見て判断させればいいんじゃないでしょうか

657:名無しさん@お腹いっぱい。
16/10/16 00:17:39.14 QrYkSo/v0.net
UWSCの質問っていうかロジックの質問だな。

658:名無しさん@お腹いっぱい。
16/10/16 00:20:40.68 qxUE1ujh0.net
>>622
書こうとしたら>>624が答え書いてた

659:名無しさん@お腹いっぱい。
16/10/16 00:25:18.69 L/hNkC/20.net
皆さまお返事ありがとうございます。
丁寧な説明で理解でき無事出来ました。
ありがとうございました。

660:名無しさん@お腹いっぱい。
16/10/16 20:28:03.07 JPsBbdrl0.net
テスト

661:名無しさん@お腹いっぱい。
16/10/16 20:42:07.98 JPsBbdrl0.net
コード書き込むと弾かれるのでとりあえず現状だけ
Chromeをバックグラウンド動作させつつページ中の全ての文字を取得したいんだけどうまくいかない
KBDでCtrl+A→Ctrl+Cをウィンドウに送ってクリップボードから取得したいんだけど
Chromeがアクティブになってる時にしかKBDでキー情報を送信できない
KBDの代わりにBTNだと非アクティブでも送れてるのは確認済みなのでMOUSEORGの指定は出来てると思う
MOUSEORGの指定はMORG_DIRECT, MORG_BACKにしてあります
何か原因に心当たりある人います?
環境
Win10 Home 64bit
UWSC ver5.2.3
Chrome 53.0.2785.143m (64-bit)

662:名無しさん@お腹いっぱい。
16/10/16 20:57:13.81 R+P/P8u20.net
たぶんねスリープがNGになってるんだとおもう
そこだけ変えてコード貼って

663:名無しさん@お腹いっぱい。
16/10/16 21:26:22.55 4z5m533e0.net
一旦空いてる部分どこでもいいからクリックしとけ

664:625
16/10/16 21:31:24.03 JPsBbdrl0.net
public w_id[1] = -999999, -999999
WHILE w_id[0] = -999999
IF GETKEYSTATE(VK_LBUTTON) then
w_id[0] = GETID(GET_FROMPOINT_WIN)
ENDIF
SLEEP(0.1)
WEND
w_id[0] = GETID("Google Chrome")
w_id[1] = HNDTOID(GETCTLHND(W_ID[0],"chrome_RenderWidgetHostHWND"))
MOUSEORG(w_id[1], MORG_DIRECT, MORG_BACK)
スリープ(2)
KBD(VK_CTRL, DOWN)
KBD(VK_A, CLICK)
KBD(VK_C, CLICK)
KBD(VK_CTRL, UP)
BTN(LEFT, CLICK, 200, 20)
print GETSTR(0)

665:名無しさん@お腹いっぱい。
16/10/16 21:33:13.86 JPsBbdrl0.net
あ、w_id[0] = GETID("Google Chrome")の行はミスです

666:名無しさん@お腹いっぱい。
16/10/16 21:37:13.93 ZlJ7YYfV0.net
IEじゃなくてChromeなのって理由があるんですかね?
IEならinnerText引っ�


667:」ってくればいいだけだと思うんだが。



668:名無しさん@お腹いっぱい。
16/10/16 22:22:08.08 /m2sdIrU0.net
IEは自動化するには便利だけど、重いのが難点

669:名無しさん@お腹いっぱい。
16/10/17 15:48:49.30 3fjJSUf90.net
chkimgxってもう配布されてないの?

670:名無しさん@お腹いっぱい。
16/10/17 18:38:34.64 /zq0K62y0.net
前スレの1.2.1のダウンロードURLは無効になってるね。

671:名無しさん@お腹いっぱい。
16/10/17 18:48:06.80 8TeG9lFG0.net
unitywebplayerに直接クリックとかのメッセージ送るのって可能?

672:名無しさん@お腹いっぱい。
16/10/19 00:18:08.48 Md2TD87F0.net
>>638
unityのハンドル取得してIDに変換すれば直接送れるよ

673:名無しさん@お腹いっぱい。
16/10/19 22:21:34.79 O74GtiK/0.net
>>639
レスサンクス。それで送れたわ!でもマウス座標をUWSCより低レベルで取得してる?っぽく、
マウス座標は完全に無視された(unityは非アクティブでもマウス座標を補足してる模様・・・)
結局やりたかったボタン押下とかの自動化は無理だった。残念。。。

674:名無しさん@お腹いっぱい。
16/10/22 16:22:17.23 OR3QHD6o0.net
htmlの取得ならcurl使えばいいのに
なんで、ブラウザを使いたい人多いのかな

675:名無しさん@お腹いっぱい。
16/10/22 16:31:33.95 racBmonB0.net
純粋なhtmlならそうだけど、html5、javascriptやflashを多用したページや
unitywebplayerみたいな動的なwebアプリケーションは
ブラウザを通さざるを得ない

676:名無しさん@お腹いっぱい。
16/10/22 19:23:40.80 K8V5sDZl1
ChkImgXがどこ探しても落ちてないのでどうか再うpお願いします

677:名無しさん@お腹いっぱい。
16/10/22 20:09:06.23 PpNOClHC0.net
ChkImgXがどこ探しても落ちてないのでどうか再うpお願いします

678:名無しさん@お腹いっぱい。
16/10/23 02:00:26.22 7WIPFz4g0.net
>>644
URLリンク(uploader.83net.jp)

679:名無しさん@お腹いっぱい。
16/10/23 07:19:03.16 Cv724rE40.net
>>645
本当にありがとうございます!感謝

680:名無しさん@お腹いっぱい。
16/10/23 23:18:26.49 u0XV8sp30.net
質問
VBは一応知ってるんですがUWSCスクリプトにどんだけ応用が利きますかね?
導入する前に、使えるようになるまでの手間と時間の見当つけたいのですが

681:名無しさん@お腹いっぱい。
16/10/23 23:24:40.66 jYRAjGav0.net
IFとかForとかはわかるんだろうからあとはやりたいことを
UWSCの関数にあてはめるだけだからそれほど時間は掛からないとおもう

682:642
16/10/23 23:43:32.44 u0XV8sp30.net
ここ見たらけっこう奥が深そうで二の足状態です
使いこなすまで1年もかけてアレコレするなら
その時間で他言語勉強した方がツブシが利くから
うーんどうしようか


683:名無しさん@お腹いっぱい。
16/10/23 23:47:28.24 jYRAjGav0.net
それ他人に聞くこと?

684:名無しさん@お腹いっぱい。
16/10/23 23:50:18.14 u0XV8sp30.net
そうですよ
どれだけ勉強しなくちゃならないのか、勉強する前に分かりますか?

685:名無しさん@お腹いっぱい。
16/10/24 00:00:32.35 RvhRD3tw0.net
当日使える人もいれば一生使えない人もいる

686:名無しさん@お腹いっぱい。
16/10/24 00:06:19.92 4PEYUBj40.net
いや、UWSC覚えるか他の言語勉強するかって、比較対象としておかしいわ

687:名無しさん@お腹いっぱい。
16/10/24 00:20:52.91 ZUMsiuEE0.net
UWSCでできないことならDOSCMDを使えばいいような
わざわざVBにバトン渡すようなマクロをUWSCベースで作る意味あんの?

688:名無しさん@お腹いっぱい。
16/10/24 00:34:10.40 RIKd3cIC0.net
質問しに来てるのに偉そうだな
古典的な釣りなのか?

689:名無しさん@お腹いっぱい。
16/10/24 01:13:40.56 kuil+GJl0.net
え?問答無用で向いてないから他どうぞ。でお帰りいただく案件でしょ?

690:名無しさん@お腹いっぱい。
16/10/24 01:20:17.69 +lhrUbXp0.net
勉強しなくて分かるかどうかというとNOだな
独自の関数が多いから挙動は自分で書いて


691:試してみないと使いものにならんと思うよ



692:名無しさん@お腹いっぱい。
16/10/24 01:20:57.52 LvjkwP3I0.net
たし蟹
VBだってどれだけ出来るか怪しいもんだわ
触らない方が良さげですわ

693:名無しさん@お腹いっぱい。
16/10/24 03:59:36.33 nULhI+jD0.net
>>653
他言語で動かす自動化ツール、例えばPyautoguiなら単なる自動化じゃなく
画像処理やらPythonの他のライブラリと連携できるからね

694:名無しさん@お腹いっぱい。
16/10/24 05:17:50.43 bKwFbTrg0.net
質問させてください
id = GETID("Internet Explorer", "IEFrame")
MOUSEORG(id ,2)
STR1 = FOPEN("txt.html")
sendstr(0, betweenstr(fget(STR1, F_ALLTEXT), "<title>", "</title>"))
iesetdata(ie,true,"title","")
SCKEY(id,VK_CTRL,A)
SCKEY(id,VK_CTRL,V)
このような作業をバックグラウドで行いたいのですがウィンドウがアクティブになってしまいます
SCKEYのところでアクティブになってしまうように思うのですがバックグラウドに送ることはできないのでしょうか?
おかしなところ指摘して頂けると助かります。よろしくお願いします

695:名無しさん@お腹いっぱい。
16/10/24 12:02:33.28 bBAwlj0p0.net
もうバックグランドの話しはお腹いっぱい

696:名無しさん@お腹いっぱい。
16/10/24 12:07:18.15 LqBb+tuD0.net
バックグラウンに飽きたというのかい?

697:名無しさん@お腹いっぱい。
16/10/24 12:18:37.98 4PEYUBj40.net
>>660
経験上SCKEY使うとアクティブになる
仕様なのかバグなのかは知らんが
KBDでctrlをdownにしてAをclickしてからctrlをupってやればいい

698:655
16/10/24 15:51:05.93 bKwFbTrg0.net
何度も出た話のようで申し訳ないです
>>663
仕様だったんですね
丁寧にありがとうございます!さっそくやってみます!

699:名無しさん@お腹いっぱい。
16/10/24 18:57:24.53 R6AS/0Pz0.net
プログラミングそのもののスキルで悩んでる人向けに良いサイト見つけたよ
CodinGame

700:名無しさん@お腹いっぱい。
16/10/24 23:40:53.90 +lhrUbXp0.net
業者くさい

701:名無しさん@お腹いっぱい。
16/10/25 08:27:31.49 sbHeo+yZ0.net
業者ならアフィリンク貼るよ。
ゲームを自動化するなどのやりたいことへの意欲が、
PG欲につながる的な話がしばしば出てるんで紹介したんだよ。
URLリンク(iwashi31.hatenablog.com)
【CodinGame】
URL:URLリンク(www.codingame.com)
上記の例でも紹介した、プログラムを組んでいろいろ遊べるウェブサイトです。
3ヶ月に1度ぐらいのペースでコンテストも開催されています。
かなり豊富な種類の言語が使えるので、初めて使う言語の練習なんかにも最適な気がします。

702:名無しさん@お腹いっぱい。
16/10/25 09:03:41.75 1S5X2dnF0.net
といいつつ宣伝

703:名無しさん@お腹いっぱい。
16/10/25 10:42:17.84 aPycZ7Yc0.net
なるほど
ゲームの自動化というより対人戦で勝つためのアルゴリズムの勉強って感じだな

704:名無しさん@お腹いっぱい。
16/10/25 18:45:31.10 xy30dqz40.net
分からなくもないが、流石にスレチになるわ。

705:名無しさん@お腹いっぱい。
16/10/25 19:04:07.36 EaaxvIFN0.net
666

706:名無しさん@お腹いっぱい。
16/10/25 23:24:05.81 XK+8riFJ0.net
uwscでゲームのレべリングをさせているのですが、今実行している過程とループ回数を表示させたいです
メモ帳を開いておいてループ毎に書き込ませる、といった感じの原始的な案しか思い付かないのですが、
何か画期的なアイデアとかありませんか?
ここらへんは、あまり詳しくないので変なことを言ってたら申し訳ないですが、コマンドプロンプトみたいにガーっと表示出来たらかっこいいなーと思いました

707:名無しさん@お腹いっぱい。
16/10/25 23:28:55.19 6xeW84


708:X00.net



709:名無しさん@お腹いっぱい。
16/10/25 23:45:38.38 BHfHva4/0.net
基本中の基本やんけ

710:名無しさん@お腹いっぱい。
16/10/25 23:54:08.77 21m14Vbs0.net
メモ帳に書き込ませるほうが難易度が高いような

711:名無しさん@お腹いっぱい。
16/10/26 00:24:50.54 3DZWmHCT0.net
hello worldレベルの質問だわな…
どっかから拾ってきたスクリプトをコピペしてるような奴か

712:名無しさん@お腹いっぱい。
16/10/26 00:58:27.93 StTq4TeX0.net
また、画期的なアイデアとか言い出すあたりがおもろい

713:名無しさん@お腹いっぱい。
16/10/26 01:38:12.76 OAxQg1Mx0.net
すいません
やりたい動作があったらまず記録して、コード読んで組み合わせて…って感じで独学でやってたので、そこらへんはわからなくて…
今までメモ帳とbluestacksと2つ開いて、ループ内で交互にアクティブ化して記録って感じでやってました
ついでに調べたら、クリップボードも1つのプログラミングで行けるんですね…
それもKBDで1文字ずつ打って、ctrl aとCとVするとこまでやってました…

714:名無しさん@お腹いっぱい。
16/10/26 03:08:30.17 AQim7BmD0.net
画期的では無いけどちょっと便利
PUBLIC infostr
PROCEDURE infoadd(str)
infostr = infostr + str + "<#CR>"
ret = POS( "<#CR>" , infostr , -30 )
infostr = COPY( infostr , ret + 1 )
FUKIDASI(infostr,0,0,0,8)
FEND

715:名無しさん@お腹いっぱい。
16/10/26 07:50:21.80 W8LmV29a0.net
URLリンク(blog.tinect.jp)
「手を動かさない人」へのアドバイスは、とても難しい。
ほんとこれ

716:名無しさん@お腹いっぱい。
16/10/26 08:04:16.90 UyOU0Eqs0.net
いままでどうやってスクリプトのデバッグしてたんだろう

717:名無しさん@お腹いっぱい。
16/10/26 08:18:25.10 UPtpVdCu0.net
FUKIDASHIを使えばいいだけ

718:名無しさん@お腹いっぱい。
16/10/26 13:45:16.30 3DZWmHCT0.net
停止したら消えるのはデバッグには向かんけどな

719:名無しさん@お腹いっぱい。
16/10/26 20:02:41.85 G0weX8ng0.net
printが駄目な理由がわからん

720:名無しさん@お腹いっぱい。
16/10/26 20:48:34.74 DOIGAMFw0.net
printの落とし穴は、関数ではなくて構文だということ…
PRINT("hoge")がダメで何年も使ってなかったぞいw

721:名無しさん@お腹いっぱい。
16/10/26 20:56:50.84 qfUQIS2M0.net
PROCEDURE MyPrint(a , flg=TRUE)
IF flg THEN PRINT a
FEND
でいいじゃん

722:名無しさん@お腹いっぱい。
16/10/26 21:17:28.33 Tg0GnCdE0.net
関数じゃなきゃいけない理由が良くわからないけど
Procedure print(str)
 print str
Fend
こうしとけばいいんだけじゃないの?

723:名無しさん@お腹いっぱい。
16/10/27 07:36:22.52 arrCtFrK0.net
>>683
ログに出ることは知らんのか

724:名無しさん@お腹いっぱい。
16/10/27 07:39:16.50 XSxfZcbG0.net
>>688
FUKIDASHIは出ないでしょ

725:名無しさん@お腹いっぱい。
16/10/27 23:08:23.12 nm47E5XJ0.net
PRINT "hoge"
と書かなきゃいけないことに数年間気づかなかったんだよ…

726:名無しさん@お腹いっぱい。
16/10/27 23:11:57.51 yUfCEZRu0.net
それは流石にアホなだけ

727:名無しさん@お腹いっぱい。
16/10/27 23:13:21.84 uBWm94/D0.net
昔のヘルプは今より見にくかったしなぁ。
私もv2.x時代に使ってた時はprintの存在すら知らなかった。

728:名無しさん@お腹いっぱい。
16/10/27 23:31:51.48 agFjfTlA0.net
KBD(VK_x)の値をFor nextの回数で分岐させたいのですが、xのところにすのままif()で突っ込んでもいいのでしょうか?

729:名無しさん@お腹いっぱい。
16/10/27 23:33:27.42 HGo37bJ10.net
いやググれよ…
10年以上前からネトゲのBOT作成に使ってたけどprintぐらい知ってたわ

730:名無しさん@お腹いっぱい。
16/10/27 23:40:47.49 agFjfTlA0.net
たぶん自己解決しました
めんどくさがらず、ifbで分岐ごとにKBD書けばいいんですね

731:名無しさん@お腹いっぱい。
16/10/27 23:56:28.71 bVg0grXU0.net
分岐多いならIF


732:よりSELECT使うといいぞ



733:名無しさん@お腹いっぱい。
16/10/28 00:11:24.99 aZ8mqWqx0.net
FOR A = 1 TO 11
MMV(921,210,7000)
FOR B = 1 TO 11
//定義 p:ページ t:タブ
p = 1 t = 1
print A +

734:名無しさん@お腹いっぱい。
16/10/28 00:13:57.21 aZ8mqWqx0.net
FOR A = 1 TO 11
FOR B = 1 TO 11
//定義 p:ページ t:タブ
p = 1 t = 1
print A + "回目" + B
MMV(921,210,100)
BTN(LEFT,CLICK,921,210,234)
//半角切り替え
If GETKEYSTATE(TGL_IME) Then KBD(VK_KANJI,CLICK,50)
//ページ設定
If p = 2 Then KBD(VK_RIGHT,CLICK,1562)
//タブ設定
Ifb t = 1 Then
KBD(VK_V,CLICK,1562)
elseif t =2 Then
KBD(VK_U,CLICK,1562)
else
KBD(VK_M,CLICK,1562)
endif
//項目
k= random(3)+1
if k = 1 then KBD(VK_Y,CLICK,600)
elseif k= 2 then KBD(VK_U,CLICK,600)
else KBD(VK_Q,CLICK,600)
endif

735:名無しさん@お腹いっぱい。
16/10/28 00:16:09.27 aZ8mqWqx0.net
上の文でエラーを吐くのですが、間違い箇所を指摘していただけるとありがたいです
書いてないですが、この後に連打が1分ほど続いて
next2つはちゃんとあります

736:名無しさん@お腹いっぱい。
16/10/28 00:23:33.17 6uLp/QCx0.net
>>699
エラーは箇所も内容も教えてくれるんだから
まずはそれにしたがって修正しなよ

737:名無しさん@お腹いっぱい。
16/10/28 00:27:27.21 aZ8mqWqx0.net
分岐を全てifbにしたらひとまず動きました
ありがとうございました

738:名無しさん@お腹いっぱい。
16/10/30 21:06:10.58 GRePPaI/0.net
uwscを起動させるときにスクリプトを読み込んだ状態で起動させるにはどうやるんですか?
実行ではなく読み込みだけして起動

739:名無しさん@お腹いっぱい。
16/10/30 21:15:48.59 GRePPaI/0.net
自決しました

740:名無しさん@お腹いっぱい。
16/10/30 21:17:36.19 p/jp/Q6G0.net
>>703
ご冥福をお祈りします

741:名無しさん@お腹いっぱい。
16/10/30 21:51:20.39 AjaI9DK00.net
700

742:名無しさん@お腹いっぱい。
16/10/30 22:37:07.22 amIglOEr0.net
>>703
どうやるか教えて

743:名無しさん@お腹いっぱい。
16/10/31 00:05:24.27 Y4GEx4dN0.net
ヘルプに書いてあるでしょ?

744:名無しさん@お腹いっぱい。
16/10/31 09:19:43.24 I5bQ3IxG0.net
そういうマニュアル本あったよね

745:名無しさん@お腹いっぱい。
16/10/31 21:48:26.23 kFA3Unri0.net
>>706
色々方法はあるけど最も有名な方法は切腹だね。

746:名無しさん@お腹いっぱい。
16/11/01 15:54:20.38 QsJcxJZM0.net
XEBRAというPSのエミュレータを使っています。
ゲーム作業を自動化しようと思うのですが、KBDが1文字目しか通りません。
UP、DOWNと試みているのですが、うまくいきません。
キーボードでは入力できるのに、KBDで入力できないのが不思議です。
誰か分かる方、いらっしゃいますでしょうか?

747:名無しさん@お腹いっぱい。
16/11/01 16:21:53.42 hs8s+KhE0.net
まず作ったもの晒してみたら?

748:名無しさん@お腹いっぱい。
16/11/01 16:45:55.35 QsJcxJZM0.net
失礼しました。
id = GETID("XEBRA") // XEBRA.EXEのIDを取得
IFB STATUS(id, ST_ICON) // ウィンドウがアイコン状態(最小化)かチェック
CTRLWIN(id, NORMAL) // 表示を通常にする
ENDIF
IFB !STATUS(id, ST_ACTIVE) // ウィンドウがアクティブかチェック
CTRLWIN(id, ACTIVATE) // アクティブにする
ENDIF
KBD(VK_K,DOWN) // 「あ」と入力する
KBD(VK_K,DOWN) // 二文字目「あ」と入力する
この最後の二文字目の「あ」が入力されないのです。
一文字目が入力されているので、プログラムは効いていると思うのですが。

749:名無しさん@お腹いっぱい。
16/11/01 16:50:30.61 14noz1Ar0.net
DOWNでキーを押し込んだままなんだから当たり前だろ
バカなの?
一度UPしろ

750:名無しさん@お腹いっぱい。
16/11/01 17:03:36.41 QsJcxJZM0.net
KBD(VK_K,DOWN) // 「あ」と入力する
KBD(VK_K,UP) //
KBD(VK_K,DOWN) // 二文字目「あ」と入力する
KBD(VK_K,UP) //

こうでしょうか?
これでも二文字目が入力されません。

751:名無しさん@お腹いっぱい。
16/11/01 17:05:30.14 KiNnw9jc0.net
せめて50ミリ秒ぐらいは間隔をあけろ

752:名無しさん@お腹いっぱい。
16/11/01 17:06:13.91 9rPP2acV0.net
>>714
やり方はそれであってるから途中スリープとか入れてみたら
ちなみにDown、UPはClickでもいいかもしれない

753:名無しさん@お腹いっぱい。
16/11/01 17:06:19.22 yi61ZxIU0.net
人間の手�


754:ナ無理な速度でキーボード打ち込んでも認識されないこともあるよね。



755:名無しさん@お腹いっぱい。
16/11/01 17:09:51.84 QsJcxJZM0.net
ようやく意味が分かりました。
馬鹿な私にお付き合いいただき、ありがとうございました。
今回の件はできました

756:名無しさん@お腹いっぱい。
16/11/01 20:21:32.39 VwXshXmP0.net
ゲームが60fpsか30fpsか15fpsか知らんが
入力受け付けるフレームより高速に連打してたらそれは押しっぱなしと認識されるよな
普通に考えて

757:名無しさん@お腹いっぱい。
16/11/01 21:35:21.31 ArQLlxFW0.net
刀剣乱舞で「ゲームのマクロ作ってる奴は死ね」って袋叩きにしてたのに
なんでこいつは皆親切にアドバイスしてやってんだよ!バーカバーカ!!(´;ω;`)

758:名無しさん@お腹いっぱい。
16/11/01 21:38:10.84 hs8s+KhE0.net
だってソシャゲじゃないじゃん

759:名無しさん@お腹いっぱい。
16/11/01 21:44:30.68 b+y5AhDE0.net
ずっとこのスレはチェックしてるけど、
そのときスレにいる奴によってタイミングあるからなあ
ソシャゲだろうがなんだろうが別にいいじゃーんで教えたがりの奴ばっかいるときもあるし
初心者にもやたら厳しい奴しかいないときもあるし

760:名無しさん@お腹いっぱい。
16/11/01 21:48:15.14 q+aIUraS0.net
おっ、ぼくでも答えられる質問だ!
よーし、教えちゃうぞー!

761:名無しさん@お腹いっぱい。
16/11/01 22:18:24.41 EnwJfiUN0.net
やたら攻撃的でなんでこんなスレ守ってんの?って思うときはあるな

762:名無しさん@お腹いっぱい。
16/11/01 23:04:18.84 U2xm3RJf0.net
Chromeをバックグラウンドで操作しようと思ってます。
id = getId(

763:名無しさん@お腹いっぱい。
16/11/01 23:06:21.28 U2xm3RJf0.net
何故途中で消えてしまったのでしょうか

764:名無しさん@お腹いっぱい。
16/11/01 23:07:43.73 U2xm3RJf0.net
Chromeをバックグラウンドで操作しようと思ってます。
id = getId("タブ名")
hnd = getctlhnd(id, "Chrome_RenderWidgetHostHWND")
mouseorg(hnd, 2, 2)
これでbtnなどを送っても動いてはいるのですがアクティブ化してしまい、
タスクバーで点滅して目障りです。
また、sckeyでALT+F4のショートカットキーを送っても閉じたり閉じなかったりします。
どちらの原因もidの取得が失敗しているのではと考えているのですが
改善策がありましたらお願いします

765:名無しさん@お腹いっぱい。
16/11/02 00:54:48.79 IuzdUBHl0.net
動いてんだからIDの取得には失敗してないと思うけど

sckeyについては
>>660-663で出たばっか

最善策は仮想環境でForeで動かしとけ
ってことになる

766:名無しさん@お腹いっぱい。
16/11/02 05:24:26.99 FnJR7r330.net
このスレのレベルでChromeのバックグラウンドを解決できたことないから諦めなさい

767:名無しさん@お腹いっぱい。
16/11/03 19:32:42.18 IxX7UzKV0.net
せっかくPS4リモートが来たのにUWSCだと全く動かない
キーボードの情報すら送れない
TinyTaskって他の自動化ツールだと動くからなにか対策してるんだろうけど
何なんだろう?

768:名無しさん@お腹いっぱい。
16/11/03 19:45:01.76 AWXUqSLD0.net
>>730
コンパイルしてタスク名変えてみたら?
UWSC.exeからだと受け付けない可能性
あとはデータ実行防止に突っ込んでみるとか

769:名無しさん@お腹いっぱい。
16/11/03 22:29:16.99 IxX7UzKV0.net
>>731
試してみましたけど、どちらも駄目でした
最悪、細かい制御はUWSC使って、ボタンはTinyTask使ってみてと
考えるとか、なんか頭のわるいことで頑張ってみます
でも原因は何なのだろう?
7から8.1に以降した時も似たような動かい物があったんだよな・・・

770:名無しさん@お腹いっぱい。
16/11/04 00:47:32.39 wm4a51fN0.net
saveimgでchromeのウィンドウ内をキャプりたくて
クライアント領域の指定しても枠が消えないんだけど

どうすりゃいいの?

771:名無しさん@お腹いっぱい。
16/11/04 00:58:05.29 oHLhtjkN0.net
そんな事を人に聞かなきゃいけないほどバカなのか
それとも自分が何をやりたい�


772:フかわかってないのか



773:名無しさん@お腹いっぱい。
16/11/04 01:17:55.25 G/fBJqQN0.net
どうやって指定してるのか書けばいいんじゃね?

774:名無しさん@お腹いっぱい。
16/11/04 10:23:18.71 ZlWTC5+z0.net
TinyTask検索してみたら割りとすごいのが出てきた
URLリンク(www.vtaskstudio.com)
でも有料だな

775:名無しさん@お腹いっぱい。
16/11/04 19:59:59.11 NROlvDsI0.net
DDONというゲームでスペリングマクロを作ってます

マウスホイールをクリックした後、マウスを動かして光る玉に合わせていくというものなのですが
マウスホイールをクリックした後、マウスカーソルが動かずに困ってますマウスホイール用の
移動の書き方などあるのでしょうか?

776:名無しさん@お腹いっぱい。
16/11/04 20:09:25.14 PE6RCZY10.net
ゲームの話題はな、スレ違いなんだ。
てか、作ってるとまで言ったなら既にスクリプトは出来てるだろう?
まずは使ってみろよ。その上で動かなくてもここはスレチだから来なくていい。

777:名無しさん@お腹いっぱい。
16/11/04 20:59:46.90 gTtewHc30.net
>>737
その説明だとよく分からないです。
マウスのホイール部分を回転ではなく押し込みのクリックってこと?
で、押しっぱなしのままマウスを移動させたいんですか?
とりあえず現時点でのスクリプトを、ここに貼ってみたほうがいいですね。

778:名無しさん@お腹いっぱい。
16/11/04 21:39:06.99 PE6RCZY10.net
>>739
やめとけやめとけ。
スペリングマクロは以前UWSCで作った奴があったんだよ。
それで話題に出しただけで、自作じゃねぇ。

779:名無しさん@お腹いっぱい。
16/11/04 22:05:43.08 U5EBOe2l0.net
ID:PE6RCZY10が作ったマクロと>>737と何の関係があんの?アスペ?

780:名無しさん@お腹いっぱい。
16/11/05 02:07:33.17 j2mvjf3S0.net
これ多重起動できないらしいけど
スクリプトごとにフォルダ作らなきゃいけないのか・・・
それ以外無理なの?

781:名無しさん@お腹いっぱい。
16/11/05 02:22:42.49 zDZghemy0.net
uwsc.exe xxx.uwsって感じでコマンド指定で複数起動できたはず

782:名無しさん@お腹いっぱい。
16/11/05 02:47:55.00 5oussjEV0.net
本体は複数起動出来ないけど.uwsのファイルはいくつでも同時に動かせるよね

783:名無しさん@お腹いっぱい。
16/11/05 11:58:18.70 mnxgMzYd0.net
但し、自動操作するリソースは有限なので
当然取り合いが発生する場合は
自力で排他制御するスクリプトにしないと駄目

784:名無しさん@お腹いっぱい。
16/11/05 12:40:17.30 hUscg+tV0.net
なんか皆バックグラウンドの話が多くて笑ってしまいましたが
Win10でせっかく仮想ディスクトップができたんで
わざわざクッソ重いHyper-Vとか使わずに背面でやるように対応してくれ

785:名無しさん@お腹いっぱい。
16/11/05 12:47:10.68 3L31KcaB0.net
ディスクトップじゃなくてデスクトップと言って

786:名無しさん@お腹いっぱい。
16/11/05 13:13:18.74 gi37rdkz0.net
>>746
恥ずかしながら仮想デスクトップを知らなかった。
今簡単なマウスを動かすだけのスクリプトをデスクトップ2で実行させ、デスクトップ1に切り替えたら、デスクトップ1の中でマウスが動いてたから、それぞれ独立したマウスの操作は出来ないっぽい。
なのでUWSC側で対応するのは無理かもね。
例えばデスクトップ1でアプリ1を立ち上げて、デスクトップ2でアプリ1を起動すると、自動的にデスクトップ1に戻されるから、仮想の2画面パソコンって感じの仕様だね。

787:名無しさん@お腹いっぱい。
16/11/05 13:46:33.04 XXYPHngD0.net
ディスクトップww
未だに言ってる奴いるんだな

788:名無しさん@お腹いっぱい。
16/11/05 14:34:43.44 3L31KcaB0.net
仮想デスクトップは、単に仮想的に画面を広くして、
その一部を切り取ってモニターに表示してるだけのものであって
仮想PCのような独立した環境でもなんでもない
なので、上で話してるバックグラウンドで動かすのと何ら変わりない

789:名無しさん@お腹いっぱい。
16/11/05 14:55:11.63 un1jUjxz0.net
ぼくなんて仮想ディスクトップのバックグランドでスプリクトをデバックしちゃうぜ

790:名無しさん@お腹いっぱい。
16/11/05 15:54:43.77 iCBGJbB70.net
まずインストロールしないとな

791:名無しさん@お腹いっぱい。
16/11/05 16:38:12.44 cXkO21Zi0.net
もう


792:一台買っちまえ



793:名無しさん@お腹いっぱい。
16/11/05 23:14:24.22 VrygXyn+0.net
>>751
バックグランドは間違ってるとはいいきれなくね?

794:名無しさん@お腹いっぱい。
16/11/06 01:31:36.43 8Oc+rGyP0.net
表記の揺れの範囲ないと言えばそうだろうが、
GRAND グランド

GROUND グラウンド
との混同を避ける意味ではグラウンドと書くべきだろうな

795:名無しさん@お腹いっぱい。
16/11/06 10:26:16.06 jeGkqaxG0.net
>>750
いやだから仮想デスクトップを駆使して
バックグラウンドで実行したいスクリプトを背面にまわして
その間にディスクトップを眺めてろと言ってるだろ
何も間違ってない

796:名無しさん@お腹いっぱい。
16/11/06 10:34:06.42 N/5YRdAJ0.net
もういいよ

797:名無しさん@お腹いっぱい。
16/11/06 10:36:35.34 8Oc+rGyP0.net
つーか何言ってんのかさっぱりわからねえわw

798:名無しさん@お腹いっぱい。
16/11/06 11:57:14.15 /ZYIEOeV0.net
pc関連でディスクを見かけること殆どなくなっちまったよなあ

799:名無しさん@お腹いっぱい。
16/11/06 13:05:50.49 /KlNhrov0.net
仮想デスクトップはモニタ上で見えなくなるだけで、
内部的にはフォアグラウンドと何も変わらないって知らない奴いるんだな

800:名無しさん@お腹いっぱい。
16/11/06 13:41:55.78 byXjZDpq0.net
OSが2つ目のポインターを使えるようにすればいいんじゃね

801:名無しさん@お腹いっぱい。
16/11/06 17:05:44.44 35pn3Pa50.net
FUNCTIONで規定した自作関数で戻り値を2つ得るにはどうすればいいでしょうか?
今まで自作関数内の処理で失敗フラグが立った場合は1を、無事成功した場合は0をresultで返していました。
どうせならFUNCTION内で利用した値(1~99程度の値)も戻り値も返すようにしたいのです
ベテランの方々、ご教授をお願いします m(_ _)m

802:名無しさん@お腹いっぱい。
16/11/06 17:13:19.35 8Oc+rGyP0.net
戻り値はresultしかないんじゃねえの
普通に引数をvarで作るとか変数をpublicで作るとかするしかないような
あとフラグは0と1じゃなくてtrueとfalseにしたほうがいいぞ

803:名無しさん@お腹いっぱい。
16/11/06 17:22:15.78 gYNTIzZL0.net
>>762
var使うのがいやなら
function func()
result = 100000 + 99 もしくは result = 99
fend
100000以上かどうかで成否をチェックするしかないでしょう。

804:名無しさん@お腹いっぱい。
16/11/06 17:26:57.32 rMuU9VV20.net
ないわ…

805:名無しさん@お腹いっぱい。
16/11/06 17:43:54.87 Ux8EfQbi0.net
連想配列で返す

806:名無しさん@お腹いっぱい。
16/11/06 17:52:04.14 q9MT0cAR0.net
結果格納用の変数を参照渡しするか構造体で返すかのどっちかだろjk

807:名無しさん@お腹いっぱい。
16/11/06 20:08:24.14 Fmkt5EWv0.net
返したいのが1-99なら失敗を0にして成功時にその1-99を返せばいいのでは

808:名無しさん@お腹いっぱい。
16/11/06 20:25:20.04 2Vhx7Fx00.net
>>768
一般的にFalseは0だから、自分ならこれにするわ

809:名無しさん@お腹いっぱい。
16/11/06 20:41:24.80 8Oc+rGyP0.net
失敗時もその値が欲しかったらダメだな

810:757
16/11/06 21:04:21.16 35pn3Pa50.net
皆さま助言ありがとうございます

>>764
アドバイスありがとうございます
1つの戻り値に2つ以上の意味を持たせて演算でそれぞれ取り出すしかないようですね

>>768-770
False時も値は使いたいのでその手は使えませんでした

>>766
構造体について調べてみましたがごめんなさい、素人すぎて理解ができませんでした

自作関数中の変数A'と変数B'を、自作関数後に変数AとBに戻り値として格納したいだけなのですが・・・

811:名無しさん@お腹いっぱい。
16/11/06 21:11:58.33 ZOx/ZUja0.net
>>771
手っ取り早く解決するならAとBを参照渡ししろ
一昔前のCプログラミングじゃよくある書き方よ そこまで違和感はない

812:名無しさん@お腹いっぱい。
16/11/06 21:12:24.00 c2+PnGzZ0.net
何故varをスル


813:ーしてるんだろう



814:757
16/11/06 21:17:01.69 35pn3Pa50.net
「var」と「参照渡し」について調べてきます・・・

>>773
レスもれしてました

815:名無しさん@お腹いっぱい。
16/11/06 21:20:43.10 Fmkt5EWv0.net
ヘルプ見ただけの初心者だとvarわかりにくいよね。
素直にpublic使っちゃえば?

816:757
16/11/06 22:50:28.68 35pn3Pa50.net
ありがとうございます、publicを使うことで自作関数内と外とで値を共有できました
これにて解決です

817:名無しさん@お腹いっぱい。
16/11/07 17:28:43.77 tc6WVx0x0.net
どうしてもpublicじゃなきゃいけないならしょうがないが、varで渡せるものならそうするべき。
バグの温床。

818:名無しさん@お腹いっぱい。
16/11/07 17:49:06.01 04rTioYk0.net
便乗んあんだけど
PUBLIC(GLOBAL?)変数のデメリットがよく想像つかないんだけど
なんか詳しく説明されてるサイトとかこれ読むと良いってのあります?

819:名無しさん@お腹いっぱい。
16/11/07 17:50:37.02 +AaXWN/A0.net
>>778
グローバル汚染でググれ

820:名無しさん@お腹いっぱい。
16/11/07 17:59:48.16 tc6WVx0x0.net
>>778
シングルスレッドで動かしているとしても関数を二度呼びすると変数が変わってしまう。
ループ回しつつifで分岐してたりすると何が問題になってるか気づきにくい。

あと、スレッド使い出すと扱いが面倒になる。

821:名無しさん@お腹いっぱい。
16/11/07 18:34:55.53 FlJccmKg0.net
まあuwsc自体がグローバル汚染上等な作りだし(例:chkimgのG_IMG_X)、大規模なマクロを組まないなら神経質にならなくても良いよ

822:名無しさん@お腹いっぱい。
16/11/07 18:50:14.94 ub0xnAcs0.net
perlみたいにデフォがグローバルなとこから入った者には
グローバル変数を毛嫌いする気持ちがわからない

823:名無しさん@お腹いっぱい。
16/11/07 18:54:32.07 lmmWa1Fz0.net
何だったら変数の変わりにini使って、
別のスクリプトやアプリから書き換えたり、一時停止して手で書き換えたりしてやる

824:名無しさん@お腹いっぱい。
16/11/07 18:59:41.57 04rTioYk0.net
はぁん、なるほどぉ
確かにifで分岐させてたら自作関数が読み込めなくなったりとかして何でだ?ってことがありました
その時はもう処理をバラしてとりあえず動かしたけど、あれがグローバルによるデメリットの一端だったのかなぁ

スレッドとかよく分かってないんでまだ理解が及んでないけど、参考にします

825:名無しさん@お腹いっぱい。
16/11/07 19:55:57.82 Wi79xOZI5
>>782
ワイもperlから本格的なプログラム入った人間だが
UWSCにはmyが無いのが非常に残念
配列が使いにくいのもやや残念

826:名無しさん@お腹いっぱい。
16/11/07 19:58:55.09 iYumPETK0.net
変数 スコープ
でググれ

827:名無しさん@お腹いっぱい。
16/11/07 20:41:06.57 tc6WVx0x0.net
>>781
> まあuwsc自体がグローバル汚染上等な作りだし(例:chkimgのG_IMG_X)
G_IMG_X/Yってローカルだよね?
↓のコードで二回目のmainのG_IMG_Xの表示はfunc1()呼び出す前のが保持されてるよ。

chkimg("AAA.bmp")
PRINT "main "+G_IMG_X+"/"+G_IMG_Y
func1()
PRINT "main "+G_IMG_X+"/"+G_IMG_Y

procedure func1()
chkimg("BBB.bmp")
PRINT "func1 "+G_IMG_X+"/"+G_IMG_Y
fend


結果
main 74/65
func1 456/69
main 74/65

828:名無しさん@お腹いっぱい。
16/11/08 00:20:39.23 uwJt3leG0.net
さらに横からだけど
>>787
これまじか・・・

829:名無しさん@お腹いっぱい。
16/11/08 01:54:24.26 +1MZhBIZ0.net
前にchkimgのラップ関数作ったら上手く行かなかったので知った

830:名無しさん@お腹いっぱい。
16/11/08 02:16:49.89 ZERCis+X0.net
UWSCのG_なんちゃら特殊変数のスコープはかなり謎な仕様
気持ち悪いので関数でラップして使ってるわ。

831:名無しさん@お腹いっぱい。
16/11/08 12:33:42.23 uXnQojQb0.net
Threadがあるから普通のグローバル変数だととんでも無いことになるけど
G_ で始まるのにグローバルじゃないってのも気持ち悪いんだよなぁ

832:名無しさん@お腹いっぱい。
16/11/08 12:46:05.73 +1MZhBIZ0.net
>G_ で始まるのにグローバルじゃないってのも気持ち悪いんだよなぁ

コレ
仕様としてはある意味納得なんだけど名前がおかしい

833:名無しさん@お腹いっぱい。
16/11/08 13:00:50.70 PmKSkl+D0.net
GETのGだから

834:名無しさん@お腹いっぱい。
16/11/08 20:11:43.91 rV2FxddH0.net
>>791 >>792
最初の段階ではグローバルだったのかもしれんよ。
で、これはまずいかなということになって仕様変更したはいいけど今更予約名を変えられないパターン。

835:名無しさん@お腹いっぱい。
16/11/08 20:34:25.77 0q/sRFOf0.net


836:名無しさん@お腹いっぱい。
16/11/08 20:59:41.59 0q/sRFOf0.net
なぜかコード?はると書き込めない

837:名無しさん@お腹いっぱい。
16/11/08 21:03:16.96 0q/sRFOf0.net
URLリンク(s1.gazo.cc)

画像ですみません
1.bmpが画面上に現れたら1.bmpをクリックしてマウスポインターを指定した場所まで移動してそれを12回繰り返す。
↑は出来たのですが。
1.bmpが画面上に複数出てくるのですがそれをランダムで1回だけクリックするにはどのようにすればいいのですか
良ければ教えてください。

838:名無しさん@お腹いっぱい。
16/11/08 21:09:49.59 oo2/lckZ0.net
>>797

解説サイトのコピペ

複数画像の場合、

座標情報はALL_IMG_X[],魵LL_IMG_Y[]�に格納
G_IMG_X、G_IMG_Yには最後にヒットした位置が入る

839:名無しさん@お腹いっぱい。
16/11/08 21:27:56.28 0q/sRFOf0.net
URLリンク(s1.gazo.cc)

使い方はこれであってますか?
毎回更新するたびに1.bmpの表示される画像の数が変わるので画面に何個あるかわからず
★の部分にはどのようにすれば1bmpの数を入れれますか?

良ければ教えてくださいませ。
ちなみ0時にならないと画面が表示されないので確認することはできません;;
すみません

840:名無しさん@お腹いっぱい。
16/11/08 21:34:24.98 WgWQARJn0.net
少しは自分で知らべろや
chkimgでググればいくらでもでてくるだろうが

841:名無しさん@お腹いっぱい。
16/11/08 22:19:28.12 oo2/lckZ0.net
>>799
cnt=CHKIMG("A.bmp", 0, 50, 50, 500, 500, -1)
最後の引数を「-1」にすると、変数cntに、ヒットした画像の数が代入されるはずなので、
r=random(cnt-1)+1
とし、
all_img_x[r] と all_img_y[r] で、目的は果たせるかと。
※ランダムのところで、1を引いたり足したりしてるのは、数は1から始まり、ランダム生成は0から開始なので、その整合性をとってます。

842:名無しさん@お腹いっぱい。
16/11/09 04:27:17.24 uYVnUc/p0.net
FUNCTION、戻り値、result辺りで躓いた
先に参考書が充実してるVBAとか勉強した方がいいんだろうか

843:名無しさん@お腹いっぱい。
16/11/09 05:39:15.79 afHrM4vu0.net

while chkimg("A.bmp", -1) = FALSE
スリープ(0.1)
wend

画像箇所をクリック
}

と画像があるまで待機してあればクリックするという処理をつくったのですが、
これをどのスリープ時間でも60秒見つからなければタイムアウトすると処理を追加するためにはどうしたらよいのでしょうか

844:名無しさん@お腹いっぱい。
16/11/09 06:03:19.08 LkQJcS2S0.net
ループに入る前に時間の保存とタイムアウトフラグを初期化
ループ内で経過時間を算出
ループ内で必要ならタイムアウト変数を変更
ループ外でクリックするかどうかはタイムアウト変数を見て決める

845:名無しさん@お腹いっぱい。
16/11/09 10:21:46.87 Uz7iVZ/+0.net
どうしても60秒じゃなきゃいかん理由があるのか?
そうじゃないならForで回して大体の時間にしといたほうが簡単
あとループの外でクリックさせる必要あんの?
ループ内で画像見つけたらクリック→BREAKでいいと思うんだけど

846:名無しさん@お腹いっぱい。
16/11/09 23:22:52.41 PH8mg5hl0.net
>>797

>>803
も、

他人様が時間使ってアドバイスしてんのに、無反応ってなんなの?
こういう人種って、マナーとかの思考がゆ


847:とり脳ってこと? それとも、ただの釣りなのかな?



848:名無しさん@お腹いっぱい。
16/11/09 23:47:55.10 EKiSu8SH0.net
2chなんて書き込めば答えが返ってくるスクリプト程度に思ってんだよ
察しろ
嫌なら回答もしてやらんで放置しろ

849:名無しさん@お腹いっぱい。
16/11/10 00:04:51.38 LUOQwzF50.net
つーか匿名掲示板でいちいち謝辞とか求める意味がわからない

850:名無しさん@お腹いっぱい。
16/11/10 00:38:24.33 NXPRxUmX0.net
あ、しゃじを投げた!

851:名無しさん@お腹いっぱい。
16/11/10 01:48:26.80 q4ooiW6x0.net
>>808
匿名だからって何でも許される訳ではないし、建前だけは人として謝礼くらいはするって事にしておけよ
どうしてもそれが理解できないならアスペだろうから君はしゃべらない方がいい

852:名無しさん@お腹いっぱい。
16/11/10 03:06:32.70 LUOQwzF50.net
自分が質問した時に回答があったら礼は言うようにしてるけど
自分が回答した時には礼とか全然気にしてねーわ
ここで回答することに限らずだけど、自分が礼を言う立場の時に感謝の意を表すことは美しいと思うが
礼を求める=自分は礼を言われるようなことをしてやったんだぞ、てな態度は下品だと思わんか?
だいたい、「礼を言われるべきことをした」と思ってる時点で、自分は喜ばれるいいことをした、と気持ちよくなってるんであって
そこに更に相手からの謝辞を要求するとか欲しがりやさんかよ
礼を言われなくてイラっとするくらいの奴は回答なんてしなくていいんだよ

>匿名だからって何でも許される訳ではないし、建前だけは人として謝礼くらいはするって事にしておけよ

謝辞がない → 何でも許されるわけではない

とか意味不明の飛躍してるし、いきなり建前うんぬんとか脈絡なさすぎなんだけど
こんな無茶振りでアスペ認定されてもなあ

853:名無しさん@お腹いっぱい。
16/11/10 04:33:34.91 q4ooiW6x0.net
匿名掲示板でいちいちマジレス返す辺りアスペと疑われても仕方がないと思うが
それと、「理解できないならアスペだろう」と言ったんであって、直接あなたをアスペ認定した訳ではないよ

>謝辞がない → 何でも許されるわけではない
ではなくて、謝礼を言わない>何でも許される訳ではないという事
質問をしていながら礼を言わない奴に対して言ったんであって、礼を言われなかった回答者に対しては何も言ってないよ
多分そこで論点がずれてる

あなたのレスがなければ、「人として謝礼をするのは匿名掲示板であっても当然」という建前は出来たと俺は思ってる
そういう意味で、しゃべらない方がいいと言い、建前という言葉を使った
一応言っておくけど、俺は800ではないよ

854:名無しさん@お腹いっぱい。
16/11/10 07:52:03.61 GtYpW8Db0.net
あ、800です。

本音は、お礼とかはどうでもいいんだけど、自分がアドバイスしたものが、参考になったのか、うまくいったのか、うまくいかなかったのか、気になるんですよね。

855:名無しさん@お腹いっぱい。
16/11/10 10:14:37.44 LUOQwzF50.net
>>812
詭弁だらけやんけ

856:名無しさん@お腹いっぱい。
16/11/10 12:00:52.79 RjljQ5IP+
とりあえずお礼とかどうでもいいから解決したかどうかだけ報告しろよ
どのレスが解決に導いたのか、どのレスも解決に導けなくて結局自分で解決できたのか
それだけが重要

857:名無しさん@お腹いっぱい。
16/11/10 12:34:44.39 tsKiuLZ/0.net
全然詭弁じゃないと思うぞ
アスペはもう黙っとけ

858:名無しさん@お腹いっぱい。
16/11/10 14:20:50.12 OGNQ07ag0.net
聞くだけ聞いて結果も書きに来ないんじゃ人を利用することしか頭にない人間なのは間違いないな。

859:名無しさん@お腹いっぱい。
16/11/10 14:30:02.83 bSz+Say60.net
以上、自演して勝ち誇る無職でした。

860:名無しさん@お腹いっぱい。
16/11/10 14:50:10.91 YIfHPMg/0.net
本当このスレ役に立つこと書か�


861:黷ネいんだよね



862:名無しさん@お腹いっぱい。
16/11/10 19:21:29.44 xz0K82vo0.net
「感謝求めるな」は正しいと思うけどさ
電車長時間止めて車椅子で乗ってきて、駅員さんが一生懸命
回りに謝ってるのに本人はポケモンGOポチポチやってんの見ると
やっぱりおかしいなと思うよ。

そういう人間ばっかりになったから車椅子で長時間電車止めた挙げ句
「あ、間違えましたw」とか言って乗らずに降りてきて
そのままエレベーター横は入りで先頭きって降りていく障害者とか増えてきた。

そういう障害者に通ずる物があるっちゃぁあるよね。

863:名無しさん@お腹いっぱい。
16/11/10 19:24:30.06 NXPRxUmX0.net
はい関係ない

864:名無しさん@お腹いっぱい。
16/11/10 19:30:12.45 xz0K82vo0.net
いやある

865:名無しさん@お腹いっぱい。
16/11/10 19:44:57.48 d60Dk38b0.net
これ引っ張るような話題か?

866:名無しさん@お腹いっぱい。
16/11/10 22:24:58.59 gQpNfVTG0.net
おーそのまま延々と引っ張ってスレ埋めて次建てず続きは公式でやれや。
礼儀知らずはこんなもんじゃすまねぇぞ

867:名無しさん@お腹いっぱい。
16/11/10 22:51:23.07 NXPRxUmX0.net
何いってんのこの馬鹿

868:名無しさん@お腹いっぱい。
16/11/11 02:48:53.98 CCGOSzmm0.net
>>803です。
>>804さんの方法でタイムアウトを作ってみようと思います。

>>805
60秒に関してはタイムアウトなのでどのループでも一定の時間で止まるように設定したいと考えました。
ループ内でbreakに関して、私は今の書き方が綺麗だと思って書いているのですが、一般的には>>805さんの方法のが綺麗に思われるのでしょうか


返事が遅れてしまい不快にさせてしまった人がいるようで申し訳ありません。
ただ、毎日スレをチェック出来る余裕がない人も居ることを少しばかり考慮して頂けるとありがたいです。

869:名無しさん@お腹いっぱい。
16/11/11 04:21:52.66 r+El7ebU0.net
画像があるかどうかはループ内で判定してるんだから、そこでクリックも終わらせればそれきりなのに、
ループ外でクリックするならクリックするかどうかをもう一度判定しないといけないわけで
余分な動作をしてるのに得るものが何もない

870:名無しさん@お腹いっぱい。
16/11/11 05:23:30.39 CCGOSzmm0.net
今の
while chkimg() = FALSE
スリープ
wend
クリック

から

start = gettime()
while TRUE
ifb chkimg() then
クリック
break
endif
スリープ
now = gettime() - start
if now >= 60 then exitexit
wend

となりました。アドバイス頂きありがとうございます

871:名無しさん@お腹いっぱい。
16/11/11 14:19:57.72 nvM5qI/h0.net
え~
いまさらだけど、なにをタイムアウトさせるのかずっと不思議だったけど
こうなるんだ

872:名無しさん@お腹いっぱい。
16/11/11 17:22:50.33 BVXPA7Uo0.net
予期しない画面とか振る舞いでループから抜けてこないと
処理が止まってしまうからタイム・アウトさせて最初に戻る
とか、ってのはずっと走らせる系のスクリプトならやらない?

873:名無しさん@お腹いっぱい。
16/11/11 17:29:01.95 nvM5qI/h0.net
やるし、breakとexitexitも使うけど

874:名無しさん@お腹いっぱい。
16/11/11 20:17:34.59 BVXPA7Uo0.net
だったら、タイムアウトさせるのはchkimgの待ちだとわかるじゃん

875:名無しさん@お腹いっぱい。
16/11/11 20:53:49.07 nvM5qI/h0.net
分からなかったし、今も え~そうなの? という感じ
だからといって、>>828のスクリプトは思ったとおりに動いているのだろうから
正解にたどりついたことに異存があるのでもない
余計なことを言ってゴメンなさい

876:名無しさん@お腹いっぱい。
16/11/12 02:56:39.50 Mon2e4DC0.net
タイムアウトは、付属のサンプル.uwsに入ってるぞ
オマイラ、読んでないんだな

877:名無しさん@お腹いっぱい。
16/11/12 08:20:09.26 sf+tJbj30.net
slctboxのslct_btnで項目3つ作ったときの戻値1と2は1と2で返ってくるが3の時は4が返るのな

878:名無しさん@お腹いっぱい。
16/11/12 08:21:54.52 sf+tJbj30.net
slct_1=1
slct_2


879:=2 が割り当てられているが slct_3=4 が割り当てられているって話ね



880:名無しさん@お腹いっぱい。
16/11/12 08:32:28.30 sf+tJbj30.net
気になってslct_1から31までprintしてみたら2の累乗使ってるのね

881:名無しさん@お腹いっぱい。
16/11/12 08:37:59.67 EGbpk5mv0.net
>>837
SLCT_CHKやSLCT_LSTでも使うんだから当たり前だろ

882:名無しさん@お腹いっぱい。
16/11/12 11:37:16.52 TTr95+8t0.net
>>837
フラグ管理したことないのか?
普通は1,2,3・・・なんて頭悪いことせずに、ビット演算で判別するんだぞ

883:名無しさん@お腹いっぱい。
16/11/12 11:54:45.02 WW/E9sKm0.net
単に知らなかった830より
知らない人がいることを理解できない831や832の方が頭悪い

884:名無しさん@お腹いっぱい。
16/11/12 11:57:46.41 9TfS8Kjx0.net
素人に毛が生えたような連中が集まるこんなスレでドヤる方が恥ずかしい

885:名無しさん@お腹いっぱい。
16/11/12 12:37:23.75 Kuj26rzA0.net
毛が生えてない人が恥ずかしがってる

886:名無しさん@お腹いっぱい。
16/11/12 15:48:33.60 TxJuMcun0.net
だ、だいじょうぶ!もうちょっと大きくなったら生えてくる…はずだし…///

887:名無しさん@お腹いっぱい。
16/11/12 19:34:06.48 X4QnyPbB0.net
質問させてください。

IEで複数タブを開いている場合に、(タブタイトル重複有り)
今、何個目のタブを開いているのか?が判る方法ってありませんか?

888:名無しさん@お腹いっぱい。
16/11/12 22:30:32.88 BbIkceAO0.net
>>844
それはIEコンポーネントの質問であってUWSCと何ら関わりがないだろ
スレチ

889:名無しさん@お腹いっぱい。
16/11/12 22:45:23.34 mnu2FTeO0.net
Excelに保存したログイン情報でブラウザからログインしたいんですが、VBAは使ったことなく、uwscでCOMオブジェクトを使って操作できますか?
素直にVBAを勉強したほうが良いのでしょうか?

890:名無しさん@お腹いっぱい。
16/11/12 22:52:07.92 8q7qXvJn0.net
UWSCでCOMオブジェクトを使うっていうのは
UWSC上でVBAを使うっていうのと一緒

VBA知らないと使えないよ

891:名無しさん@お腹いっぱい。
16/11/12 22:53:13.27 8q7qXvJn0.net
あ、Pro版は別…らしいけどFreeしか使ったことないから知らん

892:名無しさん@お腹いっぱい。
16/11/12 22:58:28.40 mnu2FTeO0.net
>>847
どちらにしてもそうなんですね
勉強しようと思います
ありがとうございました

893:名無しさん@お腹いっぱい。
16/11/14 05:12:33.83 1iyNiPQr0.net
動いてるときはgoと書き込んで止まるときはstopと書き込ませてるんだが、
exitexitで閉じてもstopと書き込まれるような最後に必ず実行されるコードを作ることって出来るのかね

894:名無しさん@お腹いっぱい。
16/11/14 05:42:46.59 4ijf6Kmm0.net
何をどこに書き込ませてるのか不明だけど、後処理やらせてからexitexitする関数作って代わりに呼べばいいんじゃね?

895:名無しさん@お腹いっぱい。
16/11/14 06:38:39.44 1iyNiPQr0.net
同時に2つのファイルから同一の処理が失敗したらexitexitする関数を呼び出していて、失敗した方だけstopに書き換えたい。
だから関数内に書き換え処理を入れるのではなく2つのファイルで関数から終了処理が返ってきたら処理を中断させて自分のファイルの分を書き換えて終了するという流れにしたい。

自分で読んでも伝わらなさそうだと感じる文章になってしまったがいい表現が思いつかなかった

896:名無しさん@お腹いっぱい。
16/11/14 08:58:27.65 QRNs6eAD0.net
>同時に2つのファイル
→何のファイルだかわからん、書き込むために用意した2つのファイルなのかuwsファイルなのか
>同一の処理が失敗したら
→何が同一なのかわからん
>自分のファイルの分を書き換えて終了する
自分とは何を指すのかわからん

897:名無しさん@お腹いっぱい。
16/11/14 09:55:16.11 1iyNiPQr0.net
ありがとうぼかしすぎたのでその点について整理する。

【前提】
webサイトで動作する実行.uwsを作った
ブラウザ毎の設定や試行回数をまとめて引数で実行.uwsに送るChrome.uwsとIE.uwsを作った
このChrome.uwsとIE.uwsは基本同時に稼働させる
実行.uwsの長時間待機に動作させるサブ.uwsに待機を伝えるために記録.iniにgoとstopを書き込ませている

Chrome側だけが異常を起こしたときブラウザごと終了させIE側は


898:そのままにしておきたい 共通項目の実行.uwsではなく個別のChrome.uwsにChromeがstopになったと書き込ませたい 【質問】 call先でexitexitなど終了処理がされた後に動作するコードを記述することは可能か



899:名無しさん@お腹いっぱい。
16/11/14 10:25:20.86 4ijf6Kmm0.net
それ読んでもよくわからんがw
いきなりcall先とかいうのが出てきたからエスパーすると、二つの実行uwsファイルから共通して呼ばれるc.uwsってのが
あって、その中にexitexitする関数が存在するってことか?
callって今実行中のuwsスクリプトに追加で読み込まれるだけだからcall先のexitexitも本体側exitexitも同じでしょ。
GET_UWSC_NAMEでスクリプト名取れるからexitexit前に判別して書き込むかどうか制御すればいいんでは?

900:名無しさん@お腹いっぱい。
16/11/14 10:36:08.71 Mt87Zmz/0.net
正直いまいち要領を得ないんだが
exitexitはスクリプトを終了させるんだからその後に動作させるのは無理やろ

exitexitじゃなくてexitじゃいかんのか
exitさせて戻り値見て個別の方で書き込んだ後exitexitさせるとか
もしくは引数渡してるなら共通の方でどっちか判断させて書き込むなり終了ることもできると思うが

901:名無しさん@お腹いっぱい。
16/11/14 10:37:59.67 02H0xYsL0.net
OPTION OPTFINALLY

902:名無しさん@お腹いっぱい。
16/11/14 11:07:06.57 Mt87Zmz/0.net
それだと成否に関わらずstopと書き込むことになりそう

903:名無しさん@お腹いっぱい。
16/11/14 11:52:01.11 Bt0sUuoV0.net
exitexitなんてどうにもならない時の強制終了にしか使わない
PCで言ったら電源ぶっちぎりみたいなもん

exitで済むならexitで済ますよ

904:名無しさん@お腹いっぱい。
16/11/14 12:12:05.35 cb7o1ez90.net
>>852
ヘルプによると

// 直ちにプログラムを終了  
 EXITEXIT [終了コード]

なので、外側の起動用のuwsやbatなどで[終了コード]を受け取ってstopを書き込む
[終了コード]をうまいこと変えれば誰が何を返したかも外側で判定できる

905:名無しさん@お腹いっぱい。
16/11/14 12:20:17.77 cb7o1ez90.net
[終了コード]の設定には

// 特殊変数
 GET_UWSC_NAME    // 実行中のスクリプト名

または
<起動オプション>

 スクリプト実行、スクリプト終了時に本体も終了
 UWSC.exe スクリプト名 引数...

を使うといいかも

906:名無しさん@お腹いっぱい。
16/11/14 17:32:09.69 zWHb5PsD0.net
>>854

> 【前提】
> webサイトで動作する実行.uwsを作った

もう、この前提の時点で額面通り理解すると、webサーバーとして動作しているパソコンを仮想・物理問わず2台動かしていることになる。
webサイトで動作するんじゃなくて、あなたのパソコンの中でブラウザを操作する.uwsを作ったんですよね?
まず話しはここからです。
前提からエスパーすると、かなり無駄骨になる可能性が高いです。

callも、誰が誰をcallしてるのか分かりません。

総合的にエスパーすると、実行はひとつの.uwsにして、ブラウザ個別の操作はスレッド建てて、そのスレッドの中でexitexitする直前にpublic変数を使ってフラグを倒すとかがスマートなんじゃないですかね。
親がpublic変数を監視すれば、外部iniファイルとかも要らなくなるし。

907:名無しさん@お腹いっぱい。
16/11/14 18:19:07.50 1iyNiPQr0.net
>>855 Chrome.uwsとIE.uwsの2つから共通の実行.uwsをcallしていてその実行.uwsにexitexitがある形

GET_UWSC_NAMEは知らなかった。それを使えばもっと整理できそう

exitexitにも引数があることは調べ切れてなかった

>>862 エスパー通り。下地の知識がないから言葉選び違ったようでスマヌ
そのpublic変数に値を入れるコードが共通に入るだろうから識別をどうしようかと考えていたがGET_UWSC_NAMEとやらで返してやれば可能そうなので試してみる

908:名無しさん@お腹いっぱい。
16/11/14 19:31:15.30 zWHb5PsD0.net
>>863
get uwsc name で解決するなら、もうそれでいいんだけど、いちお提案ついでなので、

共通実行uwsを、親uwsの中で procedure でくくった中に入れる。

procedure 実行(引数1,引数2,引数3)
実行スクリプト
ifb


909:引数3 = "ch" ch = 1 elseif 引数3 = "ie" ie = 1 endif exitexit fend で、親の実行は、 public ch = 0 public ie = 0 thread 実行(chrome用引数1, chrome用引数2, "ch") thread 実行(ie用引数1, ie用引数2, "ie") これで、親でwhileで、2つのpublic変数を監視すれば、どっちが止まったかもわかる。 確認したら、必要に応じて変数の中身を"0"に戻すこともお忘れなく。



910:名無しさん@お腹いっぱい。
16/11/14 20:20:06.57 lKRNrUfY0.net
EXITEXITに引数あるなんて目からウロコだ

911:名無しさん@お腹いっぱい。
16/11/14 20:24:48.89 V8EXAFqT0.net
さっぱり把握できてないので、いらんことだったらすまないが
ちゃんと排他してるんだろうかと心配だ

912:名無しさん@お腹いっぱい。
16/11/16 04:29:29.87 kIxxzLmJ0.net
引数によってクリックする位置を変えたくて

sentaku1.bmp、sentaku2.bmp、sentaku3.bmpを用意して

sentaku = PARAM_STR[0]

ifb chkimg("sentaku" + sentaku + "bmp") then
btn(left, click, G_IMG_X, G_IMG_Y)
endif


としてるのですが、数十回に一回程度(回数は一定ではない)引数に1を与えて条件を変えてないのにも関わらずsentaku3.bmpの位置がクリックされるバグがあります。
基本的にはsentaku1.bmpの位置がクリックされているので原因が分かりません。バグの原因に何か心当たりはないでしょうか

913:名無しさん@お腹いっぱい。
16/11/16 04:47:17.40 GKfGfKIn0.net
>>869
どういうデバッグしたの?

914:名無しさん@お腹いっぱい。
16/11/16 07:35:43.40 9NHtDPcm0.net
".bmp"じゃないのはコピペミスでいいんだよね
クリックした後にG_IMG_X, G_IMG_Yを0かなにかで初期化したほうが無難なのと
クリックする前にprintでログを取ればタイミングがはっきりするかも

915:名無しさん@お腹いっぱい。
16/11/16 07:53:56.62 kIxxzLmJ0.net
手書きで写したので単純にミスです。

誤作動起こしたときの状態思い起こすと
Y座標は正常でX座標だけあらぬところに飛んでいってるような挙動してるみたいなんですけど
これも初期化していない事の影響なのでしょうかね…
とりあえずクリック前に出力とクリック後に初期化。試してみます

916:名無しさん@お腹いっぱい。
16/11/16 08:12:58.69 9NHtDPcm0.net
>>870
ごめん G_IMG_X, G_IMG_Y には代入できないかも

追加で
複数ヒットしているかもしれないのでその検出のために

戻値 = CHKIMG( [画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )
の「番号」のところに 1 か -1 を指定したほうが良いかも
詳しくはヘルプ参照

917:860
16/11/17 00:47:05.51 q4RLXNQa0.net
出掛けている間ログを残し続けたところ、予想通りG_IMG_Xだけおかしな挙動をしていました。
sentaku1.bmpは140, 425の座標にあるのですが、
20回に一回ほど548, 425や552, 425、208, 425などの座標を返していました。
これらのX座標はsentaku2、3もない位置です。
ログによるとchkimgに使われた画像は全てsentaku1です。
G_IMG_Xはグローバルではないはずなのでどんなことが原因で狂ってしまうのでしょうか

918:名無しさん@お腹いっぱい。
16/11/17 01:07:06.75 wtVkfUhY0.net
>>872
詳しいソースも無いのにエスパーして解答されてるの理解しような
ソース出さないなら自力で調べてから質問しような


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch