自動化ツールUWSC使いよ集まれ23
レス数が1000を超えています。これ以上書き込みはできません。
いつの間にこんなことになってんだよ
買っとけば良かったわ いやあ、買っておいたところでもうそろそろ色んな事情で使うの躊躇うもんになってきてるがなあ これ使ってアメーバピグで稼がせてもらったわ
アメーバピグはサービス終了したけどこの作者も死んでたんだな 作者死亡説って真偽不明なんだよな
信頼できるソースを早く出してくれ 個人の訃報なんて公式ソース存在するわけなかろ
家族を名乗る人が出てきても真偽は分からない 生死は不明だけど
公開停止して今後の更新は絶望的なのは事実 RPA業界からスカウトされたんだろ
UWSCは放置するという条件での破格待遇で 質問いいでしょうか
WHILE-WENDがループかブロックを跨いでいる、もしくはブロックの対応が取れていない:ENDIF
26行目:WHILE TRUEのエラーメッセージが出るのですが、構文を見直しbreakやnextの前のENDIF等チェックた後も解消されません。
本文で長々と書くのは躊躇われるためアップロードサイトにtxtファイルをあげたので
答えてくれるとありがたいです
https://lisp-trpg.ddo.jp/trpg/onj/upload/upl/hKuXbYCoPJMQQL2cx5Ve/00545.txt 116行目のelseifを直前のENDIFでIFブロックを終了させているのに書いてるから while true//特定範囲内で画像があるならTrue。特定範囲外で画像があるならelseif。画像がなければelseで3つの分岐
IFB CHKIMGX("画像.bmp", winid, 140, 260, 510, 530, Detect_num, Threshold_delta, Target_color)//以後winidより右省略
ENDIF
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
IFB CHKIMGX("画像.bmp", winid,略)
IFB CHKIMGX("画像.bmp", winid, 略)
ENDIF
ENDIF
elseif CHKIMGX("画像.bmp", winid, 略)//特定範囲外で画像がある場合のelseif >>14〜>>17
初歩的なところでやらかしてたみたいです…。elseifの上のENDIFを1つ消すことでエラーメッセージ出なくなりました。
ありがとうございます!! マイクロソフト Power Automate Desktop 1. ひな 2020年08月23日 13:54
作者の方は亡くなられていました。
2年ほど前の話ですが、昨今RPAが普及してきており、当社でも有料のRPAと無料のUWSCの、比較検討を始めました。
UWSCは有料の拡張機能があり、検証のため支払いをしましたが、その後連絡がありませんでした。
法人として督促状も出しましたが連絡なく、いろいろな経緯で親族の方に対応していただくことができ、そこで亡くなられていることを知りました。
http://itot.blog.jp/archives/21432032.html
嘘だという証拠も、真実だという証拠もないんだよな… pro版いくらだか知らんが多分数千円だろ?
たかが数千円のために「法人として督促状」って普通やらない ま、本当ならIPAの連絡不能開発者一覧に情報提供して作者が亡くなり更新されなくなったソフトウェアであるとアナウンスして欲しいもんだ SLCTBOXとSLCT_BTNで選択メニューを出してる時
UWSCのログウィンドウの表示部分を
スクロールさせる事が出来ません
選択メニューを出したまま
スクロールさせる方法がありましたら
教えてください たとえばこんな感じ
THREAD bglog
print 1
DIM ret = SLCTBOX(...)
print ret
bContinue = FALSE
FUNCTION bglog
LOGPRINT( TRUE, 0, G_SCREEN_H-100)
WHILE 1
IFB (FALSE = bContinue) THEN
BREAK
ENDIF
WEND
RESULT=0
FEND >>24
↓わすれもの
PUBLIC bContinue=TRUE
THREAD bglog 応援します
まったくの素人で悪いけど権利関係とか大丈夫なのかな
uwscの名前を使わなければ問題ないのか 未確定情報だけど
遺族がソースを捨てちゃったってのが本当だとして
このuwscクローンが市民権得だした途端もし権利主張しだしたらモヤモヤがとまらんな ソースパクるわけではないようだからそもそも権利主張とか関係ないんじゃないの 大半のプログラミング言語が if や for-next をパクっているわけで よくよく考えてみりゃ当たり前だけど、フォーマットに著作権は発生しないんだね
ただ、特許を取得した場合は20年縛りになる uwsc.exeやヘルプファイルには権利があるけどリバースエンジニアリングしてるわけでもないしな
ただセットで考えられてきたものだからモヤモヤするよね 誰かアンケート答えるついでにカンパ募集してくれと書いて置いて
何も協力できないけど金だけは出せる 書いてあるだけだと目標が良く分からんな
同じものを再現するだけなら不要だし
そこから何をするかの一番肝心な所が不明 いまのUWSCで先々どういうところが困りそうなの? せっかく引き継いでくれるかも知れない人が現れたのに
いきなり権利うんぬん言い出して、やる気をそぐようなことはお前ら止めろ
ちなみにpro版購入者だが充分もとは取れてるし、更新してくれるのなら大歓迎です。 権利関係でめんどくさいことになったらそれこそ作者がかわいそうだろ
権利問題にならないように配慮は必要 ほんとIEのみなのがなあ
もちろんWinだからってのもあるが
Selenium入れるのもなんか抵抗あるし
ChromeのCanvas上で動いてるゲームを操作するにあたって
画像認識じゃなくて通信取得して状況判断したいんだけどどんな方法があるのか
F12のネットワークタブでレスポンス見れば通信内容は読める状態
自作拡張機能は通信は見えそうだけどクリックはできない? umiumiさんの生命維持装置をなぜuwscで管理しなかったのか >>52
してたけどWindows updateには勝てなかったよ
なのかもよ UWSCより複雑な処理を求めるならプログラミングするしかないの? >>54
仕様を超えるとか処理速度とかって話ならそう。 uwsc互換というとPythonばかり。
rubyなら多少分かるんだけどrubyではできないの? なんでrubyが分かってpythonが分からないんだ勉強しろ >>54
UWSC自動記録機能より複雑な処理を求めるならプログラミングするしかないの?
って意味なら、そう >>57
普段からプログラミングに慣れてるわけじゃない人が、
UWSCから画像検索処理を含んでスモールステップを踏むとPythonが手に取りやすいってだけじゃない? pythonはwindowsGUI操作のライブラリとかノウハウが充実してるからかと 結局開発が個人頼りで突然開発が終わってしまうのがリスクに思えてきた
最近、図書館でPythonの本借りてきて移行に着手
今日、1つのリネームバッチ作成スクリプトを書けるまでになった
UWSCのソースを見ながらPythonに置き換えしていくが
何か処理をさせるのにググると複数の手段がヒットする
例えばCSVファイルを扱うにも複数の方法があって
標準のopenコマンドで1行読み込んだ物をリスト化する方法
csvモジュールを使う方法
更に別な学術系モジュールを使う方法
自分にはどれが最適かの選択に時間がかかった 「UWSCのソース」というパワーワードがでましたw 普通に読めばUWSCのスクリプトのソースだって思うけど まあ、画像とかCSV扱わせるとなるとUWSCじゃなくていいのは確か 超ハッキングして死亡した作者のPCの中のプログラムソースを見てる可能性 素人の俺に教えて欲しいんだが、uwsc で ie操作をするように
edge や chrome を操作できる最適な処理系ってなに? Python移行でVisual Studio Code使い始めたのだが
拡張機能でUWSCを検索したらUWSCのランゲージサポートのあるのね レシーピってアプリ使ってるけど今年でサービス終了だって。
Android版を他の会社が引き継ぐらしいけど、iPhone しかない(個人ではAndroidも持ってるけど仕事では使えない。) win7で使ってたコードを
win10で使うとめちゃめちゃ遅いんだけれども
だれかわかる人いませんか? >>75
if KINDOFOS()<>22 then
sleep(10000)
endif
きっとこうなってるに違いないからこれを消そう >>75
発想がおかしい
ちゃんとドライバーあたってないか
上書きインストールしたのならクリーンインストールしなよ >>75です
>>77
ソース上にスリープは使ってないです
PEEKCOLORとCHKIMGをたくさん使ってます
PEEKCOLORでループしているところが重いみたいです
>>78
WIN10自体はクリーンインストールです win7だとAero無効デスクトップコンポジションを無効でPEEKCOLORが速くなるらしいよ >>79
>PEEKCOLORでループしているところが重い
まず最初にそれを書けって話よ >>80 win10でAeroだのを無効化したけど遅いままだったねぃ
>>81 ソース上は以下みたいになっとるんだけどこんなもんで
WIN7では1秒に10回くらいループしているのにWIN10だと3秒で1回くらいになってしまう >>84 おおありがとう
ソースは下記です もっと長いけど余計な部分は削除しました
https://pastebin.com/pPu3SH4E >>82
Win10はデスクトップコンポジションを無効化できないので
Win7よりPEEKCOLORがどうしても重くなる >>86
PEEKCOLORが遅いのはデスクトップコンポジションのせいかもしれませんね
無効化もできないみたいですしWIN7で使うしかないようです
すっきりした回答が得られてよかったです、ありがとうございました。 >>85
25行目の PEEKCOLOR に関しては
同じ場所を4回とってるので
IF PEEKCOLOR(1176,i) = 5028863 _
OR PEEKCOLOR(1176,i) = 7336959 _
OR PEEKCOLOR(1176,i) = 7312840 _
OR PEEKCOLOR(1176,i) = 6062519 THEN
いったん変数にとって比較すれば
DIM col = PEEKCOLOR(1176,i)
IF col = 5028863 _
OR col = 7336959 _
OR col = 7312840 _
OR col = 6062519 THEN
PEEKCOLOR を1/4に減らせる
つまりその部分は4倍近く速くできるはず >>89
おおすばらしい!
確かにそうですね!やってみたいと思います!ありがとう! そういう場合何も考えず単純に
もっと性能の良いPCに変えたら速くなるのだろうか
クロック上がれば当然速くなるだろうが
コア数が増えてもマルチスレッドを意識して書かれたプログラムで無いと速くならないよな >>89
AND では なく OR なので
正確な比較回数は1〜4回で
ほとんどの場合1度目の比較で比較で抜けていたら
効果がない可能性もある
一応補足しておきます そんな最適化されてるかな
真偽揃ってからBool演算で毎回四回うごいてんじゃなかろうか 通常は非短絡評価だけど
オプションでSHORTCIRCUIT指定すると短絡評価になるよ ディスプレイ閉じてるとマクロの画像認識できないんだけどどうすればいい? >>95
うちではHDMLでTVに繋げているけどTV消しても画像認識出来てるぞ
ただしTVの電源onでも出力を繋げたPC以外のところにすると誤認識する
どういう状況か把握できてないけど、画面を最大限まで暗くするのではダメ? オレは画像認識させてそこをクリックみたいなのを長時間やらせるときは、
メインPCじゃなくて、低消費電力のサブPCにずっとやらせているが、
そのPCはディスプレイもマウスもキーボードも接続していないぞw
操作は全てVNC、電源ONはWOL PCのグラボやらなんやらによってモニタ電源切ってる時のディスプレイの認識って違うから何とも言えにゃい
閉じてるとってことはノートPCとかかね Windows10の仕様です
HDMIエミュレータとか使ってくれ ノートを閉じたら画面出力を停止するというのは
ノート自体の仕様だろうし、それはそれで調べるしかないだろうね Pythonに移行を試みているがSCKEYコマンドの動作をPythonで再現できなくて足踏みしているorz Pythonに移行を試みているがUWSCRなるものの開発が始まったので、面倒くさいしもう少しここに居座ろうw
uwscrの人がクラファンで資金援助お願いしてるけどやり方が下手くそだなあ
いい人に限って生き方が不器用の典型例…ここで言っても仕方ないけどさ
はっきりと成人男性が数ヶ月暮らせる金を集めたい、必ず半年で作り上げるとか、そう書いてくれればいいのに
無職だけど食べるのに困ってはいない、追加で機材が必要(本当なら具体的に書けばいい)
リターンはテキストだけでコースも1,000円とかいくら集める気なのかも分からない
今のままなら月に数千円集まる程度でクラファンのページ作る労力の無駄 >>102
pyautoguiのはUWSCのKBDコマンド相当 ジェネリック版の作者無職なんだ・・
いままでの書き込みからすると技術高そうなんだけどな >>106
だからSCKEY相当だって
アプリケーションのID指定してそのアプリに対してキー送信
非アクティブでも他のウィンドウに隠れてても大丈夫 >>108
ウィンドウハンドルとか裏に回ってる時の話ね
pywinautoでどう? >>109
ぱっと見pywinautoのTypeKeysで希望の動作が出来そうだから試してみるわ
ありがとう 本家のようにexe化できるpro版ができた暁には無料か優待価格でというふうにすれば単発の寄付が集まる気がする。
たぶんいつになるか明言できないのでそうしていないのかと思うけど
uwsc掲示板でこの人に直接的ではなくても間接的な質問で勉強になった人も多いと思うよ
あっ すまん若干スレチだった >>109
pywinauto試してみたがいいね
Python3.9で動かなくてハマったが
SCKEYだけじゃなくCLKITEMとかSENDSTRとかID指定のコマンド動作の多くが実現できる
win32guiとかで使って実現しようとしてたのが馬鹿らしくなったわ
あとはWebブラウザ操作系だが元々COM経由だったから問題ないだろうし
UWSCから脱却出来そうだ >>113
DLL作ればUWSCでも利用できるかな? UWSCは無理だろうけど、UWSCRなら可能性は残されている
簡素なネトゲのランチャーとかは未だIEコンポーネント使ってたりするから
そういうとこで使ってくれたらありがたいが…これUWSCに関係あるの? >>115
> UWSCは無理だろうけど
DLL作っても無理な理由って何? >>118
よく分からん返答だ
chkimgxはその機能をどうやって拡張してるのか理解してる?
OpenCVのライブラリを利用できるようにdll作ったのがchkimgx
もちろん実際に実装してみないとできるかどうかわからないけど、何もしないうちから無理と断言する理由にはならんよ 手間かけてUWSCを使うことを考えるより
他言語に手を出した方が手間がかからないかと 少なくともフォームを持たないと表示できない。
どの程度コントロールできるか知らないけど
2ってついてるから前のと同じようなことが出来るんだろう。
UWSCみたいな独立したスクリプトよりも
組み込みスクリプトを使ったほうが使いやすいだろう。 メンバー7人から増えないな
この7人は自分もuwscrの開発に関わろうという気概のある猛者達なのかな ttps://community.camp-fire.jp/projects/view/336074
ttp://www3.rocketbbs.com/601/siromasa.html 月額というのがちょっとな、、
1回のカンパなら景気づけに出しても良いけど rustか……俺は触ったことないけど本当にuwsc書けるんか? ライトなユーザーでプログラミング開発とか全然わからないけど
半年後くらいに記録が溜まった時点で応援の意味も込めて
一ヶ月だけ参加してみてもいいかな 一通り見てきた
スキルが高いわけでもなさそうだしある程度形になるまでお金は出せないかな
体験版だけ出して蒸発した開発者とか腐るほど見てきたから 無職の時点で
あっ(察し)
だからな>スキル
悔しかったら頑張るがよいぞ プログラマーとして無職云々はどうでもいいが
経歴やスキルがあるかどうかが問題 スキルなんかこれからあげればいいやろ
作れれば実績も出来るわけだし
今は応援やカンパする気持ちがあるやつだけやればいいやん 191 名前:名無しさん@お腹いっぱい。 (ワッチョイ 8a7e-P44A)[sage] 2019/07/17(水) 05:51:54.53 ID:fMkCzf+80
暇なんでUWSCみたいだけど5chネラー向きのマクロツールつーのを. 作ってみるわ。
もちろんWindowsネイティブな。少しまちなー。 あと名前ですけど、今作ってるプログラムでは暫定的にUWTDになってます(w 経歴もスキルもあるやろ
今までずっとuwsc掲示板とかで活動してたし
最近でもUwscWebDriverとか作ってるし 掲示板のやりとりみてるとスキルはあるけどちょっと物言いがきつめ
無職もハッキリ物言うのが日本の会社には合わないと好意的に解釈したい
たぶんここもチェックしてるとだろうけど、応援したいね
ただ今んとこ月定額は払う気になれない、形ある程度できてきたら応援してくれる人増えると思うぞ まだ動作はしないけどパーサ組んだだけのbetaは出したんじゃなかったの?
10月上旬って言ってたような あと3年早ければね
python使い始めたらUWSCには戻れないよ
例えば今日書いていた部分だと
テキストファイルの内容を1行ずつlist(UWSCで配列に当たるもの)に入れる作業が2行で終わる >>137
アホやろコイツ
言語やツールってのは一長一短
環境や用途で使い分けるもの
「戻れない」ってのはおまえが退化してるだけなんよ そういう文脈での「戻れない」は過不可じゃなく戻る意味が無いって意味やろ
本人にとって完全上位互換だったらそうなる >>138
UWSCに一長一短の長がないんよ
何かある? 言語仕様はどうでも良いけど
マウスカーソルを移動して特定のボタンをクリックとか
Python辺りは簡単に出来るんだろうか UWSCで出来る事をやっているからUWSCを使っているんであって
出来ない事を求めているならそもそも使っていないという 難しい演算や情報取得は別EXEかスクリプトにオフロードさせてる pythonに絶賛移行中だがUWSC内部で片付かない事が片付くようになった
ファイル操作系はdoscmdで出力した結果のテキストを整形して処理してたし
正規表現使うのにOLEでRegExp使ってたけど標準モジュールで片付く
UWSCは色々拡張出来るがコードが凄く泥臭い感じになるよね DOSCMDとかコマンドプロンプトの話じゃねえか
そんなん目的に合ったやつを使えよ UWSCでやろうとすると doscmd 経由でしかできなかったことが
python ならできるようになって、正規表現の処理も便利だって
ことだと思うけど、そう聞くとちょっと python に興味が出てきた。 >>147
pythonは無料で環境整うから
興味があるならやってみるといい
図書館から入門書借りてきて
UWSCからpythonに移行した人のブログとかを参考に移行してる pythonが、っていうよりPyCharmが便利すぎて移行した
UWSCってなんかIDEあったっけ 前にも書いたがVisual Studio Codeで拡張機能にUWSCがある
使ってはいないのでどの程度使えるかは分からない やべ、この後 python って検索しそうな俺がいる pythonだけど
入れるのはanacondaでしょ? いきなりanaconda入れると有り難みが分からないと思って素のpythonインストールしたが
それで問題ないのでそのままという
UWSCもとりあえずフリー版でそのままだったな Visual StudioでPython使えるみたいだから
これを開発環境にすれば良さそうだな 誰か python と anaconda の関係を一行でお願いします >>155
anaconda = python + 追加モジュール + α Free版 Ver5.3.0.2
これを使ってWindows10 2004以降のスクリプトの挙動が変わっているのですが情報あります?
具体的にはマウスドラッグからキーボードの数値入力の繰り返しで、
実行までの待ち時間を1にしても10にしても、一連の動作終了までの時間が変わらないのです。
Windows10 1909までは待ち時間を小さく設定すればより高速になっていました。 どれくらいの長さのスクリプトか知らんけど0.001秒と0.01秒じゃ誤差レベルじゃない? for i = 1 to 10
Sleep(1)
next >>160
Windows7 だけど KBD() が速い遅いがある
for i = 1 to 8
KBD(VK_Right, Click) //待ち時間指定は無し
Next
感覚的に 5倍ぐらい違う
Win7 の素では遅い
一部のアプリを立ち上げると 速く なる (JaneStyleなど) >>161
何十回繰り返そうと誤差レベルのはずなんですが、
実際に走らせると数倍の差が付いてしまうのが不思議です。
>>162-163
Win7でも似たようなこと起きるんですね。
スクリプト見直したり色々試してみます。ありがとう。 UWSCの作者はネトウヨだったから呪い殺されたのか つうか最新のだとKBD命令が不安定というかうまく動いてくれない 【レビュー】キーボード・マウス操作を記録して自動化できるフリーソフト「Mouse Recorder Premium」 - 窓の杜
https://forest.watch.impress.co.jp/docs/review/1101234.html >>165
つい最近になってPython + seleniumでFirefoxに移行した俺グッジョブだな UWSCからpythonへの移行が大体終わった
日常使う6本のスクリプト全て移行して後は改良と微調整
出来ることが多いのでGUI化とか外部ツールに渡すだけだった物を内部処理化したい
図書館から入門書借りてきて始めて何か最初違和感があったけど
pythonがプログラミング言語で自動化ツールじゃないからと後で気付いた
それから入門書の後半は切り捨てて自動化特化でスクリプト書き始めたら結構サクサク移行できた
python使いの中ではひねくれ者の異端者だと思う >>171
ほーすごいな
操作の録画機能もうあるの? UWSCを再現じゃなくて、
UWSCでやっていたことをpythonでやってるんでしょ pythonに自動記録は無いと思う
無いと言い切れないのがpythonの怖いところだが
ブラウザ操作が多くCOM経由で1から書いていたから自動記録は使ってない >>175
pythonは最初win32com経由でIEから入って徐々に他のブラウザに移行を考えていたが
試しにselenium.devを見たら凄く親切で簡単そうだったからいきなりselenium+Firefoxだよ
ネット検索での実装例はselenium+Chromeの方が多いのでChromeの方が楽だと思う win7で動いてwin10で動かない原因わからずツライ
win7はシングルモニタwin10はマルチモニタ
MOUSEORG(GHND,MORG_DIRECT,MORG_BACK)でバック動作
BTNで座標指定は動く
CHKIMGが認識してくれない まずは条件合わせる位の努力はしてくれよ
んな事もせずにツライとかお可哀想ですねで終了だ 条件合わせるとは?
シングルモニタとかにしろってこと?
画像の取りなおしとかも含めてそういうのは一通りやったよ
そんでCHKIMGがFALSEしか返してくれない状態 同じサイト見てもクロームとIEでは色が違うことがある chkimgxで閾値に余裕を持たせて判定するのが一番無難 後出しったら普通は逆でしょ
このケースはむしろ違う条件での動作が目的でそれについては書いてあるんだから
条件合わせた試行してないとはじめに思い込む方が意味分からん ただの愚痴で書いたようにしか見えんから何を期待した書き込みなのか分からんかった とにかく馬鹿にしたい人種はどうでも良いのだ
透過とか形だけとか検索範囲指定とか試せるものは一通り試してると思うけど
画面走査してるのかすら怪しくなってるわ
BTNでのクリックは、ブラウザを各ディスプレイに移動したり画面外に持って行っても機能するから画面を認識できてないってことはないし何でなの?
モニターの並び順を弄ったりしても変わらん
何故動かんのだバグか?
なんか情報転がってねえかなあ Androidエミュのゲームマクロだとアンチエイリアスかなんかの影響か認識したりしなかったり不安定だった Windows10はMORG_BACKが動作しない。以上 まさに作者をMORGUEからBACKさせたい事態にw >>188
win7で使っててwin10にしたのに動かないの?
自分もそれなったな
原因は判ったけど対処法が見つからなかったからwin7に戻した PythonならMORG_BACKと同様の事できるの?
それなら移行したい 出来るけど、確かchkimgxはwindows10でもバックグラウンド動作するよ >>195
どっかに記事ある?
色々試行錯誤したけどダメだったわ >>197
記事というか...実際にできているので疑問に
思ったことがない。Windows10 Pro。 うちもWindows10 Homeで何の問題もなく動作するよ 結構前だけどfirefox+艦これでMORG_BACKが働かんってみたな〜 やっぱりfirefoxの最新版だとchkimgが動かなくなってる? 自動化の組み方にもよるんだろうけど
動く状態の環境の保持がなにより大事だってことだね 結局何で動かないのかさっぱりだわ
凄く単純な判定作っても駄目だし Chromeという前提に頭が飲み込まれてたし、IEで動かないブラウザゲームだから意味ないと思って試してなかったけど、
IEで試しにやってみるかって思ってやったら普通に画面内の画像に反応しやがったし・・・
このブラウザゲームIEで使えるようにならねえかなあ レンダリングをGPUに任せてるってオチじゃないの? firefox限定だけど、MOUSEORGの値で
saveimg、PEEKCOLOR、btn,chkimgの動作結果がことなるところがあるよ。
>205 のパターンもあると思うけど、すべてがそうという訳でもない。
html5のレイヤーを重ねて描画していると、どこのレイヤーで
実行してるか判らん状態になってるんじゃないかな?と思っている。
で、レイヤー?をuwscで指定したいんだがやり方は判らんw Firefox83.0でMORG_BACKが効かないな
82.0.3に戻したら元通りだったのでレジストリで自動アップデート殺して一時しのぎ GETCTLHND(ID,"MozillaWindowClass")の戻り値がちんぷんかんぷん
IDが-1(GETIDの結果が取得できなかった)のときにハンドル値が出てくる(一つ目の画面?)
IDが1とかだと0が返ってくる・・・何で?
結果的に指定したい画面のハンドルが取れない助けて んん?そもそもGETID("画面の名前","MozillaWindowClass")で正しくIDが取れてない???
1が戻り値になっているけどGETID(GET_ACTIVE_WIN)で調べたら5になってる
MozillaWindowClassってのがそもそも間違ってるのかな?
素人にもわかりやすくして・・・ handleの値がそもそもひとつしか返ってこないけどどうやって複数タブのひとつを操作すれば良いんだろう? あのう
for i=1 to 10
next
msgbox (i)
↑ なんで11になるの? n =0
for i=1 to 10
n=n+1
next
msgbox (i+"と"+n)
↑なんで11と10になるの? n =0
for i=1 to 10
n=n+1
print i
print n
next
msgbox (i+"と"+n) >>211
判定箇所の問題だと思う
つまり i が11になったから抜ける
i が10になったからこれで最後という判定をすると、最後を示すフラグかなにかが必要になる
こういう話で良く出てくるのが Whileループと Untilループの違い
検索して説明を読んで
Forループは Whileループの簡易版としてとらえれば納得しやすい
なお Forと Whileにも違いがある
カウンタ変数(その例では i )の中身はループを抜けたら保証されない
UWSCでは11になるようだけど
他の言語でも11になるとは限らない >>214
判定箇所じゃなくて言語仕様の問題でしょ。
FOR I=0 TO 10 STEP 3
NEXT
て書いたら、I=0、3、6、9、12…となってI=10にマッチしない。
1. 無限ループになっちゃう言語(「=」で比較)
2. 最終値を越えた時点で抜ける言語(「<」で比較)
3. 最終値と同じか超えた時点で抜ける言語(「<=」で比較)
UWSCは2.。
VBScript が同じ挙動をするから、VBライクな動きをするようにしたんじゃない? ちなみに、超大昔の BASIC だと NEXT のところで値を評価してたっぽい。
そういう意味では「判定箇所」も間違いじゃなかったね。
FOR 文のところで判定すると実装が楽になるからそうしたのかもだけど、
構文のせいで FOR を抜けた後の I の値が直観的に分かりにくくなってるやね。
他の言語なら
for ($i = 0; $i <10; $i++)
って「<」を明示するから、 for を抜けたときの $i は 10 になる、って見て分かる。 てか、for で使った i を抜けてから使うコードは書くべきじゃない ループ変数をループ外で使うべきじゃないって教訓でしょ firefoxで画面をふたつ開いていると片方しか調べてくれない
GETCTLHND(ID,"MozillaWindowClass")のIDに何セットしても0か一種類の値しか返ってこない
何で? 解決したけど納得いかない
GETIDが成立していれば、GETCTLHNDしなくて良いってことに・・・
どうして先人たちのサンプルはGETCTLHNDを使っているんだろう? >>219
>firefoxで画面をふたつ開いていると片方しか調べてくれない
てのはウィンドウを2つ開いているとということか
タブを2つ開いているとということか
たぶんタブなんだろうけど
タブをいくつ開いていても"MozillaWindowClass"のウィンドウは
一つのインスタンスに2つしかない
GETALLWIN()して
ALL_WIN_ID[] の中身を
STATUS( id, ST_TITLE)
STATUS( id, ST_CLASS)
してみればわかる
>>220
どこのサンプルみて何をしようとしているの? >>208
>IDが-1(GETIDの結果が取得できなかった)のときにハンドル値が出てくる(一つ目の画面?)
ハンドル値ってウィンドウハンドルをIDTOHND()でとってるってこと?
無効な値を引数にしても有効な値は返ってこない >>221
>>222
firefoxで画面ふたつ表示してそれぞれソシャゲ開いて、それぞれ用のマクロ組んで同時実行したら両方とも動く状態にならなくて困り果ててたって話
あちこちのサイトを見て
GETIDしてGETCTLHNDしてMOUSEORG(はんどる,MORG_DIRECT,MORG_BACK)してっていう流れになってたから逆らわずにその通りにしてたら、
@GETIDが取得できたときにGETCTLHNDで0が戻り値になっててMOUSEORGが正しく動作せず
AGETIDが取得できなかったときにGETCTLHNDに-1が渡ってて戻り値が存在してMOUSEORGが動作したけど片方しか機能しなかった
Aのときに1画面にタブをまとめたら動かなかった方も動き出したので希望を感じたけど当然もう片方が裏(隣のタブ)で動き続けることはなかった
GETCTLHNDに-1を渡したときに返ってくるhandle値が何者なのかは知らない
紆余曲折した結果、両マクロとも動作してくれるようになった
そもそもGETCTLHND要らんかったわってオチ ウィンドウ2つ開いてるなら単純に
w_id=GETID("ウィンドウ名")
mouseorg(w_id,2,MORG_BACK)
でいいんじゃないの
ウィンドウ名はctrl+sでページ保存するときのデフォルト名だから簡単にコピペできるし >>223 を読んで不思議に思い
firefoxで適当なページを表示して
MSGBOX(STATUS(HNDTOID(GETCTLHND(-1,"MozillaWindowClass"),ST_TITLE))
を実行したら面白いことがわかった
-1だと全体から"MozillaWindowClass"クラスのもの拾ってくるんだな >>225
誤:MSGBOX(STATUS(HNDTOID(GETCTLHND(-1,"MozillaWindowClass"),ST_TITLE))
正:MSGBOX(STATUS(HNDTOID(GETCTLHND(-1,"MozillaWindowClass")),ST_TITLE)) for n=1 to 10
THREAD 別吹(n+"回目のるーぷ",200,200)
sleep(1)
next
PROCEDURE 別吹(せりふ,横,縦)
FUKIDASI(せりふ,横,縦,1,24,"Meiryo_UI",$FFFFFF,$4763FF,0)
SLEEP(1.5)
FEND
↑なんで10回目のるーぷだけ9回目の裏に早く表示されて、しかも右に5mmずれるの? >>227
試しに、
THREAD 別吹(n+"回目のるーぷ",200,200 +n*10)
にして、ThreadのSleep()を10秒とかにしてみたら?
表示順はThreadだし保証されないだけでは? プログラムは思った通りには動かない。書いたとおりに動くのだ
Any code doesn't run as you thought, run as it wrote
って格言がベースの皮肉でしょ
原因はたいていよそじゃなく自分のコードにあるもんだ んなわけあるかよ
ばっかじゃねーの
センスがねーよ
原因は火狐の更新だったよ
戻したら動いたわ Firefoxって強制更新があるだろ?
動くように再度調整するべきだ。無能乙 >>233
頭悪いな。原因はお前の書いたコードだろ >>232,234 をもう一度よく読め。
そんなんだからぬるぽんって呼ばれるんだぞ 自動化するブラウザってやっぱFirefoxが良いのか
Chromeの方がシンプルで簡単そうな気がするけど ヨコシマ用にTorブラウザでも自動化してるから
通常用はFFになるな 私はchromeでやってる
バックグラウンドで邪魔されずに自動化したいから裏で仮想OSと共に動かしてる
こういうときは8コア以上のハイパワーCPUだと捗るねぇ
テレワーク中に自動巡回は普通っしょ。当たり前すぎてやってる人は多いと思うけどな Win7だと下記エミュレタでuwscが問題なく使えるのですが
・MUMUプレイヤー:〇
・DMMプレイヤー:〇
Win10だとこうなります
・MUMUプレイヤー:×(クリックが反応しない)
・DMMプレイヤー:×(クリックが反応しない)
NOXプレイヤーは目当てのアプリ自体の動作が不安定なため上記プレイヤーを使ってます
Win7でUWSC動いていたのにWin10だと動かない…
似たような症例やその解決策知ってる方いませんか >>240
ちなみにWin10で「クリックが反応しない」とは
SLEEP(1)
BTN(LEFT,CLICK,500,500,300)
BTN(LEFT,CLICK,600,600,300)
SLEEP(1)
みたいな簡単なコードでも、エミュレータ上でクリックが再生されません
マウスの動き(MMV)と画像認識(ChkimgX)は再生・認知されます BTNが認識されないのがエミュだけなら権限ぽいけど……
いっそadbで叩いた方が確実そう >>242
初めて耳にする単語です。意味や使用方法を調べて試してみます
>>243
uwscのプロパティ>互換性モード変更と
エミュ自体の互換性モード変更の両方を試してみましたが駄目でした。
>>244
管理者で実行もしましたが駄目でした。
>>245
adb…よく聞く用語ですが
uwscの録画&保存→部分的に書き換え、でこれまで事足りていたので
勉強するのを避けていたやつです。試してみます
みなさん回答ありがとうございます;;
あれこれ試す中でLDプレイヤーを入れたところ
やや挙動が重めでしたがアプリの動作が安定しており
uwscのクリックにも反応したので一旦LDでしのぎつつ
提示いただいた方法を調べようと思います pythonのPyAutoGUIモジュール使って、UWSCで書いたコードと似たような感じで書いたはずなんだけど
CPU使用率がuwscが0.5%でpythonが7%ぐらいで10倍以上高い
time.sleepを適度に挟まないと行けない感じ?
それともlocateCenterOnScreen()って割と重い処理してるの? UWSCはCかC++で開発されたみたいだからPythonよりは軽いでしょう
同等に軽くしたければCかC++で書くしかない >>253
249 名前:名無しさん@お腹いっぱい。 (ワッチョイ 1373-80jV)[sage] 2020/12/27(日) 09:16:31.21 ID:oQJnnN9P0
UWSCはCかC++で開発されたみたいだからPythonよりは軽いでしょう
同等に軽くしたければCかC++で書くしかない 「Cで書かれてるからUWSCはPythonより軽い(PythonはC以外?)」
「PythonはCで書かれてる」
「uwscはDelphiで開発」
どれがほんとなんだよ! いずれにしても本体はコンパイラ、スクリプトはインタプリタ
大きく変わらないはず https://web.archive.org/web/20001016103846/http://www07.u-page.so-net.ne.jp/ca2/umiumi/tuno.html
uwscがDelphi謹製なのは昔から知られてるだろ 昔DelphiはPascalだったから買わずにC++Builder選んじゃったなあ
ランタイムでかすぎてあんま使わなかった ChkCtlID.dllは64bit対応はしないのかな? あ、途中で送ってしまいすまん
スレ違いだけど、ChkCtlID.dllの代替を探して数年…やっと探し当てた
ahk製でタイトルとクラスは取得できないけど64bitアプリでもコマンドID取得できるから良かった
ChkCtlID.dllが64bit対応してくれればなあ… キーボードマクロ的なもので日本製で使い勝手良いものはこれしかないんですけどこれと同等な日本製後継ソフトはないんですか?
出来れば実行ファイル化(exe化)も無料で出来るものがあれば嬉しいんですけど 残念ながら現状では存在しない
もし存在してたらみんなそっちへ移行してるでしょうからねぇ >>265
そうですか
後出しになりますが、調べてるうちにAutoItとかAutoHotKeyという海外のソフトが割とメジャーなのは分かったのですが
日本語で説明書が読めるようなものを探していたのでUWSCみたいに気軽にスクリプト書けたら良いなと思っていたので残念です 作者死んでもう数年たつし
そろそろ誰かpro版のシリアル教えてくれないかのぉ・・・ うみうみさんなんでソース公開する前に逝っちゃったんだろ
急死だったのかな、、 死んでから既に俺が知っているだけでも少なくとも2回はここにシリアル貼られてたわ …このスレにはUWSCを作れるスキル持ちはいないようだ…。
作れないんなら文句言うな、ってとこ。 >>275
作れるスキルが有ればプログラム言語で自動化プログラム書いちゃうから 自動化って苦肉の策でシステム作った方が早いしuwsc相当作ろうとはなかなか思わないなあ
r作ってる人は頑張ってほしいと思うけどね Rは新しい機能もいろいろ追加されそうだし作者はかなり技術力ありそうだから期待してる
ただ支援者10人で毎月1万だとなかなか厳しいよな、最終的にはUWSCと同じく有料と無料版に分かれるだろうね プログラムがある程度分かっていても
マウスやキーボード操作を乗っ取る方法が分からない 追加機能も良いけど取り敢えず今まで作ったコードはそのまま使えるようにして欲しい >>278
正直に言っちゃうとあの人は技術はあるけどコミュ力とマネジメント能力はなさそうだから…そこまで行きつかず途中で失踪かなって思ってる
あんまり追い立てるのもメンタル強くなさそうだし(それで失職してるぽい) UWSCRの作者、誰かと思ったら
UWSCでタスクトレイアイコンを表示する (COM版)を書いてくれた人か
めちゃ使ってるわ >>282は馬鹿なのか、単に意地が悪いのか
相手が読むこと考えてないのかな >>282
そんなこと言うなよー、たぶんここもみてるだろうし
複数人で作ってるわけじゃないから、技術力あればなんとかなるんじゃないか
完成近づくといろいろな人が仕様とかに難癖つけたりして怒ったりすることもあるかもしれんが、掲示板のやりとりみてると言葉キツいが案外良い人だと思うぞ あの人は精神障害者でしょう
豆腐メンタルがいかにもそれっぽい
手帳を持っているはず >>284>>285
うーん、それなりにそういう人と接した事ないと伝わらないと思うけど一応弁明すると
メンタル弱い人にはメンタル弱いこと知ってるよってのと、出来ないこと無理しなくていいって逃げ道作ってやらないとホントに潰れちゃうのよ
※あくまで本人がツイとかで晒してる範囲でしか言及はしない
だから別に貶したいとか悪意あっての発言でも本人が見たらどう思うか分かってないレスでもないので悪しからず 悪意がなかったにせよ第三者から見ても書き方は悪いと思うなあ
ああいう書き込みがきっかけで誹謗中傷が書き込まれる流れになるのは想定できる
気をつけような call先で使ってるchkimgの相対パスがcall元からの相対パスになるのどうやって防げばいいですか?
変数にパス代入して毎回それをくっ付ければ済む話ではありますがもっと簡単に解決する方法ないですかね なんだこの有益なスレ
physonにも興味あったし俺得が揃ってやがる
素晴らしい書き込みをありがとう >>290
つい一昨日俺もそれに嵌まって、カレントディレクトリごと変えて、直したが
Ws = CREATEOLEOBJ("WScript.Shell")
Ws.CurrentDirectory = "C:\Users\〜" //call先のフォルダ
もっと良い方法あれば教えてくれ 同一フォルダにあるファイルならFOPEN("ファイル名だけ")にしても問題ないが
他フォルダのプログラムからそのプログラムをcallすると、そんなファイル無いぞと怒られるよなw
たまにしかcallでお呼び出しされないのに、絶対パスにすると長くなりすぎて見づらくて嫌だなと思っていたが
>>292 の方法使わせてもらうわ モジュールにコンストラクタ定義できるらしいけど
インスタンス作れないのに何の意味があるの?
呼び出し時刻でも初期値に設定すんの? iniファイルからデータを読んできて初期化するとか、
関数の返値を初期値にするとか、
色々使いみちはあるのでは? ある画面でユーザ名の横に赤ならオフライン、緑ならオンライン、青なら作業中、黄色なら離席中みたいなステータスのポッチがあるので
特定のユーザがオンラインかどうかをステータス+ユーザ名の入った画像比較で判定したい
chkimgxを使ってるけどうまくいかなくて、比較元画像のステータスの色は緑なのに赤でも緑でも黄色でも一致と判断されちゃいます
ユーザ名の画像は280x40ピクセルぐらい、ステータスのポッチは13x13ピクセルぐらい
緑を判別したいからカラーピッカーで緑のRGB値を抽出して
CHKIMGX(PATH, winId, 0, 0, 0, 0, -1, 1, $779B46)
という式で判定してみたけど、ステータスの色が何色でも一致判定が出てしまう
CHKIMGX(PATH, winId, 0, 0, 0, 0, -1, 1, -1)
でも結果はほとんど変わらず
CHKIMGX(PATH, winId, 0, 0, 0, 0, -1, 0, $779B46)
で完全一致指定すると逆に一致しないと判断されることが増えてしまいます
画像サイズに対してステータスのポッチのサイズが小さいのが原因のように思えるんですが、こういう場合どうしたらいいんでしょうか? 基礎を学ぼうともせず楽しようと馬鹿の一つ覚えにchkimgxを使うことしか考えられない奴の末路 >>299
あーなるほど
ユーザ名の位置が一定しないんですがchkimgxで名前を見つけてその座標からステータスの位置を引き出せばいけるような気がします
試してみますありがとうございました 規則: "test.png"と指定した場合 "test.png" と "test.n.png" (nは任意の自然数)の全てのファイルをパターン画像として用いる
マッチした画像の番号は G_IMGX_NUM に格納。例えば "test.2.png"にマッチした場合は 2, "test.png"の場合は -1 が格納される
製作者のコメントぐらい読めばいいと思うけどどうっすか
statusColor.1.bmp statusColor.2.bmp statusColor.3.bmp にそれぞれ赤緑青の画像準備して
ユーザー名からの相対的な範囲で探せばいいと思うんだけどどうっすか >>302
chkimgx使うならbmpは使わないな
画質が悪いから誤認識する事もあるし
判定閾値は厳しすぎるとうまくいかないから、10くらいにする bmpは画質悪いってどういう理屈??
JPEGみたいに不可逆圧縮なら分かるが 理論的には悪くないはずだが、微妙な感じの画像では認識率が劣る感じがするので 「微妙な感じの画像では認識率が劣る感じ」みたいな感じで言われても
それだけじゃちょっとわかんない感じがして微妙 理論的には悪くないが微妙な感じの画像では認識率が劣る感じ
って最高に意味がわからなくて笑える
理論的には〜からの感じ2連発の流れが絶妙 要は何故か画像認識失敗する事があるから用意したbmpに何らかの問題があるはずだ的な感じかな
単なる環境の差によるレンダリング差とかの気がするが 短絡評価オプションつけた状態で
if isCat() or isDog()とif (isCat() or isDog())の動作が変わるのって変じゃない?
isCatがTrueのときに前者はisDogを実行しないけど後者は実行してしまう >>315
ヘルプ読んだら?
カッコ内は無効って書いてあるが 変な拡張子のファイルやろ?
ダブルクリックしたらPCフリーズするねん(´・ω・`) ダブルクリックしてフリーズするファイルってウィルスじゃんw 2ヶ月ぶりに ie を操作するマクロ動かしたら、勝手にEdgeが立ち上がってちょっとはまった。
Edgeの「設定 > 既定のブラウザー > Internet Explorer に Microsoft Edge でサイトを開かせる > なし」にして
元の挙動に戻ったけど、そろそろ ie 動かすマクロも終焉な気がしてきた 俺も最近少しはまったのはこれだな
if BETWEENSTR("3210",a) = "0" then msgbox(a)
a = 1 なら実行、a=2,a=3なら実行されないのは当たり前だが、a=4 以上でも実行されてしまってた。
もう一つ
テスト1 = FOPEN("テスト1.txt",F_WRITE or F_READ); FCLOSE(テスト1)
テスト2 = FOPEN("テスト2.txt",F_WRITE or F_READ); fput(テスト1,"aaa") ; FCLOSE(テスト2)
エラーにならずテスト2に書き込まれていた
対処はもうしたけど 特定のブラウザ依存するやつは汎用性が無いから、依存しないように書くようにしてる
配布して動かねぇとか言われると対応がめんどい
IEは最初から選択肢にない そうするとUWSCの関数は使わずにDOM操作すればいいやってなる
そうするとUWSCでやる必要がなくなるんだよな >>319
最悪でも7-zip ( https://sevenzip.osdn.jp ) で chm から html を取り出せる
Windows10において、表示されないHTML ヘルプ ファイル (.chm)がある事象について
https://answers.microsoft.com/ja-jp/windows/forum/apps_windows_10-winapps-appscat_tools/windows10において/db883904-88cc-4e5f-9f1b-0af420494e85
内容を見ることができないchm形式のヘルプファイルをWindows10で閲覧する方法内容を見ることができないchm形式のヘルプファイルをWindows10で閲覧する方法
https://vdlz.xyz/PC/handle/Soft/ViewChmFile/ViewChmFile.html
Win10のシステムは、CHM文書を開くことができませんプロンプトはページを表示することはできません?
http://japan.windows10windows7.com/windowsjc/gywin/100369958.html Chromeのタブが自動で更新されるのを止める方法が知りたい
Chromeで動かしてると勝手にリロードされるから困る >>328
スレチだし、正しくは「勝手にアンロードされる」だよ 先輩方お知恵をお貸しください
UWSCによってエミュレーターの「LDPlayer」を裏マクロで操作しようとしましたが
エミュレーターにマウスカーソルを乗せた状態(マウスオン)にしないと
裏マクロが走らない、という状況になっており困っています
原因や解決方法を知りたいです。よろしくお願いします
-----------------------
状況
・表マクロは正常に動く
・裏マクロはマウスオン状態にしないと動かない。
マウスがエミュレータの枠外に出た瞬間にマクロが止まり
枠内に入れなおした瞬間にマクロが再び動きだす
マウスが枠内にある限りは、クリックしたい座標の上に他のウィンドウが重なっていても
エミュレータ内の指定した座標をクリックしてくれている
利用環境
OS :Windows 10 Home 64bit
LDPlayer:バージョン4.0.44
使用した命令文
id = GETID("LDPlayer","LDPlayerMainFrame")
MOUSEORG(id ,2 ,MORG_BACK)
while true
BTN(LEFT,CLICK,29,53,1000)
wend 無理なのですね;; 回答ありがとうございます
無理だとわかっただけでも大変ありがたいです
adbの勉強してきます MemuからMuMuに移行してchkimgxで
PrintWindowに失敗
が出るようになって過去スレに辿り着いた。
それに「管理者権限で実行してみてはどうか」とレスが付いてて
UWSCを管理者権限で実行したらうまくいったぜ
サンキュー ChkImgXって今更知ったけど神じゃんこれ・・・
なかなか認識しなくて苦労してたのが馬鹿みたいだわ 5年前にUWSCを使っていろんな自動化を会社でやってた。
久々に必要性に駆られてUWSCを使ったんだけど、
GoogleリモートデスクトップのホストになっているWindows10のPC(仮にPC_Aとしとく)を
自動化しようとして手元のPC(仮にPC_Bとする)からPC_Aに繋いで、
UWSCをPC_Aで起動してるのに、GETIDしたら、起動している複数の画面が
すべてウィンドウIDが"1"で返ってきてて困ってる。
タイトル指定、GET_ACTIVE_WIN指定、GET_THISUWSC_WIN指定でさえも
全て1になっちゃってる。。。
リモートデスクトップで操作するなってことなんかな? 336です
ウィンドウIDは起動するごとに1から取得されているっぽくて、
そのIDを使用して画面を最前面に移動するとかの操作はできた。
アプリがクリックやVK_RETURNでちゃんとボタン押下したと認識してくれなくて
別の問題はあるけど。。。
ウィンドウIDは取得できてた、ということで。 UWSCは仮想PCだとちゃんと動くけど
リモートデスクトップではマウスの位置が取得出来なくて駄目だったな 仮想PCの中でUWSCが動いているPCを
MSのリモートデスクトップで操作している場合
UWSCは普通に動作していたな >>334
付録で付いてる簡単キャプチャ.exeも便利 スケジュール数が105から増えません
これ以上増やしたいときはどうすれば出来るでしょうか? >>342
https://imgur.com/x6hMaJX
増えたよ
UWSC.INI書き換えてるよね?
UWSCを再起動した? >>343
再起動しました!
ありがとうございます もうUWSC Proレジ登録できないの?
誰かください
ryu89@fanclub.pm >>345ですが勃起したちんぽの画像送られてきました 1ライセンスって1個人だっけPC1台だっけ?
規約ページすら無くなっているから思い出せない エラーというか思い通りの動作をしてくれないからデバッガーで実行すると再現しないって
何が考えられるの? 再現しなかったので仕方なく各所にこれを入れまくったら
gettime() ; print G_TIME_HH2 +":" +G_TIME_NN2 +":" +G_TIME_SS2 +" XXX 処理終了"
自分の予想をはるかに超えた原因を特定しました! >>349
そもそも著作権の扱いがどうなってるのか c#にもPythonみたいにキーやマウスを操作して
ウィンドウを操作したりする
ライブラリが有ったら良いのにな nox_adbとやらを試してみたけどワンクリックするだけで1.2秒とかかかって使い物にならない >>356
多言語さっぱりわからんけどC++はないのん? ログ表示用ウィンドウの最小化ボタンを押すと左下に畳まれるのですが、
これもタスクバーに入れる方法を教えて下さい DelphiだったのかUWSC、、、
コンパイル爆速の軽量でめちゃくちゃ優秀だったものな
Delphi中核技術者は引き抜かれてC#開発させられてんだったか Deiphiは完全ネイティブコンパイラだよな
C++で書いたものに遜色ない速度が出るとか
Delphiの製作者を引き抜いて作られたC♯は使いやすいけど
.netが無いと動かない少し遅い実行時コンパイラ
でも最近良く見るインタプリタのPythonよりは全然早いとか
UWSCが亡き今どの道に進もうか迷うよね UWSCRはRUSTで作っている(らしい)けど
RUSTどうなん? 調べると、言語としては優秀だけど難しいって感じかな >>356
・CHKIMGXのような曖昧画像検索 (OpenCV利用)
・マウスとキーボード操作 (ドライバレベル/Win32API)
・スクリーン・ウィンドウ・クライアント・ハンドル・AutomationID操作 (Win32API他)
・画像・座標・ID・操作の記録ツール
自分用にざっくりC#で書いたんだけど、公開できるような状態までもっていくかは微妙そう…
有償版もあるとはいえ、
個人で長年開発・メンテナンスされてたUWSC作者の偉大さを再確認した ビデオカードを変えたらやっぱり画像を認識しなくなってしまった
RADEONだからいけるかなーと期待したんだが
さて、どうしたものか 画像を取得し直すのが一番の近道
面倒臭がる必要はないね。>>369は作業を頑張って!! (笑)
能力の無い人はビデオカードを戻すのが一番いいよねぇ 君にとっては画像取り直しがすごい能力なんだろうけど、おれは画像取り直しが能力だとは思ってないんでねw jpg png bmpはビデオカードに依存しない
画像の大きさが若干違ってるとかじゃ無いの?
汎用的なツール作って配布してるけど、画像の大きさ合わせて使う仕様にしてるから使えねぇとか言う苦情が無い >>374
bmpで保存する時の画面描画はビデオカードに依存するしょ
Windows7+RADEON 5450でやってたんだけど、Windows10+Ryzenで別PC組み立てた
手持ちのRADEON 4770刺してみたらWindows10非対応だったんで(何も映らないわけじゃないが)、ビデオカード交換
1000以上ある画像の取り直しとかちょっと気が遠くなってくるw それはグラボ変えたんじゃなくてOS変わってるんですが… >>378
PC1 Windows7 + RADEON5450
PC2 Windows10 + RADEON4770
↓
4770がWindows10非対応
しょうがない。ビデオカード入れ替えるか
↓
PC1 Windows7 + RADEON4770
PC2 Windows10 + RADEON5450
↓
UWSCを動かしていたPC1で画像をうまく認識してくれなくなった 1. UWSC側でCHKIMGX等を使う
2. 画像側にバッチ処理する
3. ビデオカードの設定を見直す
4. 画像再取得
5. ビデオカード戻す
詳しい状況知らないけど 大抵は1でいいんじゃない? ピクセル単位で画像比較してみよう
いくつかやると傾向がわかるはずなので、差分値を予測して加算してみればいい PCで座標変わるのを均一できたはず
随分前で曖昧だが・・・ PC1 windows7 + iGPU(i5-3570k)
↓
PC1 windows10 + iCPU(i5-3570k)
OSをwindows10へアップグレードしただけだが普通に画像認識できてる
そして新しくPCを組んでIntelからAMDへ
PC2 windows10 + RTX2070
でもPC1と同じ画像認識できてる
よってビデオカードに依存しないといっている>>375が正しい
まあ>>377の場合は諦めて泣きながら1000以上ある画像を取り直してくださいな
何度も書きますけど頑張るのは>>377であって私ではありませんからね
私はまるっと違う環境でも同じ画像認識が出来てるのでね(そういった意味では私の方が有能であろう。苦しんでいるのはあなただけだ) ほれほれ、ID:x+EbJcAx0は頑張ってくださいねぇ〜〜〜!!
私は最高に楽しいですよ!!続報を楽しみに待ってる!! これが噂のマウントモンキー・・・
3Dゲームとかはグラボ・設定によって変化するよ
後何度も言うけどCHKIMGX系使えば、解像度・座標・PC等変わろうが大丈夫
いわゆる曖昧な画像検索とかテンプレートマッチングって奴 画像認識で思い出したが
マルチモニタ環境だと「ディスプレイ設定>ディスプレイの配置を変更する」という設定があるよね
ここでディスプレイの位置をずらしたりするとuwscが扱う「座標」の数値に影響出る?
chkimgの「サーチ範囲(x1,y1,x2,y2)」とか
たとえば左右に並んでるディスプレイの右側をやや上にずらしたり グラボ変えたら認識できなくなったってのは
だいたいがアンチエイリアスの設定が変わるからだぞ
メーカーにもよるしアルゴリズムにもよる
常に全てを無効にしてるでもない限り撮り直すのが吉 CHKIMGもチェックに色幅を持たせる機能はあるけど、CHKIMGX使ったほうが簡単かもしれぬ MOUSEORGでCHKIMGh認識するのにCHKIMGXで認識しないのは何が原因なの分からん >>279
乗っ取る方法もあるかと思うが、乗っ取らなくても Win32 API なら
マウス座標の取得 GetCursorPos() ; G_MOUSE_X, G_MOUSE_Y 相当
マウス座標の設定 SetCursorPos() ; MMV(X,Y) 相当
今どのキーが押されているか GetKeyState() ; GETKEYSTATE() 相当
キーを押された/離されたことにする keybd_event() ; KBD() 相当
UWSC と出会うまで C で、たしかこんな関数使ってやってたな。
UWSCR 期待してまっせ。 >>377
1000の画像を取り直す前に
CHKIMGXを使ってみて、マッチしたらその時の画面から画像を切り出すUWSCスクリプトを書く
というような、なにかうまいこと工夫してUWSCに画像を取得させる方法が無いか
手動でやるまえに10分ぐらい検討しても損は無いと思う 1000以上の画像を使うスクリプトでなにやってんだろw いまってもうプロレジストするのって無理ですか?
recIE機能使いたい.......
おかねはらってもいいのに....... え?そうなんですか
じゃぁどっちにしろ64bitOS使ってる人には意味無い? 大半がCHKIMGX使ったことないのかな
多少エイリアスや3Dの質が変わっても 類似画像として検出するよ
撮り直さなくてもマクロ数行書き換えるだけでOK
>>279
質問のレベルがちょっとわからないけど
・入出力するだけならwin32api (>>390さんの方法)
・DirectX使ったゲームを「乗っ取りたい」ならdirectinputのhook (要はdllを置き換える。ぐぐってね)
・全アプリケーションで「乗っ取りたい」なら、キーボード/マウスドライバのエミュレート (github等で検索してね) >>395
そんなことないよ
64bitOSにも32bitのIE入ってる 以前別のPCだと全然動かんからchkingx使ってみたけど画像によっては訳の分からんところをクリックしたり反応しなかったりだったからchkingの色幅使ってみたら全部ちゃんと反応したという事もあったで >>380 >>385
AndroidEmuをバックグラウンドで動かしてるもんで、全部chimgx使ってる
結局、ビデオカードを元に戻したよ
これからはRYZENをメインにすることになるけど、近いうちにビデオカードも新しいの入れるつもりだし(nVidiaになるかもしれんし)、現時点で調整でなんとかできてもまた
同じことで苦労しそうなんで
ビデオカードの違いっていうか正確にはDirectXの違いがでかいのかな(4000番台は10で5000番台は11) >>398,399
もし差し支えなければ、その比較元・比較先の画像頂けないかな?
(貼り付けるのに抵抗あるような画像ならメールアドレス出すよ)
chkimg/x/自作ソフトそれぞれで試してみたい
勿論解決出来たらコードここに貼るよ >>399
お前は言っていることがおかしいんだよ
>手持ちのRADEON 4770刺してみたらWindows10非対応だったんで、ビデオカード交換
したのに
> 結局、ビデオカードを元に戻したよ >>400
動かない状態のEmuの画像はもう出せない
>>402
非対応だけど描画はして一応動くんですよ。非対応だからスリープがきかないとか温度が出ないとかそういう障害。描画速度も遅いんだと思う
これ、読み落としてました?疑問があるなら自分で4000番台のRADEON買ってきて試してみてね
> Windows10非対応だったんで(何も映らないわけじゃないが) >>403
なんだコイツ
能力が無いのが丸わかりだなオイ 頭がおかしくなりそうなので誰か助けて
gettime() の戻り値は9桁の数値ですが、
逆に9桁の数値を与えられたときに
○月○日○時○分○秒
と出力する関数教えて下さい。
2021年限定版でいいです。
x = input( ,667537724) //9桁の数値を入力
n = x -GETTIME(0,"20210101000000") //2021元旦からの経過秒数
経過日数だけは、int(n/86400) +1 で取得できそうな気がするけど他はさっぱり 最後に「経過日数」について言及してるけど、求めている関数との関連性を詳しく教えて >>405
x=input(,667537724)
n=x-gettime(0,"2021010101000000")
msgbox("2000年1月1日から"+n+"秒")
msgbox ("2020年1月1日から"+int(n/86400)+_
"日"+(int(n/3600) mod 24)+"時間"+_
(int(n/60) mod 60)+"分"+_
(n mod 60)+"秒") >>405
x = input( ,667537724) //9桁の数値を入力
GetTime(x/60/60/24,"2000/01/01 00:00:00")
print G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2+" "+G_TIME_HH2+":"+G_TIME_NN2+":"+G_TIME_SS2 ありがとうございます!
>>407
mod使えばいいんですね、
ただ日と時間がズレていたので+1加えて修正しておきました。
>>408
こんな簡単にできたんですねw >>408
通りすがりだが、GETTIME で 年月日に変換できるとは!気が付かなかった、すばらしす。
今まで自前の関数を作って使ってたよ。
GETTIME で 2000年より前を試してみたらそれなりの年月日が返ってくるが、
1899年12月30日より前は小数点以下(時間)が逆走
0001年01月01日より前はエラーになった。
まあ、こんな年月日を使うことはないだろうが、永遠の仕様だと思うのでご参考まで。 ネタだろ
GETTIME関数
日時を取得する
戻値 = GETTIME([±n日, 基準日])
入れた秒数をx/60/60/24で日に変換してるだけだしな // 日付、時間の取得(時間変数に時間を設定する)
戻値 = GETTIME( [±n日, 基準日] )
引数
±n日: nを指定すると当日もしくは基準日からプラスマイナス n日とする、小数点以下は時間(デフォルト=0)
基準日: 指定された日付を基に日付を設定する (デフォルト=当日)
("YYYYMMDD" or "YYYY/MM/DD" or "YYYY-MM-DD" or "YYYYMMDDHHNNSS" or "YYYY/MM/DD HH:NN:SS")
戻値
2000年1月1日からの秒数を返す
値がセットされる特殊変数
G_TIME_YY // 年
G_TIME_MM // 月
G_TIME_DD // 日
G_TIME_HH // 時
G_TIME_NN // 分
G_TIME_SS // 秒
G_TIME_ZZ // ミリ秒
G_TIME_WW // 曜日 (0:日曜....6:土曜)
G_TIME_YY2 // 年をxxの文字型
G_TIME_MM2 // 月をxxの文字型
G_TIME_DD2 // 日をxxの文字型
G_TIME_HH2 // 時をxxの文字型
G_TIME_NN2 // 分をxxの文字型
G_TIME_SS2 // 秒をxxの文字型
G_TIME_ZZ2 // ミリ秒をxxxの文字型
G_TIME_YY4 // 年をxxxxの文字型 gettime ってうるう秒の分だけ誤差がでるのなんとかならないかね >>412
1899/12/30 より前になると時間が逆走する問題を指摘したのだが
これ↓やってみ
GETTIME(-1/60/60/24,"18991231")
PRINT "18991231 から1秒前:"+G_TIME_SS
GETTIME(-1/60/60/24,"18991230")
PRINT "18991230 から1秒前:"+G_TIME_SS
SLEEP(9) >>416
>>413読もう
>戻値
> 2000年1月1日からの秒数を返す >>417
2000年1月1日より前を指定しても 1899年12月31日までは
秒数がマイナス値で正しく返される
例:PRINT GETTIME(0,"19991231")
の結果は -86400
しかし、1899年12月30日 より前は小数点以下の挙動がおかすくなるな、
ということを言ってるのだが どっちも同じく未定義動作で、実装上どうであってもそう動くって以上の意味はない
みたいな話じゃね。しらんけど 符号付整数型のよくある問題だね
ちなみにエクセルとか他のソフトでもできない事が多いよ
まぁ他人に指摘する時は、一度冷静に読み直せって事やな
>>414
大抵困らないと思うけど
どうしても必要ならオレオレgettime関数実装して置換するのが早いんじゃない? 次は3000年問題だな。
俺は今からワクワクしてるんだ。
あ、ちなみに自分の腕時計は安い電波時計なんだけど、2099年までなんだよ。 >>420
漸く最初の話 >>410 を理解した人が現れて良かったよ。ありがd 2000年問題を回避する為に
年を2桁から3桁で管理するようにしたエンジニアがいたら
逆に驚くわw 理解はしてたけどそんな昔の西暦なんて使わないからいいんじゃねとおもってスルーしてた URLの年月日の部分が6桁というのがたまにある
釣りで貼られると西暦、令和、平成を見分けるのが大変 >>422
GETTIME() の未来についてもついでに検証してみたら 9999年12月31日まで秒の精度を含めて大丈夫そうだ。
10000年1月1日以降は基準日の指定ができない(強引に指定してもがエラーになる)
>>425
それこそ、そんな未来の西暦なんて使わないからいいんじゃね、だね >>416
日本では明治のはじめに新暦に切り替わったのでそれ以前をグレゴリオ暦で算出しても
あまり意味がないないので切のいい1900年あたりで区切ってるのかもしれんね >>408
gettime()を使う度にいつもこれの文字列つなぎ合わせ長くなって嫌だなと思っていましたが
G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2+" "+G_TIME_HH2+":"+G_TIME_NN2+":"+G_TIME_SS2
これで行けることも気付きました
x = input()
print VarType(GetTime(x/60/60/24,"2000/01/01 00:00:00")/86400 +36526, VAR_DATE)
意外とumiumiさんも用意してくれていたわw ところで、UWSC使いの皆さんは自分の関数ライブラリー
みたいなの作って使ってる?
自分は、_mylib.uws というファイルに自作の汎用関数を
色々書いておき、個々の .uws ファイルの先頭に
call GET_UWSC_DIR + "\_mylib.uws"
と書いて自作汎用関数を全てライブラリー感覚で使える
ようにしている。当たり前の手法かもしれないけど、
知らなかった人はこういう感じにすると便利ですよ。 作ってるね
デフォルトのfukidasiとかmmvとかをちょっと便利にするラッパー関数も多い 同じく作ってる
DLLまで作り始めたあたりで、気づいたらC#移行してた >>418
馬鹿か
2000年1月1日からの秒数だからその日以降しか対応していない >>427
仮に強引に指定できたら、遥か未来(1899/12/30から9223372036854775807秒後)にエラーでるはず
>>428
日本に関係なく「PCの登場が20世紀中盤だったから」だと思うよ
コンピュータの限られた性能と時代背景からLotus1-2-3等に採用され、
互換性を保つため多くのプログラムで日付型の初期値0は1899/12/30あたりになってる
でも面白い推測だね、冲方丁の天地明察思い出した
>>433
UWSC自体delphi(+標準ライブラリ)使って作られてるんだから、
標準ライブラリ起因の仕様を抱えてても仕方なくない? >>433
はいそうですね // プラスの数しか知らない小憎らしい小学生にはこう答えるしかなかった >>435
で>>416の件をどうしたいんだよ?
もうUWSCの更新・修正はおそらくないぞ >>435
お前は日本語を勉強した方がいい
「から」の意味が理解できていないからそんな事を言う >>434
VARTYPEでGETTIMEの戻り値のデータ型調べると
整数値しか戻らないのに何故か整数型じゃなく倍精度浮動小数点値使ってるし
使ってるデータ型の問題で桁溢れ起こしてるだけだと思うよ
そもそも仕様外の動作だろうし >>433
uwscが作られたのはそれより前だからそういう訳でもない (00/01/06)
……時間、日付を返す特殊変数の公開
って履歴はあったけど、その前からGETTIME自体はあったってことなん?
過去verとか手元にないっす 99/10/01のVer 1.0が初公開なんか
もう成人してたんか >>436
現仕様を理解した上で使おうぜ、ということ。
「±n日」に整数値を指定し、基準日に時間指定をしなければ
0001年1月1日から9999年12月31日まで正しく使えるから、それで良い。
万一時間指定付きで 1899/12/30 以前の時間指定をすることがあるなら、
日にち(年月日)と時間(時分秒)に分けて使えば良い、そういうこと。
2000年1月1日以降しか使えないと解釈している小学生には関係のない話。 >>442
2000年からと書かれてるのにそれ以前から使えると考えるお前の日本語力に驚きだわw >1899/12/30 より前になると時間が逆走する問題
噛みつかれてるのはここで、仕様外の使い方をしてそうなるなら悪いのは使い方であってUWSCの"問題"ではない って指摘
つまりは仕様の中で使いましょうね、なのでその部分は同じこと言ってるね。やったぁ
線引きが食い違ってるのは実動作と仕様を分けて考えるから。
現在の動きが仕様です。ってなると世の中にバグは存在しなくなる >>442
戻り値マイナスは許容する癖に
紀元前で西暦マイナスとか西暦5桁はしっかり除外するという
矛盾してるなぁ >>429
36526って何?
>>430
chkimgxはラッパー関数作って照合したファイル名や結果を記録してデバッグしやすくしてるなぁ >>438
うわごめん。VBとかと同じなのか
てっきりInt64だと…自分も今一度調べてから発言するべきだった!
>>446
とてもわかる
自分は洗濯範囲の画像キャプチャ&座標テキスト出力を同時にやるマクロも用意してた 選択範囲の画像キャプチャと座標を記録しておくと
テンプレ画像の用意&なんらかの事情でキャプチャしなおすとき楽 これが一気にできていいよな UWSCの動作のバグ見つけてしまったけど報告するところが無いな(´・ω・`)
妥協案で対処したから良いけど、、 >>445
俺が限界テストをしてその結果を報告したまでなのだから
それが気に入らなければスルーしてろ Thread test()
Sleep(2)
DosCmd("pause", ,True)
Sleep(2)
DosCmd("start /wait notepad")
Sleep(20)
Procedure test()
While True
print "test"
Sleep(1)
Wend
Fend
こんな感じでコマンドプロンプトの終了を待つようにすると、その間Threadが止まってしまうんだけど
そういうものって諦めるしかないです? >>453
呼び出した後待たない方法があるだろ。
戻り値を受け取れないけど。 >>453
Thread ではなくて別の .uws を起動する方法は如何?
Thread test() の代りに DosCmd("test.uws",True) >>453
本当だな、DosCmdにクソ重い処理をやらせて、Thread で同時処理させていたつもりだったのに
出来ていなかったとは、、
DosCmdの方をThread 内でやらせたら並行処理でいけた Power Automate Desktopが無料で使えるようになったな
ほぼ触ってないんだけどuwscとくらべてどう? 使ったことないけどなんかすごそう
しかも将来はWindowsの標準機能になるのか 453です
色々とありがとうございます
>>454
戻り値は使わないのですが、外部プログラムでデータを保存し、続きをuwscで処理させているので待つようにしています
>>455-456
なるほど、Threadを別スクリプトにするか、Thread内で実行ですか
思いつきませんでした、そのあたりで使い勝手をみてみます >>459
> 外部プログラムでデータを保存し、続きをuwscで処理させているので待つようにしています
DosCmd は即時復帰させ、データの保存完了をループで監視して待つという方法もあるよ 動いてたバージョンに戻しても動かないってどういうことやねん・・・
何か致命的な機能が入れ替わってどうにもならんのか????? 何を動かしているのか知らないが
サイト側が変更された可能性はあるだろう
それに合わせて「作り直して」しまった方がよい。ひとつひとつ見直してみましょう! FFというブラウザ自体がもうシェア負けしてサイト側の対応ハブられてるんじゃないか
肝心な登録ページなんかでエラー出したりするからもうメインでは使わない これをiniファイルに出力したとき、どっちがセクションでどっちがキーかをUWSCはどこで判断出来るの?
WRITEINI("data]=11","[data]","11]") なんなの最近の妙にヒネた質問して来る人
もう開発保守されないソフト出来ないこと探しはしなくていいよ リネージュ2mのプラットフォームPURPLEでUWSC使えない? XPでieからgetitemできるpcとできないpcがあります。
IEの設定?考えられる原因なにかありますでしょうか? まずXPとIEを使うのを止めろ
頭の良い人なら素直に10へ移行できるはずだ 恥ずかしながら古いイントラ環境残っており使っています。
どなたか情報頂けると助かります。 >>470
それだけでは何とも言えない
原因を一つずつ潰していかないとな 業務に使っていて下手に弄れないのなら
地道に設定を比較していくしかないんじゃないの ありがとうございます。
NGな方はほぼクリーンなxpで、okな方は開発等で使用して色々インストールされているpcで比較がなかなか難しかったのでこちらで情報求めた次第です。ieはリセットしてみましたがかわらなかったのでie以外を疑ってます。 >>477
ありがとうございます。
ie8ですがそれらしいことができなそうで、もう少し探ってみます。 業務で使ってるPCでプライベートなことをしようとしてるのか
はたまた業務でUWSCを使って何かをしようとしてるのか
どっちにしろうーん…という感じがしないでもない Audacityというフリーソフトのトラック選択ボタンをクリックしたいのですができません。clk_accとかオプションも付けましたが、ダメ。何故でしょうか? chkimgxのALL_IMGX_NUMをdllにわたしたいんだけど、引数の型合ってないよと怒られる
DEF_DLL test(DWORD[]):DWORD:MYFUNC.DLL
[]抜いてDWORDにしても駄目(chkimgx実行前ならこれが通る。実行後はエラー)
どうすればいい? >>481
自己解決
SAFEARRAYにしたら通った chkimgxが複数スレッドで同時に使えないのが不満だったけど、改造して関数に結果戻す
引数追加すればいける感じ 既出ならスマソ
最近ヤフオクでuwsc proのライセンスが同じ人から繰り返し出品されるのだけど、これはumiumiさんなのかな。それとも暗号解読した犯罪者なのか‥ umiumi氏のわけないでしょ
本人なら音信不通になるわけないし
本人が健在だ!という話ではないと思うよ残念だけど >>484
製作者ではないな
今は閉鎖されてるけど、aアングラサイトで出回ってるシリアル集に載ってたから(ry
5.2.2のやつは大量に出回ってたけど、5.3.0.2は一つしか載ってなかった 製作者だったらよかったのにと落胆する>>484でしたとさ。チャンチャン♪ >>484
故人に鞭打つような事は言わない方がいい ヤフオクに出てるの見て制作者かと思う思考がよく分からん
ましてその確認を5chにしに来るのがもっと分からん >>484
あ、言葉足らずでスマソ。
1回売れても何度も出品してるのよ。つまりパスコードを作る知識がある可能性がある。説明には「一人一人別の番号をお渡ししてます」と書いててある。
一応ヤフオクには通報したのだけど、特に出品がやんでいるわけではない。
https://page.auctions.yahoo.co.jp/jp/auction/x774138157? すみません、質問です。
Pro版でCREATEFORM関数を使ってHTMLの画面を出してるんですが、このHTMLの中で img src=画像 とすると、exe化した時にこの画像が内包されないのですが、どうすればexeに内包されますでしょうか?
ご存じのかた、宜しくお願いします。 >>491
犯罪者の言う事なんて信用0だろ
「一人一人別の番号をお渡ししてます」 ← これがウソ
どうせ同じ番号を売っているんだろ
本体でライセンス重複チェックなんてしてないようだし サーバーでIDを認証してるわけじゃないから
クライアントを解析して適当なキーを売ってそうだ 492です
自己解決しました
Src=画像のバイナリデータ(←data:image/jpeg;base64,〜〜〜てやつ)
としたらできました
スレ汚し失礼しました >>494
× クライアントを解析して
〇 クライアントを解析するツールを使って
こいつは他の人が作ったツールを使って売っているだけだろ そんな細かいことどーでもええがな…
お前はプログラマにいちいちそれはプログラミングしてるんじゃなくて他人が作ったプログラミングツール使ってるだけだとか言ってんのか? 自分で解析してるならパチもんを自分でつくって売るくらいの気概はあるけど
有りものツールならパチもんを更に転売で稼いでるようなもんだからかと 元手タダだしちょっと探せばいくらでもでてくるようなもんだから
500ぐらいかなって思ったら結構いい値段で出してて草 >>492
バイナリ埋め込みはファイルが多いと面倒だから、iexpressでパッケージするけどな 単純な疑問なんだが、ここのスレの人たちはPythonやマイクロソフトのPower Automate Desktopを使用しないのはなんで?
このソフトでしか出来ないこともあるんだろうが、単純に安定しないとかそういう理由なの? なぜその他を「使用しない」前提で言ってるのか分からんが
UWSCを使うのは手軽だからじゃね このスレに書き込むのだからUWSC前提の書き込みになるのは当たり前だろ >>501
これで足りるから他を使う必要がない
自転車で用が足りる人に原付き買えと言っても買わないだろ ついでに補足すると、原付乗るのに免許が必要だろ どうも新しい免許を取得するのもなー 更に言うと車持ってても自転車にのったり電車使ったりするし いまごろこんなもんといわれても手遅れだ!!
いいか、これは、この世界でいちばんいい銃だ! いちばんすぐれた小銃なんだ!!
おれには、これしかないんだ! だから、これがいちばんいいんだ!! たしかに銃と同じで、手になじんだものが良い
信頼性が高く、一発で動いて、誤動作も無い でもAK47を拾っちゃたら
手のひら返してこれ最強になるんだろ >>484
umiumiさんはお亡くなりになられたそうですよ 近頃は電子装備だの何だのいろいろな計器類が多すぎてな…
老いた頭じゃ付いていけねえ
ランプ1個増えただけでもう混乱しちまうんだ… >>514
なんでメアド欲しがるんだろうな
DMでのマーケティングて効果ない気がするんだが >>514
windows使ってるのにマイクロソフトアカウント持ってないのか? Windowsのインストール時にアカウント誘導してくる罠とかいらんわ >>516のような人が社会から取り残されていくだけ
頑張って追従していきましょう
これは気に入らない。前がよかったのに!と文句を言っていても変わることはありませんから >>520
別に >>516 は自覚こそすれど文句は言ってなくね? >>516
おれたちはwindowsユーザー・・・
紙きれより薄い新バージョンの命・・・
新バージョンから次の新バージョンまでに僅か数秒・・・ >>491
買っている人がいる以上、需要のある仕事ということ
umiumi氏が出来ないのなら誰かがやらねばならない >>523
勝手にやっていいという話ではない
著作権法違反は非親告罪なので、著作権者が死亡していても刑事罰の対象
著作権法の一部を改正する法律の制定について > 改正法Q&A 問10
https://www.bunka.go.jp/seisaku/chosakuken/hokaisei/h18_hokaisei/qa_10.html
ライセンスキーの無断販売は技術的保護手段回避装置・プログラムの供与に当たる
3年以下の懲役または300万円以下の罰金 裁判官もユーザーの不便に涙して情状酌量してくれるハズ たぶん ぶっちゃけ犯罪を肯定も何も、そんなちっさいことに非親告罪がどうたらとかどうでもいい
よくその程度のことに嫉妬できるなw 犯罪行為を咎めたら嫉妬してることになるらしい
どういう思考回路してんだ 犯罪行為に嫉妬?
意味不明
自演で騒いでるのも意味不明w >>501
質問ですが、
マイクロソフトのやつで、
ブラウザでサイトを読み込んだときに、
読み込みが完了したかどうかを見極める機能はありますですか。 >>537
Microsoft Edgeそのものには無いから、表示されるボタンとか画像とかを基準にして読み込み完了を判断する方法を使う >>522
Windowsの父、ビル(ゲイツ)大尉に敬礼!! >>538
素早い回答ありがとうございます。
そういう方法があるのですね。
uwsc も、IE も先がありませんので、朗報です。 一番ひっかかる単語何かなと思って「嫉妬」って書いたんだけどやっぱ正解だったなw UIAutomationを使えばUWSCでやってきたことVBAでもできるんだな。
Excelなら会社のPCに入ってるから新たなアプリ入れなくてもいいし。
だけど、自動化といかRPAて盛り上がらんな。
自動化て世間的にウケないのか?
ゆっくりムービーメーカーをUWSCで操作
https://youtu.be/t5Qiy9EqKN0
ゆっくりムービーメーカーをVBAで操作
https://youtu.be/3RApNTTEkIs >>543
できる。
VBAでWinAPIいじってるだけだから。 >>544
操作内容がVBAスクリプトに変換されるって事? Window10で
UWSCが操作し易いブラウザって
どれですか? chromeで、3箇所をローテーションで一定間隔でクリックするのを100回くらい繰り返しする事がやりたいのですが、どんな文になるのかを大まかにでも教えて欲しいです。uwscは初めてです。 ACW(GETID("Chrome"),0,0,1920,1000,0)
For i = 1 to 100
CTRLWIN(GETID("Chrome"), ACTIVATE)
BTN(LEFT,CLICK,100,100,1000)
BTN(LEFT,CLICK,200,200,1000)
BTN(LEFT,CLICK,300,300,1000)
Next >>550
ありがとうございます!これを元に試してみます >>547
chromeかEdge
中身ほぼ一緒だが、Edgeの方が性能が良いという検証結果も有る 数カ所クリックの単純作業ならHiMacroExが早いよ
記録→ウェイト調整→回数指定して実行
30秒かからん スクリプトが完成したので誰かEXEに変換してアップしてくれないかな?
もしかしてそれも著作権侵害になる?ならプロ版ライセンス買わせてよ >>561
良かった!
どなたかEXEにできる人いますか? その後>>560は脅迫の罪で逮捕されましたとさ。
っていうのがゆうちゃん事件。 >>564
脅迫の罪で逮捕されると言われた恐怖で昨晩は一睡もできませんでした
不眠症かもしれませんので病院に行って(自費で)診察してもらってきますね
>>565
やってみます
ありがとうございました
引き続きEXE変換してくれる方を探しています >>567
できました!
それにしても数字文字列を固定長に変換できないなんてちょっと信じられない
例えば3桁固定の場合、9を"009"、99を"099"に変換する方法が無いなんて・・・ //無いなら関数組み合わせて作るんだよ
DIM 数字 = 9
PRINT REPLACE(FORMAT(数字,3)," ","0")
数字 = 99
PRINT REPLACE(FORMAT(数字,3)," ","0")
sleep(20) >>569
やはり作らないと出来ないのですね
>>570
作らなければできないと分かれば関数で対応しますよ
>>571
自分が考えていた方法よりはるかに秀逸です
恐れ入りました
型がなくても変数はDIMで宣言したほうがいいみたいですね VBでいうところの format$(n, "000") みたいのが欲しかった訳ですが
REPLACE(FORMAT(n, 3)," ","0") で詰められたスペースを0に変換とは目から鱗です
こういう小技の集大成があると助かりますね ちょっと調べればすぐ出てくる内容だけど
少しは自分で調べたのかな s = 3桁数字
u = int(s/100) + 48
v = (int(s/10)) mod 10 + 48
w = s mod 10 + 48
KBD(u,CLICK,20)
KBD(v,CLICK,20)
KBD(w,CLICK,20) 調べればというより、付属のヘルプファイル(uwsc.chm)読めば分かるよ
スクリプト関数、文字操作関連の所
とりあえず、意味がわからない事があっても一回読んでおくと良い
分かるようになってから役立つ >>576
同様にして僕はCHRで生成した文字を連結返す関数を考えました
>>571に比べるとスマートではありませんよね >>577
UWSCというソフトを昨日初めて知って
あまりの秀逸さに驚いていたところです
スレッド生成とかマジかよ・・・と思うような機能もあって興味深々です 配列にHASHTBLを使うべきかSAFEARRAYを使うべきか、それが問題だ
SAFEARRAYだとまるでVBのような配列になるけど
キーでソートとかできる連想配列も面白い 0梅だと俺なら十分大きい数値(例えば対象が4ケタ以下確定なら10000)足して
あとは文字列扱いで処理するね >>578
これはJaneでスレ立てたあとにテンプレ貼るときに使う
前スレのレス番号に直接遷移するキーワードショートカット >>581
必要な桁数でトリムする訳ですね
さすがみなさんUSWC使いなだけにIQが高い
>>582
なるほどぉぉぉぉぉ! FOR s = 2 to 20
//コピー元タブ選択
--------------------------
u = int(s/100) + 48
v = (int(s/10)) mod 10 + 48
w = s mod 10 + 48
KBD(u,CLICK,20)
KBD(v,CLICK,20)
KBD(w,CLICK,20)
--------------------------
//コピペ元レス番をマウス左クリック
//レス内容コピー
//ペースト先タブ選択
//書き込みウインドウON
//貼り付けて1行目に
//1行目選択
//1行目削除
//書き込み
Next >>584
なるほどですね!
UWSCは記録機能で記録したスクリプトをベースにして
骨組みを肉付けしていくような感じで仕上げていく感じですね
面白い!
実に面白いです
この世界! ああ逆か!
肉を骨組みに付けていくような感じですねw UWSCは面白くて素晴らしいんだけど
もう更新される見込みが無い所が懸念材料 >>587
これ作った人ってある意味天才肌だと思いますね
パーサージェネレーター一つとっても行き当たりばったりで作れるものじゃないし
根底にしっかりした情報工学に対する学力がないと難しい >>585,586
それは人による
>>588
どうでもいいことだけど、ふつうそこは「天才肌」じゃなくて「天才」という単語を使わないか? >>589
どうでもいいことにこだわりますね
天才と言ってほしいところをみると作者さんかな?
だったらジェアレジ復活してくらはい >>591
同じブラウザ使ってると同じことが気になるようになるんだな //連番打ち込み
FOR i = 1 TO 200
rst = FORMAT(i, 3) // 数値を文字列3つに変換
rst = REPLACE(rst, " ", "0") // 1,2桁の場合空白を0に変換
r = VAL(COPY(rst,1,1)) //100の位の数字を数値に変換
s = VAL(COPY(rst,2,1)) //10の位の数字を数値に変換
t = VAL(COPY(rst,3,1)) //1の位の数字を数値に変換
key1 = 48 + r
key2 = 48 + s
key3 = 48 + t
KBD(key1,CLICK)
KBD(key2,CLICK)
KBD(key3,CLICK)
KBD(VK_RETURN,CLICK)
NEXT >>590
作者を知らない人が「天才肌」って使うのは文章としておかしいのでは?と言いたかっただけ
↑この行を理解した上での異論は認める >>585
面白過ぎて、俺はもう5万行以上作り溜めてるぞ
常駐 .UWS でキー操作やセンサーを監視したり
たった1個の .UWS で マウスポインター下の
アプリを判断し、あたかもアプリを改造したか
のように動かす。
この2個は特殊な .UWS だが壮絶に便利
>>587
更新によるエンバグに悩まされることがない!
と前向きに考えている。 >>574
N が 0 〜 999 の整数と決まっていているなら
COPY(1000+N,2)
の方が短く書けるけどな >>595
ロジクールマウスとかアクティブなプログラムによってマウスのボタンの設定を変えられる機能があるが、そんな感じか? >>592
鋭いですね
>>593
おっ!同一環境書き込みの失態を挽回しましたねっ!
>>594
天才と言って欲しかった人が天才肌と言われて怒ってる
つまり先天性ではなく努力で得たものと言われたくなかった
そう理解していますよ
>>596
なるほど、VBでいうところのinstrをCOPYでやれるわけですね
頭いいですねぇ >>597
それにやや近いものはあるが、アクティブなプログラム上の「どの場所」で
マクロを起動されたかによって、マウスやキー操作より「遥かに高度なマクロ」
を実行できるので、やっぱレベルは全然違うかも。 >>600
どんな感じなのか見てみたい
差し支えなければアップしてほしい >>601
超単純化したサンプルを書き込もうとしらた、何が気に入らないのか書き込めない。
もう少し時間をください。
>>602
全てポーリング処理なんだけど、試しに UWSC で書いたてみたら何の問題もなく
使えているのでそうしているだけなんだ。メンテも楽だしね。 ;op = 0
;while 1
; SLEEP(0.1)
; kp = GETKEYSTATE(VK_PAUSE)
; if kp <> op
; op = kp
; if kp
; SPEAK("PAUSE が押された",TRUE)
; else
; SPEAK("PAUSE が離された",TRUE)
; endif
; endif
;wend >>604
Pause キーでマクロを起動する超単純化した常駐 uws の例
キーダウンでマクロを起動するなら SPEAK("PAUSE が押された",TRUE)
の部分で DOSCMD("test.uws",TRUE) とかで別のマクロを起動しても
良いし、SOUND("click.wav") とかでクリック音を鳴らしても良い。
キーアップでマクロを起動するなら SPEAK("PAUSE が離された",TRUE)
の部分で DOSCMD("test.uws",TRUE) とかで別のマクロを起動する。 これで呼ばれた test.uws は
↓こんな感じで tt ss 使って後は好きなことをやる
nx = G_MOUSE_X
ny = G_MOUSE_Y
wi = GETID(GET_FROMPOINT_WIN,,0.01)
if wi < 0 then exit
ACW(wi)
tt = STATUS(wi,ST_TITLE)
ox = nx - STATUS(wi,ST_CLX)
oy = ny - STATUS(wi,ST_CLY)
ss = POSACC(wi,ox,oy) uwscにはfopenやfputといった関数が用意されていますが
これはdoscmd("echo >")と何か違いがあるのでしょうか?
openとputと2度記述しなければならない分前者の方が面倒な気がします 意味が分からん…やりたい事がファイルに一行書き込みだけならそーっすねとしか >>607
fopenやfputはUWSC上でファイルの中を書き換えるのに使う
doscmdはコマンドプロンプトのコマンドを実行する
コマンドプロンプトではファイルの中を書き換えることはできない >>609
コマンドプロンプトでファイルの中身書き換えられないとか面白いこと言うね
まあリダイレクトで出来る事は限られているのは確かだけどさ 使いこなせるようになると自然と分かる
質問内容で習得度合いも分かる
自分の用途に合った方法で好きに使え しかし行と列を指定しての読み書きってかなりユニークな仕様じゃないかな
もちろんコマンドECHOでは逆立ちしてもできない技ではあるんだけど
文字単位でSEEKして読み書きとかできたら面白かったかな >>607
一般論だが、FOPEN を使うと、ファイルへの
アクセスが成功したか失敗したかが判る。
例えば不正なファイル名とか書き込み禁止とか
echo だと書き込める文字種文字数に制限がある。
echo だけで足りると思っているなら echo だけ
使っておけばよい。ツールなんだから。 メモ帳上だと正常に機能するけど、動かしたいソフト上だと特定のキーだけ受け付けないんだけどなにかわかるかな?
動かしたいソフト上でも記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時にその特定のキーが無視されちゃう
ハードを変えると今度は受け付けないキーが変わる
全く起動しないとか、動作しないならわかるけど、一部のキーだけ無視されるというのがよくわからなくって ソフトウェアのシリアル番号をブルートフォースで入力するスクリプトを組んでみた
ちなみにUWSCのシリアルで試したら量産できてその中にEXEを作れるものがいくつか・・・
いやいや、妄想はここまでにしておこう >>615
「動かしたいソフト」がどうやってキー入力を
受けているかによるので「動かしたいソフト」
の開発者じゃないと真の原因は判らない、が、
こんなん↓試してみる価値はあるかも
// キーを長めに(0.2秒)押してみる
KBD(VK_1,DOWN)
KBD(VK_1,UP,200)
// SCKEY() でやってみる
// ID は動かしたいソフトの ID
SCKEY(ID,VK_1)
// SENDMSG() でやってみる
// ID は動かしたいソフトの ID
SENDSTR(ID,"1")
// クリップボードからペーストしてみる
SENDSTR(0,"1")
KBD(VK_CTRL,DOWN)
KBD(VK_V,CLICK)
KBD(VK_CTRL,UP) >>616
**UW75****WUWU***に総当たりで突っ込めばイケるよw >>618
返信ありがとう
一日色々試してみたけど、KBD_DOWN/UPの関数がうまく機能していないっぽい
メモ帳上でAキーを5秒くらい長押しで記録すると、以下みたいなソースができちゃう
KBD(VK_A,DOWN,341) KBD(VK_A,DOWN,511) KBD(VK_A,DOWN,32) KBD(VK_A,DOWN,16)
KBD(VK_A,DOWN,31) 〜〜〜〜 KBD(VK_A,CLICK,31)
いろんなサイトを見ると、普通Aボタン長押しの場合KBD(VK_A,DOWN) KBD(VK_A,UP,5000)
の二行で5秒長押しを再現できるみたいだけど、このコードを打ち込んでもA一文字しか入力できない
(自分の記録で出た長いソースではしっかり動作が再現してAAAAAAAAAとなる。)
以下の知恵袋の人も同じようなコードを貼ってるけど、日付が2019年だし最新のverだとこうなるんだろうか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12213928437
動作環境はwin10だけど、複数PCで試しても全部同じだし細かな環境は関係なさそう
win8以下は持ってないから試せてないけど For i = 1 to 100
KBD(VK_A,CLICK)
NEXT >>620
KBD(VK_A,DOWN)
KBD(VK_A,UP,5000)
で a は 1文字しか入らないね。
これはキーリピートが効かないという現象で、元々の
問題(キー入力が効かない)と同じかどうか分からない。
Win10 では MMV がうまく機能しないことはある。
マウスカーソルが動かないのではなくて、マウスカーソル
移動のイベントがアプリに伝わらないような現象。
この対策として BTN(RIGHT,CLICK) などで無理やり
イベントを起こすと動かせることがある。
もし似たような現象なら、
KBD(VK_A,DOWN)
BTN(LEFT,CLICK)
KBD(VK_A,UP,5000)
とかを元々のアプリで試してみる価値はあるかもしれない。
CLICK する場所も色々変えて試してみて。 >>620
KBD(VK_A,DOWN) KBD(VK_A,UP,5000)で一度しか入力されないのはUWSCの仕様
長押しで連続入力を再現する仕様ではない
連続入力したいならFOR文で指定回数回せばよいだけ 記録時もキーの長押しは単押し関数の連続で記述されてるよな >>620
実は長押しとリピートって別物なんだ
自分で書きたいなら >>623さんの言う通りFORやWHILEで連打したほうがいいよー
--- 以下読まなくてOK ---
実際のキーボードで長押しすると、Windowsのメッセジキューが勝手にまとめて「リピート」ってフラグを立てる。
一方UWSCでKBD(VK_A,DOWN) KBD(VK_A,UP,5000)ってすると DOWNとUP一個だけキューに入る。
不便と思うかもしれないけど、リピートフラグの解釈が環境・ソフトによって異なるし
細かいオプションつけすぎると煩雑になるから、UWSCの実装いいと思うよー
(メッセージキューちゃんと調べたわけじゃないから、変なこと言ってたら教えてね) 願わくばCTRL+AやALT+Aを1関数で実現してほしかったな >>626
そういうのは mylib.uws とかに自分の関数を作り溜めておけばよい
キ叩いてから待ちを入れたい場合も少なくないので、俺の場合は
↓こんな感じ (RESULT 要らないけど統一感で)
//-----------
// ALT + KEY
//-----------
function alt_(key,wt=0)
KBD(VK_ALT, DOWN, 40)
KBD(key, CLICK, 40)
KBD(VK_ALT, UP, 40)
if wt then SLEEP(wt)
RESULT = 0
fend >>621-625
ありがとう!仕様なのか、環境の問題じゃなくてよかった
AとかBの通常キーは物理的に押しっぱの状態でも内部的には連打しているのと同じような処理ってことね
動かすソフトによっては矢印キーは有効だったり、色々試してみないといかんね >>626
1行で書きたいだけなら
SCKEY(0,VK_CTRL,VK_V) >>629
すごいな、あなた
一体、何者ですか??? >>627
40という時間は何のために必要ですか?
また40という値が妥当と思われる根拠は?
「おまじない」とかいうのは無しでw Janeはこれで問題ない
SCKEY( 0, VK_SHIFT, VK_RETURN) //書き込み
SLEEP(5.0)
KBD(VK_ALT,CLICK) //スレッド閉じる(削除)
KBD(VK_T,CLICK)
KBD(VK_D,CLICK) SCKEYはそれ自体に若干ウエイトがあるように感じる
KBD3つの処理のほうが速い
SLEEP入れるからそれでも問題ない
なんなら4.9秒とか4.8秒とかにすればいい KBD(VK_CTRL, DOWN,200) //貼り付け先準備待ちのウェイトがあるほうがいい
KBD(VK_V, CLICK) //VK_Vに待ち時間は要らない
KBD(VK_CTRL, UP,20) //20で十分、0は不安定要素アリ >>637
不安定要素が不確定要素であることが理由ですね
よくわかりました
ありがとうございました clickや画像判定vs色判定にも言えるけど
自分で細かく書かないと遅い上に動かないこと多いんだよな >>631
40 というマジックナンバーのサンプルを書いたのは俺で、
既に別人 >>637 さんがフォローしてくれているが、
キーの操作順序として適度の待ちは入れた方が確実だろう
というのと、あまりに長い待ちは処理を無駄に遅くして
しまうという観点で、人間が最速でキー操作できるかでき
ないか程度ことで全部40msとした。
もっと少なくしても自分が使うアプリが確実に動作するな
ら、もちろん減らしてもかまわないが、40 を 20 に減ら
しても速度アップの実感は軽微だろう。
逆に Ctrl+C などは、キーを叩いてからコピーバッファに
入るまでに時間がかかるので操作後の待ちが必須。
>>627 の例を使えば ctrl_(VK_C,0.3) のように後の待ち
まで1行で書けるので、これが便利なのです。 bmpの画像判定が上手くいかねぇ!なぜだ!と
結構悩んでたけど、実はボタンを選択してるの破線が入ってる画像と
キャプってる時の選択外の白抜きの画像が合ってないだけだったという
この手の微妙に画像が違うから判定されないミスは非常におおいな・・・orz
やっとsfc/scannowの 再試行ボタンおさないといけない地獄から解放された
ビバUWSC 同じ範囲囲ってるのに判定されない一見同じ画像とか、
レタッチとかペイント系のツールで差分抽出してみたりして遊んでるわ。 凝ったページとかでボタンの色がグラデーションしてるのは一番やっかい 色での認識が難しい場合はボタンの座標を計算してクリックさせる 点滅とかアニメーションされるとしんどいな画像検索は うちはブラウザゲームの周回用に画像検索してるけどたしかに点滅とかは無理
どうにかして固定になってる部分を見つけて、それで上手くやれてる ブラウザゲームなら画像検索使わずDOMで要素が存在するか判定したほうが楽では ほー
Flashなんだけどどうやって判定するのかな?ニッコリ そーいうこと
変な提案をした意味がなかったというオチでしたとさ
チャンチャン♪ まだFlashゲームなんて存在するのかよ
動かなくなってるだろ 海外のゲームではFlashがまだ健在
そしてFlashが動く方法はいくらでもあるからなぁ
Flashのスレに詳しく書かれてるからここには書かんが
それにしても「〜だろ」と言ってる人って自分が頭悪いと思わないのかな?世の中には知らないことがたくさんあるんだから「だろ」と安易に決めつけなさんな 「だろ」って決めつけではないやろ
動かない方向にあるのは事実だし 点滅と言っても、人間の目でそう見えてるだけなんで、分解すれば何枚かの絵
その複数の絵として(ry
めんどいけど、そうやって判定させる方法を使ったりする 負けたくなくて言葉のアラ探しをしても無駄だからな
Flashのことが頭になくて無意味な提案をしてしまった彼の程度が知れてよかったですよ!
>>654
Ctrl + Wでスレを閉じてどうぞ。グッバイ >>653
イヤそこは絶対
「だろ」って決めつけではない「だろ」
って言うべき場面ダロ! 勝った負けたとかしょーもない事で必死すぎるだろ
どんだけイライラしてるんだよ沸点低すぎて草生える flash使ってるやつがゴミだということがわかってよかった ocrで読み取りしてる人いる?
MOD2TIFConverter.exeをインストールしてもmodiを用いた読み取りがあるプログラム実行したら「クラス名が無効」とでる
ちなみに使用しているofficeは365 どうしてもOffice使いたいの?
Officeかつ365縛りだとOneNoteにしかOCR機能らしいけど…今時OCRなんて色々あるよね これ、keytokeyみたいに、画像の評価みたいなのできて、大体で認識することってできないの?
100%一致とかじゃなくて、40%〜50%認識でtrue返す みたいな
keytokeyはアクションマクロで組みやすいんだけど、ほぼバグだらけで正直全く使い物にならない
3秒スリープにしてるのに、なぜかそれ飛ばして次のコマンドいったり
押す設定にしてるのに押さなかったり
命令通りに動いてくれないからゴミも同然でうんざり
組みやすくて正常に動くやつってないもんかね あのさ、keytokeyもuwscも自動マクロツールってなんでこんなにバグばっかりなの?
2500ms押すって書いてるのになんで押さないんだよw
なんで命令通りに動いてくれないんだw
まともなのないのかよw ヘルプ読め
2500ms押すなんてどこから出てきた 初心者のバグが1番信用ないよな
新入社員がエクセルを変な操作して消して特に何もしてない、バグかな?とか言うけど、ユーザーが100万以上いるエクセルでそんなバグ起こってたら祭りになってるての
パグみたいな知能しやがって >>669
プログラムは書いた通りに動いてるだけ
意図した動きになってないなら、書き方が間違ってる
これは真理 >>667,669
画像のあいまい検索(テンプレートマッチング)は >>668さんの言う通りchkimgx使えばできる
自分で書くならopenCV使えば簡単
長押しについては >>625
自分でドライバから作り込めば、完璧に物理デバイスと同じ動きするよ
>>639,641
chkimgx使おう 類似度をログ出力するようにすると便利だよ >>656
そうはいっても点滅とかアニメーションはその一瞬だけをとらえるのはウェイトなしで画像検索してもほぼうまくいかないからな まあそもそも大抵のブラゲはそこまでランダムな要素ないんだけどな >>677
点滅の画像を分解して何枚かの絵を取り出す
指定した座標範囲でその絵を全て検索
一致したらそのボタンを押す(点滅画像の一瞬の画像として必ず一致するので一致するまでループ)
chkimgxを使えば複数のテンプレート画像とマッチング判定させることが可能なので容易 点滅というか今はアニメーションでしょ
チカチカ切り替わるような表現なんて
さすがに今どきのゲームは無いんじゃないの
アニメーションをすると言っても
文字とか大枠の部分は変わらないから
その部分の色に注目して判定させれば通る そういう時はボタンを認識するのを諦めて、ボタンを押した結果を認識するのが手っ取り早い 画面が変わる前に無闇にクリックしたら別の動作指示になる場合もあるから
とりあえず押すというのは出来ない事もあるよ 派手なゲームじゃないならそんなのもあるにはある
頼まれれば作る程度でゲーム用途ではあまり使わない ボタン自体が色々変わってもボタンの背景とかその場面特有の場所を判定しても良い。 >>685
ボタンが隠す部分の背景をchimgして、falseならボタンありというのもありかも >>676
chkimgx自体がopenCV使ってる アフターバーナーでマウス移動は出来るんだけどクリックが通じない
理由わかる人おしえてください あーあ、遂に ie でgmail操作するマクロが動かなくなった。 chkimgxはmouseorgの状態によって画像のY座標がタイトルバーの分だけズレるのか DIRECT指定だと枠込みの座標になるね
クリックする範囲が狭くなければ気にするような影響は無いけど uwscから使えるOCRないかなーって調べてて
ググってすぐ出てくるMODI.documentってのが手にはいらない
どうしようかと探してたところ Capture2Text てフリーソフト見つけて
これがコマンドラインから使えてなかなか良いかんじ
試してないけど日本語も使えるっぽい
とりあえずマウスカーソル周辺をキャプチャしてOCRかませるってスクリプトを組んでみた
便利そう Microsoft Office Document Imaging (MODI)
MDI to TIFF File Converter をダウンロードしてインストール
https://www.microsoft.com/en-us/download/details.aspx?id=30328 >>693
そうそれ
入れてみたんだけどOLEが有効にならないんだよね
ベースに新しいofficeも無いとダメなのかなとか思ったんだけど >>695
Office 2007だよね?それにはそもそも含まれてるらしい
Office 2007がない場合に>>693のを入れると個別にMODIを入れられると読んだのだけど それを呼び出す機能が新しめのOfficeにはない
OneNoteに限定的にあるらしいけど多分使えないだろうね >>697
じゃあなんにしても「ある程度古い」Officeが必要ってことか
まあ新しいOfficeもないので自分には無縁ということだね
上記のフリーソフトで精度はわからんけどさしあたり十分そうなので結果オーライではある >>698
昔試したことあるけど、認識率糞悪くて使い物にならなかった bmpのパスを渡して画像の幅高さを取得する関数は作ってる人がいたけどpngは無かったので自作するしかないか
同じようにヘッダに幅高さのデータはあるよね >>700
chkimgxにimagesize()って関数が用意されてる >>699
まじかー日本語で?英数字も?
今の所標準的フォントの数字で試した限りでとりあえず問題なかった >>702
日本語は全然だめだった
英数字でも記号が入るとエラーで、アルファベットだけ切り取るとなんとか認識
数字しかないとかあらかじめわかってるなら、使えるかもしれない >>703
そっかーちょっと用途広げると厳しいのかもね
サンクス >>701
こんなものがあったか
ドキュメントと言うか中身をよく読まないとダメだね
認識画像の範囲内をランダムクリックしたかったから助かったわ Automate Desktopを触ってみたらアクション一覧にMODI OCRがあったけど
これもオフィス2007入れてないとエラー吐くだけみたいだね…
しかし初めて触った俺でもほんの数分でショートカットキーで動く
OCRツール作れちゃったし、最近のマクロ…じゃなくてRPAって言うのか?すげーな >>702
あ、日本語がちょっと足りなかった
認識率悪かったのはmodiのほうね VB6のランタイムを入れれば動くとか簡単ならいいな capture2textも日本語はあんまり得意じゃないけどね Pro版のライセンス欲しいが、ヤフオクで買うのはちょっと、、
どうせ買うなら作者にお金が渡ってほしいし、でもPro版使いたいしで葛藤してる。。 ヤフオクのは作者じゃないんだから違うライセンス番号なんて作れる訳ないから全て一緒の番号でしょ。
この売ってる奴は人間のカスだな ライセンス番号を作る方法はある
**UW75****WUWU***に数字突っ込んで使えるか確かめて行けば何個かは見つかるだろう pro版に欲しい機能ないしなあ
今更欲しがる人ってなんなんだろう
マクロ記録が欲しいのかな? EXE化させる機能は業務で使うには必要なんだろうと 作者の口座は公開してたけど今どうなってるんだろうね >>712
何らかの罪に問えるのかな?
もしそれが可能ならそこから警察に動いて貰って本人や親族に連絡行かないかな >>718
サイトが閉鎖されてるし
メールを送っても音沙汰無いからねぇ
作者死亡説が妥当だと考えている >>719
著作権法違反
<技術的保護手段回避装置等の製造等を行った者>
技術的保護手段の回避を行うことを専らその機能とする装置若しくは技術的保護手段の回避を行うことを専らその機能とするプログラムの複製物を公衆に譲渡し、若しくは貸与し、公衆への譲渡若しくは貸与の目的をもつて製造し、輸入し、若しくは所持し、若しくは公衆の使用に供し、又は当該プログラムを公衆送信し、若しくは送信可能化した者(120条の2第1号)
1年以下の懲役 100万円以下の罰金 非親告罪 >>714
その総当たり戦をUWSCで出来るようにしたら
スクリプトのいい勉強になるな >>714
どんなつもりか分からないがヒント与えて気分いいのか?
お前が作った物でやれよ ヤフオクで売ってる奴もライセンスのヒント与えてる奴もクソって事だよ。
前はココってクソな質問は完全スルーだったけど最近は変な方向になったね ヒントをもとにググってみたらライセンスを自動生成するKeygenなるものが見つかった
ヤフオクで売ってる人はこれを使ってるんだろうね >>725
ゲームのbotの質問に答える奴が増えたからな >>727
ゲームの話が堂々と出来るようになったのはグラブルあたりからだな。
2014年10月ごろのファイルが出て来た。 サイコロふって、
1回目に1がでたら5を入力、かつ2回目に2がでたら6を入力、3がでたら9、かつ3回目に2がでたら4
1回目に2がでたら6、かつ2回目に2がでたら4、3がでたら7…
みたいに、状況によって変わる時って、いい処理方法ない?
条件分肢多すぎてifだと凄まじい数になるし、
例えば将棋とかの最善手を導く処理ってどうやってるの? >>729
何らかの計算式があるんじゃなきゃ、多次元配列を自分で埋めて処理 ランダムに処理させるって事?
それならずっと前にココかどこかに書いてくれた人いたけど違うのかな ん?なんでランダム?
何回サイコロふるのか知らんけど、仮に三回までなら三次元の配列作って処理するってこと >>729
何回目に何が出たら何を入力するというのが決まってるならデータファイルに書いて読み込ませて処理する めんどくせえから1回目1なら 1
2回目2なら 20、2回目3なら 30、って表現して
かつ、の場合は20 + 1= 21とか30+1=31ってすればいいんじゃ無いの?
if dice = 1
return 5
elseif dice = 21
return 6
elseif dice = 31
return 9
eliseif dice = 231 //1回目1、かつ2回目3、かつ3回目2
return 4 ifでやるの無理あるという話からif進めるんかい
とはいえ既出だけど最適解を数式化できないならifなりswitchなり頑張るか人工知能や機械学習が必要になる
サイコロの例はn回振った時の合計を何に近づけるといったロジック化出来そうな気もするが 処理の全貌が分からない回答者がアルゴリズムなんか考えても仕方ない
全貌を明らかにした仕様書を作るかてめーでアルゴリズム考えろと言いたい AI的なロジックってどう組むのって言う例え話になんでそんなカリカリしてんだ >>729の処理そのままならこんな感じだとif無し
https://pastebin.pl/view/raw/d4bc54de
定義部分はcsv作って読むとか答え部分は関数名にしてevalとか応用も
>>738
AI的かどうかは729のレスからじゃ分からんな >>739
あ、コレだと目が1と2だけだった適宜読みかえてください
random(3)+1 が意図したもの AIってなら、サイコロの出目の履歴によって行うことを計算式で評価するようにしなきゃだよな >>739
状況によって変わるとか将棋なんかの最善手〜って言ってるんだからそういったゲームのAIってどう組むのって話しじゃん?
まあ本人でもないので別にそこに拘泥する気は無いが
サイコロの例は正直に言えば提示条件のパターンが少なすぎるのと目に対応する数値の評価(良し悪し)が不明瞭でなんとも言えないが…TRPGの自動探索とかと考えるとちょっと面白いお題なのかもしれない
まあ、uwscでステートマシンとかルールエンジン組みたくないけど出来なくはない、かも? >>742
>将棋なんかの最善手
そうな
上のでいえば定義パターンを動的に書き換える機構組み込んだらそれっぽくなるかもね 705名無しさん@お腹いっぱい。 (ワッチョイ 435e-Epcz)2020/06/18(木) 03:27:53.28ID:PnKZM4Ny0
ほらよ感謝しろ
UWSC pro
68UW752980WUWU147 UWSCのマウスクリックを受け付けないこれどういう事?
記録しようとしてもナニもなかったように無視されますわ >>746
え!まじですか…
マウス動作をもっと低レベルでエミュレートするアプリないの? そういうもんじゃないぞ
なぜ無視されるかは分からん >>747
なんのアプリの操作を記録してだめだったんだ?
メモ帳は試したか? >>749
MSIアフターバーナーは全てのマウス操作がダメ
マウスを絶対座標決め打ちでクリックしても無視
メモ帳・ブラウザーは問題なく動作させてる >>751
キーボードショートカットとか別のアプローチを考えるしかないね ついでにABは
ACWでウィンドウ移動が出来ない…でもABをアクティブ(最前列)には出来る 軽くググったら以下のような記述を見つけた
オンスクリーンディスプレイはRivaTunerというソフトによって実現されていますが
これはDirect3Dに割り込んで表示を実現しています。
OSD切るとか描画方法変えられないかね >>757
それはゲーム画面上に現在のGPU情報を表示する為の仕組みみたい
今回の問題とは違うかも? MSIアフターバーナーっていう
3Dシューティングゲームが有るのかと思ってしまったじゃないか
期待して損した UWSC から USB シリアル信号を受けて USB マウス/USB キーボード信号をエミュレートして返すハードを作ったら需要があるかな 野良ドライバは作れないしアプリ階層では無視されるのならば
より低位層からコントロールするしかなくなる
マクロキーボード・マウスからのマクロが有効ならそれ乗っ取るのもアリではあるけど APEXなんかはUEFIからロードするチートツールとかあったよね。 クリップボードにコピペした文章の改行コードを削除する方法ってある?
>762だと
「ば」と「よ」、「る」と「マ」の間をつなげて1行文にしたい replaceで改行コードを置換すればいい
UWSCで改行コードは<#CR> >>764 より具体的に書くと
SENDSTR(0,REPLACE(GETSTR(0),"<#CR>","")) できたわ
<#CR> は知ってて一度やってみてもうまくいかなかったので
\nとかいろいろ周り道してた
#か<を全角で記述してたかもしれない ちなみに、できる前はWEBブラウザのURL欄に貼り付けてから再コピペして代用してた >>768
一度やってうまくいかなかった理由は何だった? >>758
まだ見てる?
操作したいプログラムを管理者権限で起動してみるとうまく行くかもよ いつ使えなくなるやらと不安抱えていたところに
Power Automate Desktop使ってみたらかなり良かった
uwsc使えてるやつなら簡単過ぎて死んじゃうビクンビクンってなる
uwscで出来ることは出来るしそれ以上のことが出来る
ただ起動や修正を繰り返す使い方の場合はuwscのほうがフットワーク軽い
併用していくわ >uwscで出来ることは出来るしそれ以上のことが出来る
ほんとに〜?って思ったら直後で否定してんじゃねえか
実際のとこ比較してどうなんよ Power Automate Desktopって画像検索やWebDriverも使えるの? UWSCRに期待してるんだがイマイチ先が見えてこないな
1人で開発だから仕方ないがもう少し盛り上がってほしい
CAMPFIREの文句書いてるけど、開発開始当初ここで作者のメンタル面を懸念材料にしてる人いたの思い出した ヤル人はどんな障害があってもヤルし
途中で投げる人は投げるよ 仕方ないw >>779
Webページからデータ取得もできるんだ良いね
ちょっと触ってみるわ UWSCでもWEBページからのデータ抽出は出来なくはない
めんどいけど @質問です!
UWSCで自動化の試行錯誤をしている初心者です。
UWSCを実行中に、その実行している関数など、
「.uws」の中身をリアルタイムに表示したいのです!
自分の力ではどうにもならないので、ご教示ください。
Aやりたいことのイメージ
イメージとしては、ニコニコ動画のコメントです。
動画に再生時間に合わせて流れるコメント。
「再生時間」を実行中の「.uws」
「コメント」は実行中の「.uws」の中身をリアルタイムに表示
このようなイメージを考えています。
B考えてみた部分(素人考え)
そこで利用できそうな関数を調べてみました。
1.FGET関数で「.uws」ファイルを読み込む。
2.COPY関数で実行中の「.uws」の中身をコピーする。
3.FUKIDASI関数を使うことで、「.uws」の中身を表示する。
関数を調べて見ても、私ではこれぐらいの考えしか出来ません。
どう組み合わせればいいのか?足りない関数は何なのか?
そのような思考の元、たどりついたのが、このスレでした。
Cまとめ
UWSCの関数を検索してみて使えそう!と思っては見ても、
実際にどうやって利用すれば良いのか分かりません。
GETID関数やKBD関数にSLEEP関数といった関数は、
検索して調べながら使えているのですが、
複数の関数を組み合わせる応用が今はうまく出来ません。
そこで私のような初心者ではなく、
UWSCに造詣が深い、このスレの方々に質問させていただきました。
ここまで長い文章を読んでくださりありがとうございます!
ついでといってはなんですが、回答をいただけると幸いです。 消えろとか書いてるガイジは人口減らして何が目的なんだよ、村目的ならそっちこそ去れっての ここは5chなんだ
誰が何を書きなぐってもいいんだ >>786
長々と書いてるけれども
結局は単純にデバッグしたいというワケ?
無料:コードの必要箇所にFUKIDASIやPRINTを入れまくれば?
有料:Pro版ならステップ実行も出来るらしい 「UWSC タイマー」辺りをキーワードとしてググれば
参考になりそうなスクリプトが見つかるかも 下手ではないんだけど掲示板には絶望的に向いてない文章だなw >>786
規模が大きいプログラムは、全部を一気に作ろうとしないで、出来るところから少しずつ作っていくんだよ
処理を部品に分けて一つずつ作って行く
出来たら合わせれば完成 正直今実行してるところのコードを全部表示する必要はないでしょ 肝心の質問が何なのかよく分からんけど、丸ごと代わりに考えてくれ系なら親切な人そのうち来るかもしれないから永遠に待ってみたらいい
どっちかってもっと具体的に実現したいピンポイントな所を聞けば即答も付きそうなもんだけど >>786
自力でデバッガやリフレクションの発想にいきついたのかな?センスあるね!
こういう事がやりたいんじゃないかなーと予想してみる
https://i.imgur.com/OOGvI5P.png
https://pastebin.com/raw/mAHa775n
・もっと便利にデバッグしたいなら、>>790さんの通り有料版使うのがいいんじゃないかな
(ただし作者さんが他界されたようなので、既に有料版は購入不可)
・Debug.Print()を仕込むのが面倒だけど、
UWSCには『リフレクション』と呼ばれる機能が無いので他に方法無い・・・と思う pastebinの都合でまとめちゃったけど
・本体
・メモ帳を扱う部分
・デバッグ用の部分
それぞれ別クラス別ファイルにしておくと、使い回しやすい+全体表示しやすいんじゃなかろうか Pro版はしらんが、free版に現在実行中のソース行を検知する機能はないはずだから、手動で
ちまちまprintなりfukidasi入れていくしかないわな 正規表現使った置換をすれば一瞬で全行にprint入れられるぞ
勢い凄まじくて読めなくなりそうだけどw やりたいのは表示させることだけなのか、あるいは表示させることで何か(デバッグ等)を達成したのかわからん コメントについてはスクリプト本体に埋め込むよりも
字幕ファイル(拡張子.srt)を別に作って読み込ませたほうが
簡単でスッキリしそうな気がする >>799
そうかインタプリタなんだから実行する.uwsに手を加えるuws書けばいいのか
頭硬かった!
帰ったら書いてみるわ OPTION SPECIALCHAR
tempf = "C:\tempf.UWS"
DOSCMD("echo //実行用 > " + tempf)//実行用を作成
ID = FOPEN(GET_UWSC_NAME,F_READ or F_WRITE)
ID2 = FOPEN(tempf,F_READ or F_WRITE)
For i = 21 to FGET(ID, F_LINECOUNT)
FPUT(ID2, FGET(ID,i))//i行目を実行用ファイルに書き込み
str=REPLACE(FGET(ID,i), "<#DBL>","<#D"+"BL>")//置換
FPUT(ID2,"FUKIDASI(<#DBL>"+str+"<#DBL>,100,100,0,40)" )//ふきだし用
//FPUT(ID2, "print <#DBL>"+str+"<#DBL>")//print用
next
FCLOSE(ID)
FCLOSE(ID2)
DOSCMD(tempf,false)//実行
DOSCMD("del " + tempf)//削除
EXIT
//この下にコードを置いてね。1行ごとにふきだしを挟んだファイルを作ってからそれを実行するよ
802が書いてくれるそうだけど帰ってこないから作った。うーん実用的とは思えん
ニコニコみたいにしたかったけどふきだしって秒数指定とかできないからsleepでも使わないとすぐ消えちゃうのね 適当なテキストエディタに元ソース貼って一行実行毎に選択行ずらしてけばデバッガっぽい見た目になりそうね 回答感謝!
掲示板に向いていない文章に気をつける(文章を短くする)ので今後もご教示ください!
>790
YES!感謝!
>791
感謝!
>793
感謝!
>795
感謝!もっと具体的に記入します。
>796
YES!感謝!そうです。私がしたいことは、この「デバッガ」というものです!
やりたいことのイメージとしてはかなり近いです。伝わって嬉しいです。
//のコメント(実行している部分がわかりやすいため)も含めて、
「.uws」の中身を全て表示(ニコニコ動画の右側のコメント欄)のイメージです。
そこから実行している部分の関数を分かるように表示
(色や太字や別の部分に吹き出したり)するイメージを考えていました。
しかし複雑なイメージだとうまく伝わらないという不安があり、
簡略化したイメージをお伝えしました。改めて感謝!
>797
感謝!別クラス別ファイルについて調べてみます!
>803
感謝!初心者の私が思いついたのがFUKIDASI関数だっただけなので、
この関数でなければ駄目というわけではないです。
先程の>796と組み合わせることで素晴らしくイメージに近づいています。
改めて感謝を!
ここからは何故質問しようと思ったのか記入します。 @私のUWSCのやり方(もっと効率の良いやり方があればご教示ください)
1.編集した「.uws」を実行して修正する部分を確認
2.「.uws」を開いて該当する部分を予想して修正する
3.再び「.uws」を実行して成功しているか確認
「.uws」の中身が増えて確認作業に時間がかかる場合は録画して確認
4.成功したら次の関数を追加して1.に戻る
この繰り返しで作業しています。
AこのようなUWSCのやり方をする理由
1.については、一度修正しても、中身が増えるとまた修正が必要になることも
また、一度では確認できず何度も実行することもある。そして、
同じ「.uws」を実行しても複数回繰り返すと修正点が見つかることも(SLEEP関数など)
3.については、「.uws」の中身が増えると修正する部分を確認するのに時間がかかります。
時間が長いと修正する部分を見逃してしまうことが発生します。そのため録画をしています。
B私のやり方で感じた問題点
・目で見て修正する部分を確認する時間が多くかかる。
・「.uws」の中身が増えるとさらに時間がかかる。
・複数回繰り返すと修正点が見つかることも(SLEEP関数など)
・「.uws」が長いと、どの関数を実行しているのかわからなくなる時も
・関数に詳しくないので、どの関数に修正が必要かわからなくなる時も どの関数を実行してるか分からないなら、実行する前に
MSGBOX("A関数始動")
と表示させる
終了したら
MSGBOX("A関数終了")
と表示させる
単純に一時停止なら
MSGBOX("STOP")
とする >>805
「したいこと」としては正しくは「デバッグ」だな
デバッガはデバッグするための方法とかツールとかを指すことになる
検索するとしたら「UWSC デバッグ」の方が良いと思う
が、このスレでの回答が既に結構充実してるな Cこの問題点を解決する方法を考案
その一、録画をする。手間はかかるがどの部分に修正が必要かの確認が容易。
リアルタイムでは見逃してしまう場合や複数回実行して修正点を探す時にも役立つ
その二、今回の質問でもある「.uws」の中身をリアルタイムに表示したいのです!
録画する場合も「.uws」が長いと(PutkeyとSLEEPなど)今が「.uws」の
中身のどの部分を実行しているのかが不明瞭になる問題があります。
そんなときに、実行している「.uws」の中身をリアルタイムに表示
することで録画からピンポイントで修正するべき部分を確認できると思いました。
さらに、これまでは、一つずつ関数を修正してきましたが
(修正するポイントを断定できず予想しながら修正していたため)
その問題も、実行した「.uws」の中身を表示している状態を録画することで、
一度に複数の修正する部分を断定して修正することが出来るようになると考えました。
修正する部分を断定することができるだけでも時間短縮になりますが、
一度に複数の修正が可能になるという部分も魅力的だと考えました。
Dまとめ
何故質問しようと思ったのか具体的に記入しました!
初心者のため、理解の及ばない部分や誤解している部分があるかと思います。
そのために非効率的な考え方ややり方をしている部分もあるかと思いますので、
そういった改善点も指摘していただけることで今よりも出来ることが増えます。
ここまで長くなりました(文章を短くできませんでした)が、
ご覧くださりありがとうございます!
やはり、UWSCに造詣が深い、このスレの方々に質問してよかったと思いました。
ついでといってはなんですが、
もっとこうしたほうがいいよ!といったアドバイスなどいただけると幸いです。
5chの規制に当てはまってしまったので、返信は難しいです。 どうみても発達障害で草
まあ一人で頑張ってください デバッグなんて今処理してる部分と変数をprintするだけで十分だわ 問題点も不明なまま闇雲にログを見た所で
何の役に立つんだってのが一番最初に来る 講談社のやきう漫画でこんな感じのおかしい1年坊主いたな >>786で
>複数の関数を組み合わせる応用が今はうまく出来ません。
あの長文レスとは裏腹になるべく少ない行数でスクリプト書こうとしてるんかな?
A関数の引数にB関数を指定、そのB関数の引数にC関数を…とかして訳分からなくなるパターン? >>803
おおーお見事
似非デバッガっぽくしたかったけど、ファイル選択ダイアログがうまく動かなくて
三分考えて寝ちゃった! >>805,806,809
UWSCで何したいのかと、実際のコードはっつけてくれるとアドバイスしやすいかも
『GUI(ゲーム等)の長時間・複雑な自動化のために、デバッグ手法を知りたい』 なら
1. >>793さんの通り部品単位で作り、テストし、結合する
(関数化・クラス化・別ファイル化・アーキテクチャとかのお話
大規模なコードを書く際に役立つ)
2. 誤作動時に情報を知りたい部分・部品に、デバッグ出力機能をつけておく
(例えばBTNをデバッグメッセージつきで自前実装して、
テキストエディタでまとめて置換したりね)
3. 誤作動しやすい箇所は、誤作動がおきにくいよう作り込む
(chkimgxなどを利用して、画面遷移を事前・事後確認するとかね)
4. UWSCから、デバッガやデバッグ手法の充実した言語に変える
(PythonやC#等ならより強力にデバッグできる
ただし学習コストが高いので、「今後相当な時間を費やす予定」なら検討してね) printって使いすぎると、どの行のprint文なのかわからんから困るんだよな
変数を出力したところで変数なんだから複数行ある訳じゃん?
エディタ側に、行番号と対応する数字のprint文を自動挿入する仕組みとかあればいいのに
print文と行数がずれると自動修正してくれる機能もほしい >>820
それこそ、>>803の手法でprint行の置換ですかね
ソース行ライン数を追加する すっげえ細かくFunctionやProcedureにして
Function○○ start[なう]
Function○○ end[なう]
を出力するPrint文をもれなく仕込む
出力しないSwitchをグローバル変数として用意しておくとなお良い
Print文、Switch判定を仕込んだProcedure MyCall(Procedure名)を通して
呼ぶように出来ると面倒が減るかもしれないが、試してない デバッグはたいていはmsgboxやprint+sleepで事足りるけど
流れがみたいときはファイルに吐き出す
以前はFPUTを使って書いていて
AddToLogするごとに重くなってしまっていたが
Win32APIを使う方法にしたら軽くなって快適になった
https://pastebin.com/ySY94BxZ https://pastebin.com/0hJFyW0D
スレッド使ったらニコニコ風出来たので満足
FORとか人間に代わって回してくれてる様子が見られるものが作れて面白かったわ >>813
いわゆる PRINT デバッグですな
私も基本は PRINT デバッグなんですけど、
PRINT の代わりに SPEAK() を使うこともある。
画面を見てなくても変な動きが判るので時として便利。 左クリック後にダメモトで右クリックを試してみる価値はあるかも。
>>761 それでもダメな場合、>>760 のようなハードがあると役に立つのではないかと思ってまして モジュールの中と外に同じ名前の変数や関数があるときに
モジュールの中から外の変数や関数にアクセスすることって出来る?ただの好奇心です >>830
callを使って擬似的にできることは可能
あとは自分で試してみてごらん。好奇心が旺盛なら出来るはずだから今すぐにでもやれるでしょう CALLのファイル名に変数が使えないのはなぜ?
仕様といわれればそれまでだが、なぜそんな仕様にしたのだろう >>832
実は事前に読むからか参照リンクした後変えられると困るからでは win7 proの環境ですが
例えば、doscmdでtaskkillを実行すると、動作を停止しましたと表示されるようになりました
WUの影響でしょうか? win7にWindows updateなんかとっくに提供止まってんだろ taskkillすると何が動作を停止したと出てくるのか書かない
まずは他人が分かる文章を書けるようになろう >>826
予めmmvで移動しておく必要があったり
clickじゃなくてbtnのdown/upを個別に使った方が良いケースも多い(特にゲームでは)
mmv+down+upを関数化しておくとめちゃくちゃ便利 >>837
ESUです
>>838
タスクキルが停止します 自分しか理解できない「自分語」は使わない
質問する時の基本 タスクマネージャー開いてプロセスタブからタスクキルすればよいのじゃ
こっちの方がUWSCの使い方としては正しいのじゃよ 条件A、B、Cがあって
A and B
または
A and C
が成立したときに処理@を実行するIF文の上手い買い方ある?
IF入れ子にする以外ない? タスクキルがフリーズするならタスクキルをタスクキルするマクロでタスクキルをタスクキルすればいいのではないだろうか >>846
IF (A AND B) OR (A AND C) Then 処理1 >>840 説教くさくて申し訳ないが
こういう場合の返答の仕方は
「
aaaaというタイトルのポップアップが出て
"bbbb cc ddd eeeee ffffff gg"
というメッセージでした
」
大事なのは、事実をありのままに報告すること
それ以上に大事なのは、自分の言葉をまぎれこませないこと
× UWSCのエラーが出て
× エラーメッセージが出て
× Taskkillがエラーになって
△ なんだかよくわからないけれどメッセージが出て >>850 たしかに
たぶんこんなメッセージが表示されるんじゃないかと想像した
Internet Explorerの部分にTaskkill と書いてあるのではないかと
https://pds.exblog.jp/pds/1/201409/17/30/a0030830_21105363.gif
開発環境が入ってる場合は
https://www.projectgroup.info/tips/Windows/img/comm_0022/capt_001.jpg
なぜそうなるか考えてみると
セキュリティ関連ソフトがプログラムから別プロセスを起動することをブロックしているのではないか
WindoowsUpdateとは限らないが
何らかのセキュリティ関連ソフトのアップデートによる影響としてそういうことはあり得ると思う
だとすればUWSCスクリプトが別プロセスを起動することを許可するようにすれば解決するだろう
メモリが不足していてプログラムが起動できなくても起こり得ると思うが
taskkillが起動できないほど逼迫しているならほかにもいろいろ問題が起こりそうだからたぶん違うだろう Windows7をESUを入れてまで使ってるんだから
企業のPCでさらにその担当をしているんだろうけど、
それでこのレベルの受け答え?っていうのが taskkill手動でやってみてんのかな?
記載が無いところをみるとやってなさげだが テンプレのリンク先等に掲載されてるスクリプトを参考にするといい
拾ってきて、実際に動かして、中身を見て弄って、その上で文法含めてわからない点があれば解説サイトで確認
よくある勘違いやハマりポイントも大抵は解決できる >>854
If a and (b or c)
でもいいよ 同等な処理でも
一番処理速度が速くなる書き方とかあるんだろうな >>856
さらに短くなってるやん
人間超えそうだわ 演算子の結合の優先順位つーのがあってだな
多分ANDがORより強いから
(A AND B) OR (A AND C)なら
A AND B OR A AND C でいいかもしれない <演算式の優先順位>
( ) 優先順位高い
! (論理否定)
*, /, MOD
+, -
>, <, =, >=, <=, <>
AND
OR, XOR 優先順位低い 可読性も担保したいよね。出来ればコメントとか無しに。 >>857
最適化するコンパイラだと大して意味なかったりするけど、これは結構変わると思う まあ例えばa or b or cという条件があるとして、実態としてcが多いならcを先に書くと僅かながら速くなる
論理値なら大差はないが関数なんかの場合は有用なチューニングテクニック…最近はそこまでやんないか?w uwscを使う処理でそんな最適化が必要なケースってある?
uwscを選択する時点でアプローチが間違ってない? >>866
if a and b and chkimg() then
if chkimg() and a and b then
結構変わるかと 関数云々を頭の中で読み飛ばしてたは
重い処理なら全然違うね いろいろ勘違いしてたな
まずデフォルトだと短絡評価しないぽい?
短絡評価を前提として
計算負荷が同等なら発生しやすい条件を前に持ってくる
計算負荷が大きいものがあるならそいつを後ろに持ってきて飛ばした方がよさそう OPTION SHORTCIRCUITは読んで字のごとくオプション扱いだね >>867
間違えてた
if a or b or chkimg() then
if chkimg() or a or b then >>871
短絡評価の要望が掲示板にあったのは記憶にある。
従来互換を考えてオプション扱いにしたんだね。 >>851
おっしゃるとおりです
そして、原因はESETのHIPSでした。除外にプロセスの終了(タスクキル)を登録したら、正常動作するようになりました
的確なアドバイスありがとうございました
>>853
taskkillをcmdから実施したときは、問題なく動作しました
今後、質問するときには検証結果をできるだけ詳細に記載するようにします
>>850
ご指摘ありがとうございます
今後の質問ではそうさせていただきます > マイクロソフト公式の「Web App Bot」
こんなのあるんだな。
今から覚えるならMS公式の方がよさげ。 >>839
ありがとうございます。
コードを書き換えたけど、UP/DOWNで対応ができなかったです。
そもそも、押してる気配すらない状況です。 >>876
UWSCを管理者権限で起動する
ウィンドウ指定してるなら一旦外す
別のマクロツールが動くか反応をみる
あとは知らん UPの待ち時間を2秒くらいにする
待ち時間が短いとCLICKと同じになる >>877
対象が管理権限で起動してたからuwscが弾かれてたっぽい?
プロパティから変更したら、反応するようになった。
こんなことになったの初めてなんだよなぁ。
とんくす UWSCを管理者権限で起動するのは危険だからやめた方がいい。
対象アプリを通常権限に戻すことを考える必要がある。 ちゃんと自分で組む、もしくは内容を理解してるコードの場合はそうだろう。
人から貰ったとか、怪しいところでとか…まぁアンチウィルスが反応するか。 >>880
未知のことに対する不安は分かるよ。
でも想像で人に危険とか言っちゃダメな
なんでも不安なら病気だから診察してごらん。早期発見なら簡単に治るらしいよ >>330
これなんとかならんかな、、、
adbだと反応にラグがあって
btn程の反応速度が必要なんだが・・・ VMでWindows7の環境でも作ってその中で動かすとか
別にVMじゃなくてもいいけど、まあ一応 管理者権限で実行しているのか管理者権限ではなく実行しているのか理解していないまま十余年 >>884
泥エミュだとフレームと中身が分離してることがあったりするけど、IDは合ってるんだよね?
他のツール試した方が良い気がするけど、そこまで速度が必要となると画像認識とかも使ってんのかな… >>888
マウスがエミュに乗ってる時だけ反応するんだよね、速度の要らない作業はadb
IDはあってます、ウィンドウ内にマウスカーソルがあるだけで反応するので
おっしゃる通り画像認識でクリックさせたい
画像認識部分も画像数と範囲も極力絞りまくってるけどどうしてもadbだと反応速度が遅い、、、
裏画面でnox ld memu全部動かなかったから
どうしようもないんだろうなぁ、、
上記で教えてくれたvmでwin7でいくしかないのかな、、
これはもうwin10にはどうしようもないのか、、、 LDPlayerを裏で動かすのはadbだね
どうしても裏で動かしたいならvmでやるしかない
それかもう一台PCを用意してそっちでやるか uwscから逸脱するけどAndroid自動テストツール使う方法もある 最近シンクライアント、画像転送方式が増えてきてIDが取得出来ないからuwscで自動化が厳しくなってるんだが
これから先どうしていけばいいん? >>892
今でも POSACC を使っても歯が立たない所は
CTRL_A + CTRL_C や PEEKCOLOR を使ったりしてまして、
他に良いツールが見つかるまではこの延長線上かなと。 windows11でUWSCが動くかな?
人柱よろしく〜
歴戦の猛者である諸兄らなら躊躇なく試すであろう。そして報告するのだ 11は非公式に流出したのが出回ってるけど、人柱になるきはない たまにUWSCがチェックしてるレイヤーとでもいえばいいのか
それと認識させたい画像が違うレイヤーに存在してて裏で動かないケースあるよね レイヤーというのがウィンドウ ID のことかな?
ことウィンドウを開いたときなど、GETID で
影武者みたいな ID を掴まされてることがある。
これが起きる場合は、その対策として 0.2秒の
SLEEP を入れて 2回 GETID を呼ぶようにしている。
0.2秒は適当に決めた数字なのでもっと短くて
も良いかもしれんが色々試してはいない。
とりあえずこれで対策になっている。
ID = GETID(パラメータ)
IF ID >= 0
SLEEP(0.2)
ID = GETID(パラメータ)
ENDIF そういうわけではなく混在してるというか
ゲームで例えるなら背景は画像認識できるがボタン類は画像認識できないみたいな感じ
MORG_BACKじゃなければボタンの方も認識する ボタンの場所が決まってるなら、どこか一箇所の画像を認識させて相対座標を計算してということをやる Javaスクリプトで書いてあって画像ではないボタンもある >206 自己レス。行数overした。見にくくてスマヌ。
今さらながらに気が付いたので報告。
chromeで動作するけどFirefoxで動作しないや、
バックグラウンドだとダメという人向け、もしかしたら解決するかも?
chromeとFirefoxで実行して(x2,y2)と(x3,y3)値を比較してみてくれ。
chromeでは(x2,y2)=(x3,y3)、firefoxでは違う。 書き込み失敗したorz
なんで?
x1 = G_MOUSE_X; y1 = G_MOUSE_Y
x2 = x1 - STATUS(ID, ST_X); y2 = y1 - STATUS(ID, ST_Y)
x3 = x1 - STATUS(ID, ST_CLX);y3 = y1 - STATUS(ID, ST_CLY)
折角吹き出し表示の奴修正したのに・・・。まぁ、これで書き込めるといいな〜 連投スイマセン。
補足。
x2とx3が異なるとき、uwscのバックグラウンド座標系はクライアント領域になってるので
座標を直接入力する場合はオフセットが必要。
chkimgなどで返す座標でBTNする場合はオフセットの必要なし。
>905 にMouseORG(id,2,MORG_BACK)を適当なところに入れてください。
あと、STATUS(ID, ST_TITLE)の戻り値はたまに間違えます。半角スペース(記号)の連続個数かな〜程度で条件不明。
ID = GETID(GET_FROMPOINT_WIN)
tmp1=STATUS(ID, ST_TITLE)
tmp2=STATUS(ID, ST_CLASS)
ID2 = GETID(tmp1,tmp2) ←-1になることがあります。 連投スイマセン。
補足。
x2とx3が異なるとき、uwscのバックグラウンド座標系はクライアント領域になってるので
座標を直接入力する場合はオフセットが必要。
chkimgなどで返す座標でBTNする場合はオフセットの必要なし。
>905 にMouseORG(id,2,MORG_BACK)を適当なところに入れてください。
あと、STATUS(ID, ST_TITLE)の戻り値はたまに間違えます。半角スペース(記号)の連続個数かな〜程度で条件不明。
ID = GETID(GET_FROMPOINT_WIN)
tmp1=STATUS(ID, ST_TITLE)
tmp2=STATUS(ID, ST_CLASS)
ID2 = GETID(tmp1,tmp2) ←-1になることがあります。 うまくいかないときは GETID を使わず
GETALLWIN でどんな ID が居るのか
全部調べるが吉。
ちなみに ST_CLX ST_CLY は各々のアプリ
が勝手に決めている額縁の幅みたいな値。 どのウィンドウで描画されているか曖昧なら
saveimgで実際に確認してみればいいんじゃないの FireFoxがダメで、ChromeOKの問題は、ウインドウ内のクライアント領域のID値が判れば大抵
解決するんだよね〜。もう、永久に判ることないと思うけど。
とりあえず、自分の問題は解決したのでROMに戻ります。
>908 >額縁の幅みたいな値
ほとんどのソフトはそうなんだけど、ソフトによってはタイトル表示部を除いた全部がクライアント領域だったりする。
>909 >saveimgで実際に確認してみればいいんじゃないの
そう思うし、実際そうしたんだけど・・・それじゃあ上手くいかないんだよ。
UWSC関連で「Chrome OK Firefox NGなんで?」系の質問はググるとそこそこ出てくる。
↓がsavimgかchkimgでFirefoxだと最後がNGだけど、Chromeだと全部OK。なんで?ってのが多いんだよね〜。
で、解決策が常にアクティブ化(最前面に表示)しろ・・・と。
モニタ全画面でsaveimg →OK
座標指定でウインドウsaveimg(背面の見えてる部分) → OK
Mouseorg(2)で↑と同じ部分saveimg → NG(真っ黒か真っ白) ブラウザによって色の扱いが違うから
カラー判定したらうまくいかないことはあると思うよ >>910
それ、モニタに映らない部分を描画してないってことでは? saveimgやchkimgのキャプチャー失敗してるんだろうな
ハードウェアアクセラレーションをオフにしても解決しそう くっそ遅くなるけど ひさびさに仮掲示板のぞいたが、後継UWSCの作者やばいな
「対処お願いします」で激昂とかどんなメンタルなんだ
UWSCRには期待してたが、あれだと先がおもいやられる
umiumiさんは必要最小限しか現れずひょうひょうと掲示板で対応してたのにな あいつは精神障害者でしょ
前の会社でトラブルを起こして解雇されたのが容易に想像できるし
今も無職なのは納得 その書き込みだけだと全く経緯がわからん
急に話題に出して精神異常者とか書いてる方が異常に見える ん?(笑)
あいつは現在無職ですと一年以上前から掲示板に書いてるよ
普通一年以上も仕事が見つからないなんて普通ではないし
あのメンタルから推察して精神障害者であろうと断定してるまで そして本人はここも見てるはず
本人がここ見て海よりも深く反省してまっとうになってくれるなら幸いである 反省させるために精神の病気だと断定して匿名掲示板上に書いてるの?
なんか犯罪性を帯びてきたな
この手の個人に対する中傷は裁判に繋がる時代だと理解しといたほうがいいのでは? i dont careですわ
お節介者のあなたが彼に仕事の面倒とか見てあげたら良いのでは
でなければただの偽善者だ 法に触れる可能性を指摘されて開き直るのは良くないと思うよ
悪いことやって注意され、「お節介者がどうこう」「偽善者がどうこう」なんて言ってる自分の姿を客観視してみてくれ 仮にETxaが裁判沙汰になったとしてさ
+1doに何か困ることがあるわけじゃなかろ
おかしい奴の矯正なんて現実的には無理だよやめときな すまん、>914だが変な流れ作ってしまった
次期UWSCにはすごい期待してて、それだけに作者のセンシティブな受け答えが心配なんだ そんな不安定なメンタルならやめたほうがいいのでは?
無職ならなおさら >>923
だから i dont care と言ったのだ 対処お願いします。は発注者のセリフだ
仕様確認かバグ報告だけにしとけ
気が向いたら確認してくれるし、暇があれば治してもくれる
クレームどころか脅迫見たいな連中が原因で最近も有名なソフトで開発者が離脱したばかりだ 無職じゃ無いだろ
支援者は居るんだからフリーランスのプログラマーだろ
ウミウミさんと同じじゃね
知識も能力もあると思うし、応援してる 雑誌の付録にフリーソフトのCDがついてた時代からフリーソフトが何たるかを知らない連中がいたもんだ >>933
ちゃうわww
ただソフト開発はべらぼうに金かかる事を知ってる仕事や
善意で公開してるのにクレーマーに粘着されてらそらキレる 金か時間をかけてる。ただじゃないし安くもないと思うけどね。 作者は病んでる人多いよ
多分その例の人みたいなのが原因のケースが多いんじゃねーかな よくあるのは批判アレルギー+被害妄想みたいなのだけど、この人の場合はまた違う不安定さを感じる スレで誹謗中傷してる人を確認したわけだから「被害妄想」ではなく「被害」でいいと思う
あんなのに粘着されたらそら気分悪いわ 安い店ほど客層悪いのは商売の常識だからな
商品がタダとなればとんでもない客が来るw アフィとかYouTubeもそうだけど最初は利益なんか無いから心が折れそうになる
軌道に乗ったら億万長者になる可能性あるけど
uwscrも完成させて実績作ったり、シェアウェア版も売ったり、他の案件やったりフリーランスになれば家も建てられるようになるだろ 軌道に乗れなくて心が折れてるから激昂したりしてるのでしょう
まだ無職なのも納得できる話だし
さもありなんだな
死んだ目のままでいいから無理矢理作り笑いをして頑張っていきましょう >>935
趣味で作ってるソフトは金はかからんが、時間が掛かる
その時間を金に換算すれば掛かってるとも言えるが 結局作者に左右されてしまうソフトウェアは駄目だね
UWSCは依存度が高かっただけに影響も大きかったし 個人じゃなければ影響は少ないけど、会社が潰れたら状態は同じだからなぁ。 >>949
そこでオープンソース系だよ
Pythonとか無くなる心配無いだろう まぁ、たしかに。
行き先としては悪くないってところだよね。 Pythonは大げさなんだよな
コンビニに買い物に行くのにガレージのシャッターあけてフェラーリのエンジン暖機して出かけるような感じ UWSCRはオープンソースで開発してるぞ
Rustだから敷居高いけど >>955
ここで反発するのはいいけど人前で同じ誤用するのはやめようね 誤用は普通にいるしむしろ市民権得つつあるけど
そこにツッコむほうが人前ではむしろアレな人 役不足みたいに反対の意味で使ってしまってる誤用は気になるが、他の意味が追加されたのはよくないか
和製英語とかもやたらと突っ込むやつとかいるけど、嫌われるだけだとおもうが 揚げ足を取る事しか考えてない奴に言っても無駄よ
自分のストレス発散してるだけだし >>952
大袈裟か?
使い始める前は多機能すぎると思ってたが使い始めるとむしろシンプル
関数が充実してるからUWSCで複数の関数を駆使して処理したものが
1行で記述出来たりするからコードがシンプルになる むしろ本来の意味でのみ使われてる言葉なんてどれだけ残ってんだ >>961
さすがにこの意見は看過できないな…会話や契約が成り立たないだろう 961は含意はあるけど疑問文なわけで
それに対して「この意見は看過できない」はおかしくね >>963
反語だろ
961は本来の意味でのみ使われてる言葉なんてほとんどないって主張 次期Windowsはieなしか。uwsc使う大きな理由がなくなってしまうな
当面はアップグレードしないで考えるか IEないと役所の公的・業務的アプリがいっせいに対応を迫られそうでムリでしょ とりあえず11でUWSCが動作するのは確認できた
バッググラウンド動作は試してないからわかんないけど10でも出来てないから私は気にしないです
VMware上なんで実質バッググラウンドには出来るけどね >>968
理系が述べる事実に基づく説明を理解できる人だけが意思決定に関われればいいのに
理解できる知能がない文系が経営とか営業にいるから 理だの文だの言う前に言葉が正しく使える事が重要
人に指示する場合でも分かりやすく指示しないと人は動けん >>973
>言葉が正しく使える事が重要
それ全く同じ言い回しで
「事象を正しく理解していることが重要」とも言える
系に関わらず最低限どっちの素養も(もっというとそれ以外のいろんな素養が)必要やな 人間には2つのタイプがある。
タイプで人を分けようとする人と、タイプで人を分けようとしない人だ。
という格言を思い出しながら読んでいた。 文系理系関係なく下位とコミュ障は役に立たないから要らないってだけ 誤用だーって指摘する人は
自分が物心付いた頃の言葉の意味で使えって強要してるだけなんだよな
江戸時代に使われてたけど大正時代に意味が逆になった言葉とか
どちらが誤用なのかわからんだろう
あと次スレお願いします 敷居が高いは誤用だった使い方が辞書に追加されたけど難しいの使い方は追加されなかった
見直しされてもまだ認められてない使い方なんだからもうちょい謙虚になれ >的を得る
「目指すものが明確になった」って使い方なら
的を射てると言えなくもない どうでも良い話題になるとスレが賑わうのも、スレの誤用の認識のズレってことか? chkimgxって上にウィンドウが重なっててもターゲットid設定してれば画像認識されるんだよね?
過去ログ読むとNoxだとOPenGLだと上手く動かない、win10だと動かないって人が居たみたいだけどそれ以外でこうやったら裏でも画像認識できるようになったとかって経験ある人いない? 標準のキャプチャで裏でおかしかったけど
裏だとウィンドウ枠が別物になるためにクライアント領域の座標がずれるので
ウィンドウ座標を基準にすると座標ずれのために動かなくなったりした。
多少幅を持たせれば動くかもしれないけど遅くなるんでそこはきっちり調整したほうがいい。
そもそも画像自体が変わってしまう場合は表用画像と裏用画像を用意する必要があるかもしれない。
真っ黒になって画像が取れないだとかで全然ダメな場合もあるかもしれない。 取得したウィンドウIDのウィンドウサイズから
自分が設定している描画サイズを差し引けば
ウィンドウ枠のサイズは分かるよ 解決
まったく同じ名前のIDが二つあって最初にヒットするほうが真っ暗のダミー?だった
全ウィンドウ取得して二つ目にヒットするほうをidに設定したら動くようになった このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 291日 19時間 11分 10秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。