自動化ツールUWSC使いよ集まれ21
レス数が1000を超えています。これ以上書き込みはできません。
>>1乙
今日現在
●ダウンロード
ttp://www.uwsc.info/download.htmlはアクセスできません
Vectorのttps://www.vector.co.jp/soft/winnt/util/se115105.htmlからダウンロードできます
ここttps://web.archive.org/web/20180125141222/http://www.uwsc.info/download.htmlならPro版もダウンロードできますがシェアレジはできません(たぶん)
●サンプル
ttp://www.uwsc.info/sample.htmlはアクセスできます
●FAQ
ttp://www.uwsc.info/faq.htmlもアクセスできます
●掲示板
ttp://www3.rocketbbs.com/13/bbs.cgi?id=umiumiもいろいろ参考になるでしょう ChkImgXのダウンロードできる所知りませんか? 定期的にこれ書き込まないと死ぬんじゃないかと思うChkImgXの人。 こんばんわ
初心者ですがよかったら質問させてください。
目的の画像が出るまでenterを繰り返し押して目的の画像が出てきたら
enterの繰り返しをやめる方法はありませんでしょうか?
While TRUE
KBD(VK_enter)
SLEEP(3)
WEND
ifb chkimg("gazou",0,,,,,,IMG_MSK_BGR4)
SLEEP(3)
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
これでenterの連打はできるのですが目的の画像が出てきた場合enterをやめる方法はありませんでしょうか?
よろしくお願いいたします。 While !chkimg("gazou",0,,,,,,IMG_MSK_BGR4)
KBD(VK_enter)
SLEEP(3)
WEND
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) 別解(連打をやめる条件が複数ある時など)
WHILE TRUE
IF CHKIMG("gazou",0,,,,,,IMG_MSK_BGR4) THEN BREAK
KBD(VK_enter)
SLEEP(3)
WEND
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) DIM str="わたし"
文字列の先頭一文字(1バイトでもいい)を取り出して、数値に変換する方法ってあります?
c = copy(str, 1, 1) or copyb(str, 1, 1)
d = VARTYPE(c, VAR_SMALLINT) or VAR_BYTE
ではうまくいかない PowerShellCoreさわってみたけど、使いにくいわ。
コマンドレットとか使うといちいち冗長だしパイプが気持悪いわ。何渡すかわからん uwsファイルはスクリプトとして選択できるのですがuwscファイルは選択できないのっておま環でしょうか? 拡張子がuwscのファイルってこと?
uwscファイルは関連付けされてないと思ったよ
やりたければ普通に関連付けすれば使えるんじゃない UWSC本体からスクリプトファイル開くときの動作でしょ
ファイル選択ファイアログ側で拡張子絞ってるから出てこない(仕様) .uwscは何故か知らないけどuwsc.exeと同じフォルダにあると開けなかったな
違う場所に置いたら.uws扱いになって普通に使えて尚更意味不明だった記憶がある UWSCを使ってマウスをさわらずにマウスのカーソルの動きを記録して再生させたいのですが
PCを再起動後にスケジュールでマウスの動きを記録したものを作動させると、なぜだかマウスポインタが動きません。
一度マウスを動かしたあとなら、再生するとちゃんと動くのですが再起動後にマウスをさわらずにマウスポインタを認識させる方法はないでしょうか? ファイルを連続してダウンロードしようとしています
1回目のダウンロードの後に情報バーを閉じると、
毎回ではないのですがIEからフォーカスが外れてしまうことがあり、
IE自体は操作できるのですが2回目のダウンロードの際に、
情報バーのプルダウンの「名前を付けて保存」が押せず困っています
ID = HNDtoID(IE.hwnd) CRTLWIN(ID,ACTIVATE)をしてもなぜかうまくいきません
情報バーを閉じた後に何か特別な処理が必要なのでしょうか 情報バー必要ないなら非表示にしてしまえばいいのでは…? >>25
情報バーというか 通知バーでしょうか
ダウンロード時に下に出るバーの名前は
出来れば表示したままにしたいです >>26
ごめんどのバーか画像でも貼るか正しいui名称にしてくれないか?
まあ、次善策だけどその現象が起きた時に復帰させる為の手動操作(をスクリプトにして)を挟めばいいんでないの 仮に認証が無いならいっそInvoke-WebRequestとかで直接DLしちゃえばいいんでない Excelのセル結合解除したり、行消したりできるの? ただの対比記事見てベストとか言われても
この先新しいソフト出るかもしらんし、autoit使えなくなるかも分からんしょ
uwscが使えなくなった時じゃなくて今(学習コスト少なめに)乗り換えるなら悪くないかもね 無料使ってる時点で、仕方ない感じだね。
読んでみたが、書き替えは相違点多すぎて無理かな。
最近は、仕方ないのでUIこさえて自前でやってるよ。 すいませんchkimgxの繰り返しで最初の1回しか画像認識に成功しない怪減少に悩まされています
どなたかご教授願います
初回は100%成功するのに、2回目以降は100%失敗し、
失敗した画面のまま再度行うとなぜかまた100%成功します
OPTION OPTFINALLY
CALL ChkImgX.uws
startup_chkimgx()
try
while true
sleep(0.5)
if chkimgx("XX.bmp",0,0,X,X,1,2,-1)
mmv(G_IMGX_X, G_IMGX_Y)
sound("XX.mp3",TRUE)
endif
sleep(0.5)
wend
finally
shutdown_chkimgx()
endtry ほんとに認識に失敗してるのか?
mmvの前にメッセージボックス出して検証してみた?
mmvでカーソル動いてそのまま見たいだから見た目変化してないのと
soundまっぱーが解放されてないまま次の音が鳴らなくなってるだけではない? メッセージボックスも反応なし、マウスも移動しないので失敗してるみたいです
なぜ最初の1回しか成功しないのでしょう?毎回再生しなおせば成功します
なので、別のスクリプトで毎回終了させては1秒ごとに再生する形にしたら成功しました
が、できれば繰り返し成功するようにしたいのですが、全く原因が分かりません
ちなみにデスクトップの画像などでは同じ記述でも毎回成功します 知恵袋で回答待てよ()
MMVしてマウスカーソル乗ってるから認識できないとかいうくだらないオチだったりしない?w >>38
あ、バレましたか なかなか回答がなかったのでw
本当に困ってるんですが、原因が全く分かりません >>38
マウス移動をしなくても一度目しか認識しません
タイマーで一秒ごとに再生すると画面がチカチカしっぱなしなのでなるべく繰り返しにしたいのですが >>35
怪現象ではなくchkimg失敗して当然な状況
お前には同じ画像に見えても、よく似た別画像が表示されているだけだ
どうせゲーム用途だろ?
住人には何の価値もないトラブルシューティングだ
目障りだからさっさと消えてくれ しかもマルチポストとか救いようがないクズじゃねぇか
ID:cvYTXeM70はNGぶっこんでおくわ >>37
「失敗してるみたい」じゃなくて
全行にprint入れて確実にどこまで通ってるか確認しろよ
自分の手抜き確認をエスパー召喚で帳消しするのは非効率すぎ >>38
> MMVしてマウスカーソル乗ってるから認識できない
これ経験ある。
普通はマウスは関係ないんだけど
条件によっては関係ある。 ソフトのサイドバーが原因みたいです
反応しなくなってサードバーのカーソルを乗せると認識することに気づきました
一度認識するとサイドバーが最前面に表示されるようになってるのかなと >>46
直前に一回 空クリックでもさせとけば? 不測の事態があっても人間にもわかりやすく認識するだろう
soundはそれ自体が邪魔してテストの確認には向かないぞ。BALLOONとかにしとけ 常に一定範囲内を移動している画像の認識に失敗するんですがやはり難しいのでしょうか?
通常のCHKIMG関数を回すと動いている画像だけ認識に失敗します。 >>48
縁にアンチエイリアスがかかっていたり
画像が拡縮されて表示されていると
移動によって画像が変わる 縁だったら内径よりにトリミングすればいいけどね
動いている時にエフェクト類がかかるもの、既出だけど拡大縮小回転のあるものはchkimgでは無理
拡張ライブラリでいけるかもしれないし無理かもしれない
範囲内がどういう感じか分からんがpeekcolorで対応という手もあるよ 小さめにトリミングして認識させているのですが反応しないですね…
寸法も変化してはいないのでアンチエイリアスか画面の処理関連かと思います
確かに色はその部分固有なのでpeekcolorで試行錯誤してみます
ありがとうございます 背景が固定なら画像の差分をとればいけるけど、UWSCにはその機能はないか androidエミュレータに出ている画像をchkimgで検出出来るけど
少し画面をスクロールさせると反応したりしなかったりで不安定に
これもアンチエイリアスが原因っぽい ちょっと疑問なんだけど、なんでアンチエイリアスで影響出るほどそんな縁の部分いっぱいまで判定用の画像作ってんの?
それともアンチエイリアスって言ってみたいだけで、単に背景巻き込んで判定画像にしてるとか元々半透明で背景に影響されてるのを分かってない? >>51
見た目の色が同じだからといって全く同じ数値になるとも限らんからな
画像の合成や縮小・拡大とかやるときは、周囲の色と合成して変えていくから周辺が変わると中心部まで
派生して影響しても不思議はない アンチエイリアスは画像の縁だけじゃなくて
中心部も色の境目のある部分が全てぼかされていて
そのぼかされている部分が再描画されるとドット単位で微妙に色が変わってchkimgで認識出来なくなるっぽい bot組むぐらいならテンプレートマッチングぐらい習得しなよ
そもそも使う意味のないものが認識できないとか馬鹿なこと書き込まなくて良くなるよ >>55
ありがとうございます。
見た感じ透過はされていないと思ったのでボタン部分の内側を背景と交わる部分が出ないようにカットして使用しています。
>>59
初心者なもので馬鹿な事を書き込んでしまいすいません。
テンプレートマッチング調べてみます。勉強になります。 見た目じゃなくて画像編集系のツールとかでレイヤー重ねて比較するとかしてみては。 なんだろ?この勘違いスレチ君は?
> bot組むぐらいならテンプレートマッチングぐらい習得しなよ Hyper SBIとマネックストレーダーにUWSCで自動化してログインしていました。
最近、環境をWin7からWin10に変更したら、操作できなくなりました。
管理者で実行していますし、UACも表示しないようにしてみましたが、操作できません。
Win10で使うには、どうしたらよいのでしょうか。 >>63
自分で作ったスクリプト?
まあchkimgとか使ってるならまずは画像を作り直して見るのが良いかと 自分で作ったものです。chkimgは使ってません。
起動させて、IDとパスワードを入力して、画面を整列させるだけなので。 単にソフトの場所変わってて探せてないだけじゃね?w だとすると、例えばどういうコードが動かないのかな?
(動かないというのは無反応なのかエラーが出るのか)
アプリのウインドウすら認識しないのか、入力したいテキストボックスが認識できないのか
pro版なら一度記録してみる、非プロなら適宜ログ出力入れて何が出来ていないのか確認するか、手っ取り早くUI inspectorでキーワード合ってるか見比べる
最悪なのはアプリ内の内蔵webviewを操作してる場合だけど…まあ、何にせよどんなコードでどんな動きを期待するか出てこないとこれ以上の事は自分からはなんとも なんでここまで言われないとわからないのかね
ログはさんでどこまでできてどこからできないのか調べることすら自分でせず
ソースも貼らず、どういう結果になるかも言わずに
操作できません、どうしたらよいかなんて言われて他人がわかるわけがないだろうに それしか能のない教えたがりのお前らに教える機会を与えてやってるんだから偉ぶってないで感謝しろよゴミクズども 例えばこんな感じでマネックストレーダーの起動をしてみると、
EXEC ("パス\monex_ms\module\MonexMarketStation.exe")
結果は無反応、ログは何もでません。
そのまま手動で実行するときは、UACが出るので、
これのせいだと思って一応確認が出ないようにしてみたけどだめですね。
もちろんUWSCは管理者で実行しています。 当方プログラミング未経験者です
ウェブバンクで当月取引の一覧を見ながらExcelで帳簿を作り
会計ソフトに伝票として書き出しているのですが
その作業を半自動化出来ないかと考えていたら
UWSCに行き着きました。当方プログラミングの経験が無く
UWSCの参考になる書籍(一冊だけ…?)や一から勉強出来そうな
ウェブサイトが少なかったのも有り
体系的にプログラミングを学ぶ為、UWSCに似た言語を習得する事から
始めようと思っているのですが
Rubyがパッと見た感じ近く(素人目ですが)
参考になりそうなサイト、書籍も豊富に見受けられたので
Rubyから勉強しようと思っています。
皆さんでしたらどういった言語が良いと思いますか?
ご意見聞かせて頂けたら幸いです。 >>70
起動しておいてそれ以降の動作は?
てかログはその前後に入れて前だけ出て後が出ない、止まるという感じ?
>>71
Rubyはちょっと的外れかと、uwscに活かせる事が少ない
やる気次第ではPython、ぶっちゃけuwscがいらなくなる
ちょっとしかやる気ないならExcel附属のVBAは学習サイトも本も多いし、uwscの簡単な部分と組み合わせれば大体のExcel業務はできるよ chkimgxさえ他で使えればいつでも乗り換えられる Option LogPath="UWSC.log"
Option LogFile=3
PRINT "a"
EXEC ("パス:\tools\monex_ms\module\MonexMarketStation.exe")
PRINT "b"
ACW(GETID("ログイン","#32770"),448,156,1024,768,0)
BTN(LEFT,CLICK,929,433,300)
PRINT "c"
こんな感じで、ログインボタンを押すようにしている。
今やってみたログは、
18/09/03 19:00:13 a
18/09/03 19:00:13 b
18/09/03 19:00:21 c
bとcの間に少し間があるから、見つけられなくてちょっと止まってるような感じだと思う。
起動していないから当たり前だけど。 大事なこと書き忘れたけど、操作できないのは、Hyper SBIとマネックストレーダーだけ。
ブラウザとかエクセルをいじったり、ほかのアプリ起動したりするのは問題なし。 >>74
無駄かもしれないけど一応おもいつき
戻値 = EXEC( exe名, [同期フラグ, X, Y, 幅, 高さ] )
なので
PRINT "a"
PRINT EXEC ("パス:\tools\monex_ms\module\MonexMarketStation.exe")
PRINT "b"
もうみっつ
pathぬきでいきなり EXEC ("MonexMarketStation.exe")
起動するだけのbatを作ってEXECかDOSCMD
path中の " を <#DBL>に変え忘れているかもしれない >>72
なるほど、Pythonが良いのですね。
趣味の一貫として初めたいので
VBAではなく、歯応えの有りそうな?Pythonにしようと思います。
早速書籍を調べて、学習を開始しようと思います。
お返事、有難うございました。 >>74
公式のqaとEXEのパスが違うっぽいのはインストール先変えてるのかな
単純にスクリプト記載のパスをwin+rのウインドウに入れて起動する…くらいは確認してるわな
腐った応急処置としてはスクリプトをEXEのとこに置いてパスなしとか >>71
業務はエクセル決め打ちだろうから
まずVBA覚えた方がいいよ?
プログラマならPython覚えて損はないけど
事務が本業ならVBAが実用的 あと個人的にはRuby大好きなんだけど
Windowsとの親和性が良くないし
RairsでWebサイト構築するのが主な使われ方だから
ベタにVBA覚えた方がたぶん役に立つ >Rairs
Rails(レイルズ)な
初心者検索用に念の為 >>72
PythonでSelenium、Chromeを操作するのが良さそうかな。
FireFoxのSeleniumIDEが使い勝手良かったけど、
バージョンアップで切り捨てられて今再開発中なのかな。
「Python Selenium スクレイピング」で検索するといろいろサイトがヒットするし、
参考書籍も出てるからそれからはじめると良いかと。
プログラミングを習得するために言語を学ぶってなるとなかなか覚えが悪いけど、
目的絞ってそのためにプログラミングを学ぶって場合だと覚えが早いかなぁ、と。 >>76
PRINT EXEC ("パス:\tools\monex_ms\module\MonexMarketStation.exe")
→戻り値は-1でした。
EXEC ("MonexMarketStation.exe")
→無反応
起動するだけのbatを作ってEXECかDOSCMD
→UACの確認画面の後、普通に起動します。 >>72
>Rubyはちょっと的外れ
SeleniumはRubyからも使えるから
Rubyが的外れってのも的外れだと思う
ぶっちゃけPythonとRubyじゃそんな変わらないよ 自己解決しました。
win10は、レバー下げてUACの表示しないようにするだけではだめで、
完全に無効にするには、レジストリをいじる必要があるんですね。
レジストリいじって無効にしたら、全部動きました。
お世話になりました。 Win10罠過ぎるな 報告ありがとう
気を付けるわ >>71
Excel でウェブバンクにログインする。
または、ブックマークレットで情報を取り出す。
ログインした状態でブックマークレットを動かし、クリップボードなどにコピーし、Excel で利用する。
今、ジャパンネットバンクのログインしたページでブックマークレット使えるかやってみたらできた。
http://scripts.web.fc2.com/bokuma.html
クリップボードにコピーはググれば出て来るけど
Chrome では2回連続ではできなかった。 GETACTIVEOLEOBJで起動中のIEを取得しようとしているのですが
手動(アイコンダブルクリック)で起動したIEは取得できるのですが
UWSCからEXECで起動したIEはCOM_ERRORになってしまい取得できません。
どうしてでしょうか? UWSCを管理者権限で起動しても状況が変わらなかったのですが、どうすればいいか教えていただけますか? IEでもHTAみたいなのはCOMつかめなかったりするけど
起動のコマンドラインとかも判断に必要かもね。 プライベートモードで起動していて引数は-private だけなのですが、、 起動直後に
GETACTIVEOLEOBJ()
してるんなら
GETACTIVEOLEOBJ()
の前に
SLEEP()でちょっと待ってみたら >>96
どういうことですか?
>>97
直後ではないです。
EXECでIEを起動するUWSCを実行して、あらかじめ起動しておいて
次にGETACTIVEOLEOBJで取得するUWSCを実行しています 起動直後っていったのはUWSCのスクリプト開始直後とかいう意味ではなく
EXECによるIEの起動直後という意味です
自分の環境では
EXEC("C:\Program Files\Internet Explorer\iexplore.exe", FALSE)
DIM IE = GETACTIVEOLEOBJ("InternetExplorer.Application");
の場合は COM_Error が表示されましたが
EXEC("C:\Program Files\Internet Explorer\iexplore.exe", FALSE)
SLEEP( 1 )
DIM IE = GETACTIVEOLEOBJ("InternetExplorer.Application");
の場合は COM_Error は表示されませんでした
EXECの代わりに DOSCMD("C:\...\iexplore.exe", TRUE);でも同様でした
COM_ERR_IGNを入れて、あえてCOM_Errorを無視しながら
取得を繰り返すと
途中から取得できるようになるのを確認できました。
EXEC("C:\Program Files\Internet Explorer\iexplore.exe", FALSE)
COM_ERR_IGN
DIM IE
REPEAT
IE = GETACTIVEOLEOBJ("InternetExplorer.Application");
PRINT IE
UNTIL (IE > -1)
COM_ERR_RET
PRINT IE.FullName
SLEEP(20) >>99
スーパー親切でわかりやすいな。
別人だけど、ありがとう >>99
ありがとうございます。
理解しています。
IEをあらかじめ起動しているので、IE起動直後ではないと言いたかったのです。
スリープをいれてもCOM_ERR_IGNでエラーで停止しないようにして繰り返しても取得できないので困っています。
GETALLWIN()ではIEFrameが見つかるのですが、GETACTIVEOLEOBJをしても取得できないのです。
公式のQAを見ていたら、だいぶ古いですが原因不明で取得できないことがあると書いてあったので
もしかしたらそのパターンなのかもしれないです。もう少し調べてみます。ありがとうございました。 >>98
プライベートモードって他人に見られないように動作するモードなので
他人(他アプリ等)に見せるためのCOMは公開しないんじゃないかってことです。
プライベートモードにしたときのCOMの動作はググっても分かりませんが、そう言う事だろうと思います。
「おいおい瞬殺だよ」についてはググって下さい。
https://www.google.co.jp/search?q=”おいおい瞬殺だよ” >>102
プライベートモードというのは、クッキーやキャッシュなどの情報を引き継がないモードです。
他人に見られないためのものではありません。
ブラウザの初期値で起動する感じです。COMとは関係ありません。
ありがとうございました。 >>103
何のために消すか考えてみてください。
クッキーやキャッシュなどの情報を他人が見ることが出来るんです。
消せば見れないから消すんでしょ?
単に消すだけならいつどのように消しても問題ないはずです。
あなたの方こそ目的を分かってないんじゃないですか? 「 ”プライベートモード” 目的 開発者」でググったらすぐ出てきましたが、
ここに投稿しようとするとエラーになり、投稿できません。
URLは削除したし、文章をMANGOテストスレでテストしても問題ないと出ます。 getActiveOLEobj("InternetExplorer.Application","InPrivate - Internet Explorer - [InPrivate]") >>102
プライベートモードで開いてあるIEのCOM操作は普通にできるよ
なんで実際に試してもいないのに思い込みで上から目線で適当なこと書くの?
馬鹿なんすか? >>107
じゃあなんで質問者にはできなかったの? 誰もがおまえみたいに四六時中張り付いてる訳じゃないぞw >>108
お前、質問返す前にやることがあるだろ…… 全ての条件が揃うまで繰り返す
ただし、一発目で揃ったら処理しない場合って
WHILE !((A=B)And(C=D))
繰り返したい処理
WEND
でいいのかな? すみません、自己解決しました
111の通りで思った処理ができました whileのあとの ! ってどういう意味なんですか? UWSCに限った記号でもないのに
+−×÷の意味を聞く位の超低レベルな質問する奴ってほんと何考えてるんだか
何も考えてないんだろうけど >>114-115
調べるも何も表示されてないからちょっと聞いただけ
喧嘩腰に聞いたわけでもないし普通にレスして返してくれればいいのに
教えるのがそんなに手間なら煽りレスもつけなきゃいいのに
どっちが恥ずかしいんだか、どんだけ育ちが悪いんだろう
虐待でもされて育ったのかな?w
親の親も、そのまた親も先祖代々クズ底辺の家系っぽいね
最初から教える気ないならお互いに気分悪くなるからスルーしてって
言ってるし、もういいわって去ろうとしてるのに言葉がわからないのかバカなのか
底辺のカスがチワワみたいにプルプル震えながらキャンキャン吠えて
噛み付いてきてチョー笑えるwwwwwwwwwwwwwwwwwwwwwwwwwwwww >>118
お前は!(バカじゃないし)、!(恥ずかしい奴じゃないよ) 文章に!をつけると強い感じがするだろ?それと同じだよ
プログラ厶にメリハリがついて実行時にその部分に勢いがつくようになる >>121
ありがとうございます、大変助かります
ヘルプも見てみますね。 メインフレーム使う業務システムにもsendstrつかえるの? 今日詰まって自己解決したから書いとく
ChkImgXで、GoogleChromeの画面がキャプチャできてなかったんだが
Windows8.1以降ならPrintWindowの引数にPW_RENDERFULLCONTENTを指定すればキャプチャできるみたいなので
自分の環境でソースビルドしたらいけたわ もしよかったら教えてください。
AndAppのゲームで、mouseorg(id, 2)とすると
アクティブウィンドウであってもBTNやKBDに無反応になります。
(id, 0)や(id, 1)と変えると受け取ります。
ttp://kobuji.me/tips/uramacro2/
原因はこれでしょうか。
それを確認する方法や、回避する方法はありますか。 >>131
AndAppを使ったことがないから自分では試してないけど
mouseorgのMORG_DIRECTが効かないアプリケーションはある
構文が正しくて駄目なら無理ですね
過去に似たような質問がたくさんあるんで見てください >>132
過去ログでさんざん繰り返された質問でした。すみませんでした
それなのに教えていただき、ありがとうございます
仮想化を試してみます chkimgXについてなのですがchkimgと同様に特定の色のみを透過色にする方法はありますか? テンプレートマッチングは1ドットずつ比較してるわけじゃないから、アルゴリズム的に非常に難しいと思う。 >>135
やはりそうですか
違う方法を考えることにしますありがとうございます chkimgXにはないですが、画像のズレを検出するような手法としては位相限定相関法というのがありますね。
詳しくはわかりませんがテンプレートマッチング、位相限定相関法ともに画像を離散フーリエ変換して計算を効率化してるらしいです。 >>137
もうUWSCでコーディングできる話じゃないから、、、 >>133
これって
●FAQ
ネットゲームにて動かない、DirectXのアプリにてマウス操作ができない #N11
対応していません。
だわ。 たしかmouseorgのは動作を送る方法が変わってくるのが原因で1部ソフトでは動かないですね 過去スレで刀剣乱舞のuwscスケリプトアップしてくださった方はまだおられますか?
再アップしていただけないでしょうか すみません指定された座標範囲の中だけで画像を認識させたいのですが
どのようなスクリプトになるか分かるかたいませんでしょうか?
ifb chkimg("画像",0,,,,,,IMG_MSK_BGR4)
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
これがいつも使っているスクリプトです。
よろしくお願いします。 ifb使ったらendifで閉めないとダメだろ ちゃんとしろよな はいendifもちゃんと書いています。
よろしくお願いします。 >>143
引数のサーチ範囲を指定すればいい
ヘルプをよく読んでみて
chkimg("画像",0,0,0,100,100,-1,IMG_MSK_BGR4) ここで聞く前に少しは自分で調べようとか考えないの?
バカはさっさと死ねよ >>146
ありがとうございます。
エラーがでないのでこれで調整できそうです。 >>146
お前のようなヘルプに書いているような初歩的なことにも回答するからクソみたいな質問者が後を絶たないんだよ
うざいから消えろや 僕のことを悪く言うのはいいけど教えてくれる人を悪く言うのはやめてください ヘルプ読めばわかる質問へのレスはヘルプ読めだけでええわな 初歩的なことがここに書かれちゃまずいことってあるか? あ、ヘルプに載ってるぼくにもわかる質問だ!よーし張り切って教えて自尊心満たしちゃうぞ〜! >>150
その教えることが悪いって言ってんだろバカかてめえは この話題で荒れんの何回目だよw
親切も大概にしとけってまじで
少しは頭使って考えろ 公式のBBSがリードオンリーになって今後はもっと増えると思いますので皆さんよろしく 特定のアプリにドラッグ&ドロップ以外でファイルを送るコードってありますか? >>155
いや気にしろよ
そういうしょうもないことに答えたいならYahoo知恵遅れでやれよ >>160
なんでここでやったらダメなの
駄レスなら5chの方が相応しいだろ? >>159
ファイルを送るという部分をもっと詳しく
例えばそのアプリでメニュー→ファイル→開くとかはあるの?
それとD&Dが駄目な理由は?UWSCにはDROPFILE関数があるんだけど駄目なんだよね? ここはそういうスレではないからだろ
5chでやってもいいけど、やるなら自分でスレ建ててそっちで好きにやればいい なんでだよw
そっちの方が板全体によほど迷惑だろw スレを立てるのが板に迷惑?だからスレに迷惑をかけていいってか?
何を言ってんだか知らんがやっぱり頭がおかしいんだなこういう奴は ガキなんだよ
気にしてないアピールするため意地になって答えようとしているあたりただのガキ これだいぶ前からずっとそうだけど
こういう奴らって自分でスレ建てるってことはなぜか頑なにしないんだよなあ >>166
えっ、同じスレ何個も建てていいって思ってるの?
1、2レス気に入らんからスレ建てろとかそっちこそルール無視じゃん どこにそんなルールがあんの?板のローカルルールにもそんなこと書いてないけど
本スレと質問スレに分かれてたり複数スレがあるのなんて当たり前のようにあるけど
少しはオツムつかって考えてから書き込めよ猿 ソフト板は保持できるスレが少ないんだから
こんな過疎ってるマイナーなソフトで乱立していいわけないだろ
少しは考えて喋れよ 1,2レスじゃ済まないからこれだけ言われてるんだけど
やっぱり頭悪いんだな 俺には700以上スレがあるように見えるんだがw
そして下の方のスレは書き込みが2年前とかなのに残ってるだけどw いや、本当に何を言ってるんだろうなこいつは…
どうやら別の惑星に住んでいて我々には見えない別の何かを見ているらしい お前は人格攻撃ばっかだな
じゃあ好きなだけ立てて来いよ
荒らし認定されるだろうけどなw
俺は止めたぞ このスレで好き勝手やるなら他所にスレ建ててやれって言ってるやつに
じゃあ好きなだけ立ててこいよ
っておかしいだろwwwwwwww
ちょっと馬鹿すぎない?wwwwwww
自分がなんの話ししてるか自分で理解できてないのかよwwwwwwww あまりの支離滅裂さにこの俺が戸惑っている
本当に何も考えずに脊髄反射で書き込んでいるようだ 俺は何でここでやったらダメなのって聞いただけだし
スレ立てろって言ってるやつにそれはダメだろって言ってるだけだが ぼくちゃんスレ立てしたことないんですぅ
ってこったろ
アホかと ムキになってあまり考えずに妄想で言ってみたものの、引っ込みがつかなくなてるんやろw
数年前で止まってるスレがたくさんあって700以上スレがあんのに、スレ保持少ないからだの
スレ一つ建てただけで荒らし認定されるだの、もうめちゃくちゃだなw 例えばこんな無関係なクソスレがあるわけだが
こんなのが大事だから新スレ立てが出来ないって単なる荒らしだよな?
大唐吐蕃回廊馬兵術漢宮秋月康秀華南湖采白微宮廷記 [無断転載禁止]©2ch.net
http://egg.5ch.net/test/read.cgi/software/1505916940/ 作者に不幸があったらしいとwikiにコメントがあるね
本当なんだろうか 不幸があったから404にするって意味不明だわ
掲示板も書き込み禁止にする前になんらかの説明書き込みくらいできるだろ 普通そういう表現はタヒんだ時に使うわけだが…
本人以外が鯖弄ったりしないだろうから違うだろ タンスの角に足の小指ぶつけたくらいの不幸かもしれないしな 掲示板が閲覧のみになったのは、ロケットBBSに作者が入金してないからじゃないか >>162
レスありがとうございます
理由としては単純にファイルエクスプローラーを開くのを止め、擬似的にD&DしたかったからなのでDROPFILE関数で大丈夫でした
ありがとうございます uwscからNOXにタップ情報を送りたいのですが、上手く行きません。
platform-toolsは入手し、Pathの環境変数も変更しました。(cmdからadbを実行し確認済み)
dim return=doscmd("cd C:\Program Files (x86)\Nox\bin & nox_adb devices")
msgbox(return)
で確認したところ、
List of devices attached
127.0,0,1:62025 device
と表示されます。
そこで、下記のようなコマンドを送ったところ、Nox側にタップ情報が送信されません。(タップのエフェクトが出ません。)
DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
noxとadbの接続について詳しく解説しているところが無かったため手探り状態なのですが、何か見落としているところがあればご指摘お願いします。 >>195
127.0,0,1:62025 deviceの「,」は全て「.」です。
タイプミス失礼しました >>195
そのまんま一つ一つコマンドプロンプトで実行したらできる?
文字列の括りとかおかしいから無理だと思うが…
その他気になるというか改善点は
・nox_adbはパス通しちゃえばいちいちcdいらない
・立ち上げてる端末が一台なら-sいらない
余談
メッセージボックスでctrl+cすると内容コピーできるよ >>197
ありがとうございます!
C:\Program Files (x86)\Nox\bin>nox_adb -s 127.0.0.1:62025 shell input touchscreen tap 432 604
で実行した場合はタッチエフェクトが表示され実行できました。
uws側の記述に問題がありそうですね… DOSCMD("C:\Program Files (x86)\Nox\bin\nox_adb.exe -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
DOSCMD("C:\Program Files (x86)\Nox\bin & nox_adb.exe -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
DOSCMD("C:\Program Files (x86)\Nox\bin\nox_adb -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
DOSCMD("C:\Program Files (x86)\Nox\bin\nox_adb.exe shell input touchscreen tap 432 604")
と変更しそれぞれ実行してみましたが、cmdから直接実行したときと違いタップされませんでした。
スクリプトでおかしい所あればご指摘頂ければ幸いです。 >>199
コマンドプロンプトとスクリプトで同じようにしないと意味ないよ
cdしてからnox_adb以降だけじゃなくて
コマンドプロンプト上でもc:\〜でってこと
それが通らないものを投げてもダメ
で、何故ダメかというとパスに空白が入ってるから
解決方法として手っ取り早いのがパス通すだったのだが
どうしてもフルパスでnox_adb呼びたいなら、ms-dos短縮でググってくれ >>200
ありがとうございます。
フルパス、cd及びパスを通すの意味がわからないので調べてこようと思います。
コマンドプロンプトで実行できた分にはパスに空白が入っているのですが、それをスクリプトにコピーしても駄目なんですね… >>201
ごめん、>>197で自分の勘違い(※)から紛らわしいことを言ってしまった
もし本当に以下のスクリプトなら単にProgram Filesの次が全角スペースだから実行されないだけ
DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
>>199のスクリプトは大分惜しいところまで行ってる
何で実行できないかはパスやらCDやらについて調べたら分かる事なので割愛する
ヒント&ポイントは以下3つの差(実際にコマンドプロンプトで打ってみて)
「C:\Program Files (x86)\Nox\bin\nox_adb.exe devises」
「"C:\Program Files (x86)\Nox\bin\nox_adb.exe" devises」
「cd C:\Program Files (x86)\\Nox\bin & nox_adb.exe devices」
※以下は自分の勘違いの反省文
1.コマンドプロンプトって「&」で連続してコマンド実行できるの知らなかった
2・「CD」の引数(に限り?)空白含んでも大丈夫なのかよ、知らなかった
最後に、nox_adbの場所へパスを通して(Pathの設定の事ね)、起動するNoxの端末が1台だけならコマンドはここまで短縮できる
DOSCMD("nox_adb shell input touchscreen tap 432 604")
もはや可変なのは座標XYだけだから以下でもいい
dim cmd = "nox_adb shell input touchscreen tap "
DOSCMD(cmd + "432 604") そんなことしなくても
DOSCMD("<#DBL>C:\Program Files (x86)\Nox\bin\nox_adb.exe<#DBL> -s 127.0.0.1:62025 shell input touchscreen tap 432 604")
のように<#DBL>で囲えば動きそうな気がしないでも無いんだが
なんにも試したわけでもなく口出して申し訳ないが >>202
丁寧にありがとうございます。まだ実現はできていませんが勉強不足な場所が分かって調べるめどがつきました。
パスについて調べて進めてみます。 特定のフォルダ内にあるファイルの更新日付がが当日のものだけ処理をしたい
一応以下で動くことは動くんだけど、もっと処理の速い効率的な方法ってありますか?
更新日付が当日のファイル数は日によって違います
NUM = GETDIR("C:\hoge\")
GETTIME()
ToDay = "" + G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2
For i = 0 to LENGTH(GETDIR_FILES) - 1
FilePath = "C:\hoge\" + GETDIR_FILES[i]
Cmd ="for %z in (" + FilePath + ") do echo %~tz"
FileDate = LEFT(BETWEENSTR(DOSCMD(Cmd),"<#CR>","<#CR>",-1),10)
If FileDate = ToDay
処理
Endif
Next >>205
ファイルのプロパティを取得する方法もあるけど、それ以前にそのやり方だとファイル個別にDOSCMD実行
してるんだよね?
DIRを実行した結果をテキスト処理して比較すれば速くなるんでないの? 処理が遅いという話なら処理の部分ないとアドバイスしようがないがそこ以外が遅いって話しなら…
ループ内でファイル毎にdoscmdするのは間違いなく遅いから
まずdir /o:s >> tmp.lstとかで更新日時付きのファイル一覧を作成して、これをファイル読み込みで順次処理する構造に変える
もちろんこのままだとスクリプト側で一つ一つ日時判定が必要なのでtmp.lst作るときにリダイレクト前にパイプでfindstr挟んで絞り込み済みのリストにしてしまう
という案はどうだろう?
ついでにもういっそuwscではフォイル名の切り出しすらやりたくないなら、さらにパイプでfindstr繋げて正規表現でファイル名を切り出しておけばいい
まあ、そこまでやるかはお好みでどうぞ >>207
txt = doscmd("dir")
これでtxtに結果が全部入るからいちいちテンポラリファイル作る必要はないぞ >>207
> まずdir /o:s >> tmp.lstとかで更新日時付きのファイル一覧を作成して、
なんでサイズ順?
やるなら更新日時(昇順)でdir /o-dだろ
>>208
全部変数に入れると1行毎に分割するのに正規表現でも使わないと困るから
一度ファイルに出力してFGETで1行毎にした方がやりやすいとは思う
ちなみにBETWEENSTRとかPOSとかUWSCの文字関数使うとすごい遅い すみません
作ったスクリプトを暗号化文字化け化したいのですが
教えていただける方いませんでしょうか?
サイトを見てもどうしてもできなくて
以前別の件でuwscの掲示板でもやり方を教えていただいたのですが今は閉鎖しているようで。
チームビューワーで対応していただける方uwschelp@yahoo.co.jpまでお願いいたします。
教えていただき成功しましたらウェブマネー5000円分か直接振り込みいたします。
uwschelp@yahoo.co.jpまでどうかよろしくお願いします。 >>207
>>208
ありがとう
一度テキストをリスト化するんですね、勉強になりました
dir /o-d | findstr 日付 >>temp.lst だと出力したファイルのテキストの処理が面倒そうだったので
forfilesを使って以下のようにしました
Cmd = "forfiles /p c:\hoge /d 0 >>temp.lst"
DOSCMD(Cmd)
FID = FOPEN("temp.lst", F_READ)
〜
今回はテンポラリファイル作ったほうが簡単そうだったのでそっちでうまく処理できました DOSCMDについてというか微妙なんだけど、テラタームのTTLをDOSCMDで呼び出すとログイン後の初回処理に数秒〜時間がかかるんだけど何か理由あるのかな
TTLを実行するbat作ってDOSCMDでそのbatを呼び出す分には速度は落ちないんだけど解決策あるなら直接呼びたい >>210
改行で区切るだけだから、ファイル数2000以上あるフォルダでも配列化するのに1秒もかからんよ
txt = doscmd("dir")
array = SPLIT(txt,"<#CR>")
for i = 0 to RESIZE(array)
print i+"] "+array[i]
next すみません
プログラミング初心者なのですが質問させてください
uwscで可変長配列を使うことが可能でしょうか?
コマンド上で取得した変数を1度配列に挿入しその後もう一度変数を呼び出してその変数の要素数だけ処理を実行するマクロを作っています
ググったのですが情報が見当たらなかったのでご教授頂きたいです ググる前にヘルプ読めよ・・・
他のどんな言語より詳細にかかれててサンプルまであって新設設計なのに
これ見て解らんならセンスないし見てないなら問題外だわ >>214
使ってないのでわからんけど自分が試すとしたら
・TTLでのログイン処理の前にウェイトを入れても同じか
・TTLでsetsyncなど各種設定を変えてみる
・DOSCMD()ではなくEXEC()やPOWERSHELL()でも同じか
・起動時にSTART /WAIT を かませた場合でも同じか
とかかな >>219
POWERSHELL()でラグ無く実行できたよ、ありがとう >>208-215
どのくらいの数か分かんなかったので配列だとメモリ食うかなーってのと、
処理結果(対象)残るのが好みなんでファイルに吐いてたけどその辺はお好みで
forfilesは知らなかったけどこれ便利そう
> dir /o:s
恥ずかしいorz
ちなみに更新日時順にしてたのはリスト舐める時に違う日付出てきたら終わらせる為と
更新日時の順序でなんか意味があるかなと思って一応ってところ
全然関係ない余談だけどTeraTerm Menuってなんで微妙に知名度低いんだろう
大量のログイン用ttlをフォルダで管理してる開発現場が結構多いイメージ
puttyでも使うからってところは何となく納得したけど While !chkimg("gazou",0,,,,,,IMG_MSK_BGR4)
KBD(VK_enter)
SLEEP(3)
WEND
よかったら質問させてください。
画像が見つからなかったら次の行動に向かう方法はありませんでしょうか?
たとえば3回エンター押しても画像が出てこなかった場合スルーして次の行動に向かうなど
もしくは一定時間経過しても画像が見つからない場合次へ向かうなど
for kaisu = 1 to 3やnextなどElseを入れてもダメみたいでしたonz
すみませんがよろしくお願いします。 普通にifbでいいんじゃないのか
whileやfor nextの使い方が理解できてないみたいだし
カッコつけずに普通にifbで縦に並べ書きすればいい >>223
ありがとうございます。
ifbでいろいろ試してみます。 意味もわからずWhile使うとかすげーな
理解せずにどっかのソースをコピペ改変した感じか >>10-11
こいつやろ
人に聞くだけで何も考えない、まともに調べもしない奴の末路
質問はいいけど作成依頼スレではないとよく言われる意味がよくわかる while-wendはwhileの時に条件が合う間はループ
repeat-untilはuntilの時に条件が合ったらループ脱出
for-nextは指定回数をループ
ループ使うなら最低限覚えな 意味不明なコードを添える意図がわからん
無駄な気がして教える気力がそがれるだけやろw 自力でどこまでやったのか晒すのなんて当たり前だし、その方がどこが悪いのかだって教えやすいだろ
つうか>>1にも晒せと書いてある >>229
てめーみたいのはお呼びじゃねーんだよ
ここは乞食にスクリプトを書いてあげるスレじゃねえっつのアホか >>222
ヘルプかググるかでUWSCの「BREAK」の項目をみて
FOR kaisu=1 TO 3
NEXT
なら
中で画像をみつけたとおきにBREAKをかける
WHILE !chkimg("gazou",0,,,,,,IMG_MSK_BGR4)
WEND
なら
中でループの実行回数を数えて3回に達したらBREAKする 画像がどうこうとか以前に基本的なプログラミング能力が皆無でしょ
こういう頭使えない人にはマクロは無理だろうね chkimgで取得できる座標と
adb使って指定する座標ってウィンドウ枠分ズレてる気がするんだが、どうなんだろう 業者が作ったスマホゲーの周回ツール落としたら
chkimgxあってワロタ
大活躍だなぁおい やっぱりこのスレはプログラミング能力が問われんのか?
素人は出入り発言禁止か? 素人初心者と言えばなんでも許されると思ってんのか知らんが
単純に自分で調べも考えもしないで人をアテにするだけのやつが叩かれる
ただそれだけのことが分からないアホは死ね 明らかにコード作ってもらおうってのがミエミエのやつが
くるようになるからな
初心者甘やかしてると 荒れる原因のほとんどにchkimgが入っている
chkimg禁止にしようぜ ほとんどがゲームに使いたいだけの糞ガキだろうしな
あの某ゴミアプリ開発のキチガイもゲーム野郎だったし
ゲームでマクロ使いたがる奴は本当にろくな奴がいない つまり専門家共が時折現れる不躾な素人初心者を叩くスレか? そういうことじゃなくて。
画像での条件とか繰り返し関連はUWSC以前にプログラミング自体わかってない人でしょ。
そういう人は、まずプログラミングの勉強したほうが良いということ。 叩かれて悔しい思いしたのはわかるけど
反省もせずそんなことばかり言ってるから君は成長しないんだよ… オレは素人だけど仕事で使うんで自分なりに頑張ってんだけど、
スレタイに「集まれ」って書いてっから覗いてみたら死ねとか…
あんまりショックだったもんでついつい >>247
ブラウザいじくるのに使ってるだけだからchkimgは使ってないよ
ここで不躾な質問もしてないから叩かれてないよバカが 質問への回答を強要されたとかなら怒るのもわかるが
応じられる人がこたえてるだけなのになんでそれをどうこう言うんだ?
こういう状態を荒れてるととらえるなら
荒れる原因は質問者ではなく
自分の理想とするスレのあり方にこだわって
自分の気に入らないレスをするなとかいう書き込みなんじゃないの
まぁこのレスもそのひとつなわけだが >>250
馬鹿が馬鹿なりに無い知恵絞って長文書いたんだろうが、完全にブーメランだな
自分の気に入らないレスを見たくないなら、自分の理想とするスレをお前が建ててそっちでやればいい 事実上開発停止しているソフトで初心者の相手以外なんの話題があるのよと思うが…まぁ初心者が論者に絡まれるのも可哀そうだしね これだけ言われても叩かれる理由を初心者だからと言い続ける必死さが笑える 結局頭が悪いんだろw
ヘルプを読めばわかること、検索すればすぐわかること、
その程度のことすらせずに人を当てにすれば批難されるなんて、どこであっても当然のことなのにな
テンプレとかFAQとかググれカスという言葉がなぜ生まれたのかと思ってんのかねこのバカどもは
あまつさえ、それらを初心者の一言で片付けて曲解するどうしようもない頭の悪さ 初心者だから叩かれているのではない
最低限のことをしないから叩かれているのだ
これをあと何回言えば通じるのだろうか 悔しくて自分がそんな無能であるということを絶対に認めたくないから
初心者だから叩かれる、素人を叩く酷い連中だ、とずっと言い続けるよいつまでも 無知は仕方ないが無勉強はよろしくない
まずは自分で勉強 それなりに努力
>>222とか無勉強の代表格だろ >>10-11から進歩が全くみられない
叩かれて当たり前 オレらが言いたいのはこういうこと
それを理解できず「初心者がぁー」「初心者にぃー」「初心者でぇー」
を連呼してるヤツは池沼アスペ扱いされても文句は言えない ここじゃなくても、ヘルプ見ればわかるレベルのこと聞いたら
怒られるのは普通のことだよなあ >>260
ほんとそれ
実際に>>10はこれだけ基礎的なことなのに>>10の時点では誰も叩いてないじゃん
それは自分でどこまで書いたのかまできちんと貼って質問してるからだろ
その後の>>222にしたって、>>226で指摘されるまで叩かれてはないし
この前も必死に噛み付いてた奴も>>254も同一人物かは知らんけど
まず自分たちの言っている初心者云々ってのがどんだけ的外れか理解しろ >>249
誰も君がchkimgを使っているなんて言ってないよ…まあいいや。
ちなみにお仕事はなにを?
君みたいな日本語の通じないお猿さんにもできるお仕事が何なのかすごく気になる。
バナナを棒で叩くお仕事かな?
でも学習能力もなさそうだし、バナナは取れないか… 初心者スレ立てるか
ヘルプ見ればわかるレベルの質問がこのスレに来たら
初心者スレに押し付けてもらえばいいし ま〜た伸びてるから荒れてるだろうなと思ったら案の定かw
お前らプログラミングスキルはあっても煽り体制とスルースキルはないのなw すみません
nox(最新)でゲームを自動化しようとしてるのですが、マウスクリックなどの操作を受け付けてくれないですし、記録する時も記録出来ません。
何かやり方あるのでしょうか ヘルプに書いてあることすら僕が教えたい!ってのもすげーな
どれだけ自己顕示欲に満ちてりゃそうなんだ 仰る通りで頭悪いし大した仕事じゃない自分でどうにかできる程度
いつものこの流れがどうにも気に入らなくてイラッとした 半年ROMれか。このスレも前スレもオレが立ててるからな、
相当頭悪いし学習能力がないんだなオレは >>270
お前はそういうけどな、いろんなジャンルで初心者スレが存在するからな 初心者スレ建てるならついでにこういうゲーム知障とchkimg関連も引き取ってくれ 仮にここから初心者いなくなったら頭の良い方々はどんなお話するの? 過疎って初心者スレに煽りに来るんでしょ
初心者猿とプログラマ猿の争いが続くんでしょw 教えて欲しい奴と教えたい奴が存在してるならそれはそれで成り立ってる気もする
気に入らん人は何故それがダメだとおもうんだろう
そしてそれがダメならどんな話をしたいんだろう
threadでchkimgXを同時に処理させてエラー出さない方法とかなら許してくれる? chkimgともちろんchkimgxと泥エミュ含めたゲーム全般で引き取りでよろしく ゲームの話題が嫌われるのは調べればすぐに分かるような事を調べもせず聞く人が多いから?
なら例えゲームの話題でもそうじゃない場合は大丈夫なの? >>281
ゲームの話題だと気付かれないように質問を偽装すればいいのでは?w >>281
ゲーム側の仕様で駄目だったりするから。
独自の仕様を理解していないと不具合の解決は出来ないから。 >>281
チートの助長をしたくない(してはいけない)というのが一つある
ただチートの定義は人によって曖昧で話し出すと荒れるし結論も出ない
結果としてほとんどの場合ゲーム系の質問は回答が付きにくい 基本的にUWSCってexe化してようが暗号化してようが複合できますね
デコンパイラ的なものをばら撒けばゲームマクロ販売者を殺せるかなと少し思ったけどw
まあしない 今ドローン調べてるところだけど
Scratchで自動操縦できるらしいんで紹介。
2018-04-09
【ドローンTelloプログラミング】未経験者が初めてのプログラミングに挑戦【Scratchの使い方】
https://www.droneskyfish.com/entry/tello-scratch
Telloってのは低価格のわりにすごいらしい。1万円台。 デコンパイラは何回か欲しいと思った事あるな
そもそも業者がuwscとか使用してるのか uwscの基本関数だけだとアニメーションから画像認識させるの厳しいですかね?
フレーム毎に複数用意すれば出来なくもないんですが安定性がなくて… >>291
画面全体を認識させようとすると厳しいかもな
あとOSがWin10の場合Win7に比べて大体100倍近くchkimgにかかる時間が増える 前スレのNekoMacroって公開停止したのか残念
DLしたヤツは有意義に使わせていただくわ お久しぶりです。
Androidエミュレータと通信してタップする機能を今実装しております。
Frepのような高速かつ滑らかな動きをUWSCから実現できる感じです。
通信なのでバックグラウンド操作が可能です。 会社や世の中がWinactorだのUipathだのうるさくてもUWSC愛用ですが
OCR機能をうまく取り込めなくて苦戦中っす
どなたかお知恵を。。 >>297
苦戦中ですか
事情がよく分からないけどがんばってください >>297
過去ログでバッチファイル経由で呼び出すのを紹介したよ。
拡張子 .bat uwsc スクリプトでシリアル通信したく、一応サンプル探したのですがみつからず、
def_dll 使うのかと思いますがとっかかりが分かりません。
ATZ
OK
くらいで良いのでサンプルありませんでしょうか。 DOSCMDで可能だろ
Windowsでシリアル通信したことあるの? >>302
早速ありがとうございます。WinSock の例ですね。シリアルより
遥かに高度っぽいですがとりあえず単なるシリアル通信にどう
提要したら良いのかわかりませぬ。WinSock 使うならすごく
参考になりそうですが。
>>303
Windowsでシリアル通信したことがあるか?と言えば Tera Term
でシリアル通信をしたことはあるんですが、それ以上でもそれ
以下でもありません。Tera Term でマクロを書いてファイルインタ
フェースで uwsc とやりとりすれば何とかなりそう、とは思ったの
ですが、スクリプトとスクリプトがファイルインタフェースで通信し
ている図というのも何かかっこ悪いので uwsc マクロ一発ででき
ないかと思って。ちなみにシリアル通信する相手はワンチップ
マイコンです。 で、結局uwscは何のために使うんだ…?<シリアル通信
既にシリアル通信するアプリの操作をやらせるなら分かるが通信までやらせるの? >>304
DEF_DLL以前にWin32APIでのシリアル通信が全く分かってないわけね
そこから学習しないと駄目なんじゃね? シリアル通信てタイミングが割とシビアだから向いてないんじゃないかな
C#だかで普通に組んだ方がいい >>306
そう、uwsc で通信までやらせたくて質問させていただいている。
>>307
とりあえず Win32API で CreateFile()、GetCommState()、SetCommState()
ClearCommError()、ReadFile()、WriteFile()、CloseHandle() 使ってできそうな
ところまでは理解したんだが、DEF_DLL をどうすればよいかが判らないのです。
教えてエロい人。 >>308
賛成
通信なんて低水準の動作まで
マクロにやらせるのは筋が悪いと思う >>308
データロガーみたいな感じでチンタラデーターを
吸い上げつつ、そのデータの変化によってアプリ
を起動したりシリアルで指示したいと考えてまし
てね、全部スクリプトだと修正が楽なんですよ。 >>309
> DEF_DLL をどうすればよいかが判らないのです。
それが>>302だろ? >>312
うーん、それならNode.jsとか使えばいいと思うが >>313
DEF_DLL をどうすればよいか >>302 で判っていれば、
既にお礼を述べて引き下がっておりますのだ。 >>312
ソケット通信をPythonで書いた人がいるらしいけど
重すぎて速度が出ないらしい。
Pythonは結構速いんだけどその何桁も遅いUWSCで通信は無理。
スクリプトでやりたいというのは別にいいけど、UWSCはやめとけ。
>>314 の勧める Node.js ならシリアル通信のサンプル出てくる。 実は、現在ファミコン風ジョイパッドのスイッチに
センサーをつなぎ、常駐 uwsc スクリプトで10回/s
ほどでポーリングしてるのです。
ジョイパッドのボタンを見る def_dll は
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
# これは uwsc 掲示板で教えてもらいました
とりあえず、この程度のチンタラで良いのですが、
ジョイパッドの問題は、受信のみで送信ができない
こと。些細な問題はボタンのオンオフで Windowsが
ユーザ操作が発生したとして GetLastInputInfo の
値を更新してしまうこと。
これの置き換えとして性能は何ら問題なし。
もう少し粘って、回答なければ uwsc スクリプト
から通信 exe を呼ぶことにします。.js は好きく
ないので。 >>309 で挙がってる関数に関してですが
関数定義と、関数がどのDLLにあるかは
https://msdn.microsoft.com/ja-jp/library/cc429126.aspx
https://msdn.microsoft.com/ja-jp/library/cc429605.aspx
https://msdn.microsoft.com/ja-jp/library/cc429264.aspx
に書いてあります
DLLは全部 Kernel32.dll
引数に度々構造体へのポインタが登場しますが
構造体の定義は
LPXXX ならXXXのロングポインタなので調べる構造体はXXX
どの構造体もググれば出て来ます。
引数には
def_dll joyGetPos(uint, {uint, uint, uint, uint}):uint:winmm
のように{}に展開して書くだけです。
挙がってる関数で使われる構造体の中には特別変わった型はないのですべてコピペでOKです
その他の関数の引数にしても宣言の型をほぼそのままコピペできます
問題になりそうなのは3点です
次レスへ
つづく 問題になりそうなのは3点です
1つめは
UWSC で DEF_DLL の説明にない型をどうするか
具体的には HANDLE で、これはポインタですがLONGで問題ないと思います
(心配ならDWORDに)
LPCTSTRは 変更されない文字列へのポインタでstringです
2つ目は
CreateFile()が実際にはDLLに存在しないことです。
なのでDEF_DLL CreateFile(... はエラーになります。
文字列や文字列のバッファを引数として持つ関数functionの実態は
ASCII/CP932用の functionA()とUTF-16LE用の functionW()です。
つまりCreateFile()として実際にあるのは
CreateFileA()とCreateFileW()です
これはVisual Studio などがあれば dumpbin /exports DLL名で確認できます。
ない場合は https://forest.watch.impress.co.jp/docs/review/748651.html のようなもので
3つ目は
ReadFile(),WriteFile()の
LPVOID をどうするかです
文字しかやりとりされないのであれば
DEF_DLL ReadFile(LONG, Var STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, STRING, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
のようにすれば楽なような気がしますが、
CRLFのような制御文字などがあることも考えると使えなさそうです
また0x00のようなデータがあればそこで切れてしまいます(たぶん)。
DEF_DLL ReadFile(LONG, Var BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
DEF_DLL WriteFile(LONG, BYTE, DWORD, Var DWORD,{DWORD,DWORD,DWORD,DWORD,DWORD}):bool:Kernel32.dll
とかで1バイトずつ扱うのが安全なのかなという気がします >>318-319
詳細な説明ありがとうございます!!!
とりあえず先に進められそうな気になってきました。
うまくいったらどの程度の性能が出たかご報告させていただきます。
一か月経ってもなんの報告もなかったら、試行錯誤のうえうまくいかずに断念したと思ってください。 0から99のパターンがあって、それぞれのパターンに合わせてSLCTBOXみたいなボタンで瞬時にマクロを動かしたいんだけど良い方法ない?
SLCTBOXは上限が31だった >>321
ローカルディスク上に html でを好きなだけ
ボタン相当の文字列を並べる(リンクなし)。
ループで左ボタンのクリックを待つ
while 1
if GETKEYSTATE(VK_LBUTTON) then break
SLEEP(0.1)
wend
クリックした場所の文字列を読み取る
wi = GETID(GET_FROMPOINT_WIN)
cx = G_MOUSE_X - STATUS(wi,ST_CLX)
cy = G_MOUSE_Y - STATUS(wi,ST_CLY)
RESULT = POSACC(wi,cx,cy)
読み取った文字列に対応したマクロを起動する。
※ IE, EDGE でないと POSACC で読み取れない
html を uwsc マクロで書いても良い html使うならCREATEFORMでname読み取らせるってのもある
.html
<input type="submit" name="No0" value="0を実行"></td>
<input type="submit" name="No99" value="99を実行"></td>
.uws
while 1
OBJ = CREATEFORM()
If OBJ="No0" Then "0の実行内容"
If OBJ="No99" Then "99の実行内容"
wend
相当端折ってるけどこんなん
レイアウトの自由度高いから処理済みのボタンは非表示にするとかタイムスタンプ付けるとかなら結構便利 uwsc でシリアル通信したがってる 301 ですが
とりあえず PC-PC 通信での中間報告。
まだ DEF_DLL まで行ってないのですが、データ
送信に関しては >>303 の仰る通り
// DOSCMDでシリアル送信できました
DOSCMD("echo hello com3>com3")
// またFPUTでも送信できました
fp = FOPEN("COM3",F_WRITE)
if fp < 0 then exit
for nn = 1 to 1000
FPUT(fp,"hello! "+nn)
next
FCLOSE(fp)
フロー制御無しで文字化けしてないので、多分
途中待ちなしでフル性能。
受信は DEF_DLL のお世話にならんとダメかな。
COM に対する _kbhit() みたいなのができれば
それでいけそうな気もしてるんだけど。 <com3
これは?
FPUTでいけるならFGETもいけるんじゃ? >>326
MS-DOS 時代思い出しながら送信側で ctrl+z 叩いてみたり
思いつくこと色々やってはみたんですがうまくいきませんでした。 >>328
こんな USB シリアル↓の TXD と RXD をクロスしてつないでるだけだからハードウェアフロー制御は無いな。
https://www.amazon.co.jp/gp/product/B014VVPZT4/
実際、1行の文字列が長いと何故かデータが欠落する。
# まだ DEF_DLL に手が回ってません。 uwsc でシリアル通信したがってる 301 ですが
PC-PC 通信での中間報告第二弾。
とりあえずCでシリアル送受するだけの .exe を
作ったらこれが超快適に動作。
この .exe と uwsc スクリプトとがタスク間通信
するのと、.exe は使わずに DEF_DLL でシリア
ル通信するのとどっちがいいの?と悩み中。
DEF_DLL 使って .exe と通信するくらいなら、
.exe 使わず DEF_DLL 使ってシリアル通信し
た方が無駄がないよね、みたいなところで、
これが最終報告になるかもしれません。
ではでは。 .exe がアホに見えるなら、オマエの PC から .exe ファイル全部消しちゃいなよ。 お前なんでもかんでも拡張子で物言うの?
.txt とか .uws とか.docとか言ってるわけ? ワード文書で送るよ、ポータブル・ドキュメント・フォーマットで送るよなんて聞いたことがない
DOC で送るよ PDF で送るよ、が標準だろ。それが分からなければ情弱と思われるぜ。 まあ.は付けないけとzipとかmp4とかは普通に使うわ 君ら普段から ドットエグゼ 起動して下さいとか会話してんの?
コンパイルして ドットエグゼ 作りますとか…は言うな
でも普通はアプリケーションとか実行ファイルって言うと思うな、文章でもね
>>330は .exe 連呼しすぎでちょっと気持ち悪いなとは思う
自作アプリ とかにしたら分かりやすいけどやっぱ繰り返しすぎなところが気にはなるかも >>341
アプリケーションにはデータファイルや設定ファイル、実行ライブラリやサンプルデータ、画像データそのたもろもろが全部含まれるから
いちいち拡張子を列挙できないだけ。
お前が言うアプリって setup.exe の事だろ。
スクリプト業界だとスクリプトファイル(テキストファイル)をアプリとか言ったりするから、.exe ファイルの事を必ずしも意味しない。
例えば印刷アプリの合わせ名人とかラベル屋さんとかは
Adobe AIR のスクリプトが実体だと思うけど
アプリケーション扱いだろ?知らんけど。 >>342
ごめん何が言いたいか分からないしあんまり自分の認識とも合わないけどどうでもいいよね
別に自分が言い出した話題でもないんだが横から口出ししてすまなかった、もう終わりにしよう > 知らんけど。
この一言が全てを語ってる。というか騙ってる。 uwsc でシリアル通信したがっていた 301 ですが
昨晩 DEF_DLL に挑戦し双方向通信が完成しました。
性能的にも(そもそもシリアルは遅いですから)
実用上、全く問題ありません。
これにより、C で作った .exe は不要になり、
.uws だけで生きていけるよになりました。
# .exe は発音上ドットはつけず、イグゼです。
# .uws は心の中でウワスと発音していますが、
# Win10 の SPEAK() はウウォズと発音しますね。
以下いくつかの点ですが、HANDLE を LONG にする
と、エラー時 -1 が戻りましたが、DWORD にすると
$FFFFFFFF が戻るという些細な違いがありましたの
で LONG で FIX しました。
DEF_DLL WriteFile はちょっと嵌りましたが、2個目
のパラメータを STRING にしたらうまくいきました。
受信は1バイトずつですが、送信は STRING ついでに
複数バイトをWriteFile 送出するようにしました。
関数に引き渡す構造体のポインタを NULL にする
方法が分かりませんでしたが、これは必須条件では
ないので、適当な実体を渡すようにしました。
>>318-319 の詳細説明を書いていただいた方には
改めでお礼申し上げます。
以上最終報告でした。 このスレでゲームの質問がウザがられるのはわかってる
ただどうしてもこれだけ知りたいんだ どうか教えてほしい
DMM版プリコネでどうしてもuwscが走らないんだ
何かしらの対策を講じてるのかウィンドウを認識しない
一体これはどうしたらいいんだろう?
個別のゲーム名出すくらいドン詰まっててもうギブアップ助けてください >>352
プリコネ知らないけど仮想PC経由でやってみては? オレはプリコネってだいたい想像はつくけど
質問する立場なのに略称を使うのはどうかと思うぞ ウザがられると知っていてなお個別のゲーム名すら出す潔さにワロタ
なのでマジレスするが、ウィンドウ認識しないってんなら
ちゃんとuwscを管理者権限で実行してるか? >>352
ここはゲームマクロスレじゃねえぞカス消えろ 何かしらの対策を講じられてるんだろうから
どうしようもないんだろう >>352
マジレスすっと 過去スレにヒントがあるぞ
それを使うと直接プロセス(ウィンドウ)を指定できる ゲームの話したいならゲームスレ立てろチートカスども 口汚く罵りたいなら性格悪いやつ用スレ立ててそっちでやればいいのに スクショ取得→ペイント起動→貼り付け→ペイント最小化の動きが2秒以下でできて凄いわ
今までスクショ撮る為だけにソフトいれてたけどUWSCあれば要らないな >>363
そもそもスクショ撮りたいだけならsaveimg使えばいいしな UWSC使ってるのにわざわざペイント経由する意味ある? whileとrepeatどっちの方が使うこと多い?俺はメインループにwhile使って細かいループにrepeat使うんだが >>353
>>355
>>359
ありがとうございました 迷惑かけてすいません
管理者権限で実行したらたしかに動きました!
ほんとにありがとうございました >>365
言われてみれば確かに
今までそうしてたから撮った後に一枚ずつペイントで編集分類してたけど
編集分類の部分も自動でさせられたら便利さ半端なさすぎるな >>366
初回だけここはループの最後に判定したいからrepeatかな、とかやってみたけど
なんの意味もないなあ…と思ったから後はwhileしか使ってないw
repeatとか使ってる例もほぼ見ないしrepeatでないと困ることなんてないだろ、逆はあっても >>369
確に条件が整っててもループ内の処理を1度はやるなんてことほぼ無いしなあ
癖でrepeatばっかり書いてるけどそもそもループの初回はほぼ確実にループする条件に当てはまるからどっちでもいいんだよな 癖か…俺の場合chkimgとの組合せ以外だとほぼwhile trueでしか使ってないから偉そうなことは言えないw >>371
俺も似たようなもんだけど強いて言えば事前にPublicで変数を定義して並列処理で経過時間を計測、それを1回は処理したいループの脱出条件に入れるとかだな >>366
俺は単に if や for で済むようなところでも、まず while 1 と
書いてから続きを考えることもある while 1 主義者。
if で始めてリトライが必要になると結局 while (等)に直さなく
ちゃならないからな。で、break で抜けるか、repeat でリトライ
するか exit で終わるか。最後の break 忘れてたまに永久
ループするが、自分のルール決めとくと色々と楽。 1回しか処理しないwhileループ(ループしないんだけど)は結構使う
goto気分なんで作法としては良くないんだと思うw >>373
俺も最初はwhileでやってたんだけど最初に条件書いて後からこれ無理じゃんって書き直すのが面倒になってrepeat使い始めたんだよなあ
結局whileもrepeatも殆ど同じだし好みでやれって感じなんだけどもね while 1
の次の行に break と書けば
wend までがコメント扱いになるしな
あ、repeat 〜 until 0 なら完全に同じか ループじゃなくてエラー抜けしたい処理を repeat 〜 until true で括って
breakでエラー抜けさせられるのが便利かなとおもったり 取り敢えず試行して結果ダメならもう一回 → repeat
条件判定してやるべきことがあり、失敗がある場合 → while
条件が連番 → for if
普通こうだろ?
while 1 は条件認識に失敗してもう一度やってしまう可能性があるから、2回やってはダメな作業ではやるべきではないと思う
キー入力は処理が終わった後 while getkey(vk_???); wend を入れると2重操作しなくなるので個人的にお勧め >>379
普通はそうなんだけども条件でループさせたい場合はifbの後にrepeat入れちゃうわ
複数分岐の場合は最初に全部条件書けるし 仕事とかでコーディング規則とかうるさいならまぁ意識するけど
uwscなんて自分で半分趣味でやってるからrepeatだろうがwhileだろうが全然気にしてないわ 仕事や規則(規約)じゃないからこそ自分好みに拘るのが楽しいんだがな
毎度変わるのはまだ量が不足してんじゃないか? そんなん人それぞれ
自分の考えが全て他人に当てはまるもんじゃないんだよ 俺もそう思うね
好き勝手できるからこそ拘れる喜び
ポリシーの見えない無秩序なコードは下だな 趣味でやってるもんに上も下もねえだろ
なんですーぐマウントとりだすかね…
仕事で無秩序なコード見せられたら確かにキレるけどさ UWSCのバグなのか良くわかりませんが、
Thread あいうえお(1)
Procedure あいうえお(A)
select A
case 1
処理
case 2
処理
のようにし、普通に動くんですが、稼働し続けると1週間に1回とか、1ヶ月に1回ぐらい、
select A の行を指して、オーバーフローor型の不一致エラーが出ます。関数のカッコの中は正数のみ指定していて、変数などは渡していません。
なにか対処方法はありますでしょうか?
また、もうひとつUWSCを起動して、メインUWSCのステータスを定期的に取得して監視してるのですが、上記のエラーで停止していても当然ながら正常のステータスしか返ってきません。
エラーのメッセージが出て停止していることを、別のUWSCから検出する方法はありますでしょうか?(メッセージボックス自体の画像認識以外で) どんな文書いてるかが分からんからあれだけどAに入る値が無い場合だとそのエラーが起こる
()内の正数を決める部分でエラー起こしちゃってるんじゃないかな? >>389
別のUWSCではないけど、
Try〜EndTryでそのSelectを囲っての検出はどうですか? if文を処理の途中で中断させるにはどうすればいいですか?
UWSC自体を停止や、終了は無しでお願いします >>392
ただのifなのにループのbreakみたいな不細工な書き方はしない
中断条件を満たした場合の処理と満たさなかった場合の処理を書けばいいだけ >>390
スクリプトのあちこちから、
Thread あいうえお(3)
とか、
Thread あいうえお(5)
とかで呼び出してます。
数値無しで呼び出してる箇所はありません。
ずーっと繰り返してるマクロなので、稼働1週間とかでエラーが出るのが謎過ぎです笑 >>391
なるほど〜
実は全体が4000行ぐらいあって、こういうのが週1とか月1で発生してて、毎回発生箇所がバラバラなので、発生の度にその箇所をしらみ潰しにエラー回避処理するのはなかなか骨がおれるんです笑 >>379
>while getkey(vk_???); wend
ああ、こう書けばキー入力した状態が残るの100%防げるんだ
思考停止でSLEEP挟んで物理的に時間取ってたわ
WHILE TRUE
IFB GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSEIF GETKEYSTATE(VK_???)
SLEEP(0.1)
ELSE
BREAK
Endif
WEND
ほんでこんな関数作って挟んだらいいのかな全部置換しよ vk_???の???に変数入れることって出来ない?inputで手に入れた文字を入れたいんだけど key = "VK_" + ????
GETKEYSTATE(key)
でできない?試したことないけど >>397
VK_???はただの定数だから対応する数字を入れればいいよ
VK_Aは65とか >>399
それは分かるんだけどその数字の入れ方が分からん
文字=input
kbd(vk_文字)じゃダメだった >>400
インプットされた文字をASC()でコードにして
文字=ASC("A")
ってしてそのまま
kbd(文字)
とかって数値として入れればいいはず 400のアレンジで書くならこうね
文字=input("入力して")
コード = ASC(文字)
KBD(コード) 文字 = input()
eval("kbd("+"vk_"+文字+")")
これでもできるけどオススメはしない
文字 = input("キー名を入力(vk_*** の ***部分)")
while eval("getkeystate("+"vk_"+文字+")");wend
while true
if eval("getkeystate("+"vk_"+文字+")")
print 文字+"キー押下中"
endif
sleep(0.1)
wend elseifを使うとカーソルが左上に移動するのは昔からだっけ? >>405
何言ってるのか分からんがたぶんそれエディタの機能じゃね elseifさん関係なかった
その下でVKをBTNで押してるのに気付かなかった Rubyをuwscみたいに実行ファイルにして同等の機能(関数)を付けたら20世紀に激震と大改革をもたらすと思うよ >>408
なんでelseif使うとカーソルが移動するとおもったの?
しかも昔からだっけとか長いことUWSC使ってるけどみたいな雰囲気出したの? >>410
おい、傷口に塩を塗るのはやめろよw
かわいそうだろw Rubyみたいなネトウヨのオワコンツールwwww
しかも20世紀に激震って20世紀終わってるじゃん すいません、FUKIDASIの位置をウィンドウ基準で出したい場合はウィンドウ位置を出して座標に加算するしか方法は無いでしょうか? >>413
吹き出しの位置がウィンドウの位置に関わるなら
ウィンドウの位置の座標使えばいいんじゃないの?
その方法で何が不都合なのかがわからない なんかオプションしているしたら加算しなくても自動で追従してくれたりしないか、と言いたいのでは?
まあ、リファレンスにないもんはないが FUKIDASIといえば、あれ嘴表示したときは吹き出しウインドウの基準座標を
嘴の先端にしてほしかったな
現状何のための嘴かって感じ インストーラーとかを起動させるラッパーとして起動させて
入力欄に入力書式や手順を示す際とかに使ってたよ
例えばIPアドレス入れる際にセグメント違って入力した時にポコッと出して
__________________
<このままでは通信できない恐れがあります|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
とかね 吹き出しの基準点が左上だから
左や上に出す時はそこまで問題じゃない
問題になるのは右側や下側に出したい時。
フォントの大きさとか計算して左上基準点を逆算してやらないといけない
それでもあんまりうまくいかなくてずれる >>415
まさにそう言う感じです
chkimgに対するmouseorg的な関数がfukidasiにもないかなーと思いお聞きしました >>417
くちばしの形を変えようと思ったときに座標を再計算しなきゃいけないほうが面倒 >>421
ん?どいういうこと?
俺は吹き出しの位置をウィンドウの左上座標で指定するのではなく
嘴の先端座標を指定出来ればいいって話をしてるわけだけど 嘴の先端を直に指定できれば計算なんか不要だねって話でさ >>423
fukidasi("ABC", 0, 0, 0)
が
fukidasi("ABC", 0, 0, 1)
になったとき、先端を0,0にしてしまうと左端が隠れちゃうのは理解できるよね? >>424
理解できるよね?、ってあんた吹き出しを
画面の左上に出すことなんてないでしょ
あってもその時は向き変えたり、というか嘴自体出さんわな
嘴付の吹き出しってのはマウスだったりボタンだったり何かのウィンドウだったり
特定オブジェクトの座標に対して出すものでしょ
周囲が画面外みたいな状況なんて無いわ
第一、その言い方だと画面の左下では
> fukidasi("ABC", 0, 0, 0)
これで吹き出し隠れちゃうじゃん 質問させて下さい。
uwscで自作させたマクロをブラウザゲームでバックグラウンドで
走らせているのですが、ゲームによっては
BTN(LEFT,CLICK,X+random(5),Y+random(5))などの左クリック処理がうまく
機能しません。
動かないわけではなくちゃんと構文通りに目的の場所をクリックしているのですが
反応が薄いというか、数回やって1回反応する感じになります。
手動や、バックグラウンド処理を外してクリックしたら一回で反応するのですが‥。
クリック速度が早いのが原因かもと思い、
Procedure マウスクリック(POINT_X, POINT_Y)
MMV(POINT_X,POINT_Y,200) //まずマウスを移動させる
BTN(LEFT,DOWN,POINT_X,POINT_Y,200) //左ボタンを押す(押したまま)
BTN(LEFT,UP,POINT_X,POINT_Y,200) //左ボタンを離す
Fend
をcallで読み込んだり、+randomを付け加えたり色々やってみたのですが、
反応したりしなかったり。キャッシュを削除したら治ったり治らなかったり。
原因と対処がよくわかりません。 対策がわかる方いらっしゃらないでしょうか? バックグラウンドだと反応遅いのようであればシステム設定のパフォーマンスだったかでバックグラウンドにふってみれば
バージョン書いてないけどどのWindowsでもこん設定あったような
もしくはタスクマネージャーでブラウザとuwscの実行優先度上げてみるとか >>425
> あんた吹き出しを画面の左上に出すことなんてないでしょ
> あってもその時は向き変えたり、というか嘴自体出さんわな
> 嘴付の吹き出しってのはマウスだったりボタンだったり何かのウィンドウだったり
> 特定オブジェクトの座標に対して出すものでしょ
ああ、おれの使い方に全部の仕様を合わせろというおれ様君でしたか
自分で関数作れば? UWSCは組み込み関数を直で使うと絶対後悔するから面倒でもラッパーつくるんだYO! >>430
通常のログウィンドウの上に出る下から上に流れるログウィンドウとして
こんな関数作ってるけど、基準点が下に出来たらこんなの要らんってのが正直な所
PUBLIC DIM ballog[20]
PROCEDURE bal(str="")
fontsize=9
logw = GETID(GET_LOGPRINT_WIN)
logw_x = status(logw, st_x)
logw_y = status(logw, st_y)
if str<>""
shiftarray(ballog, -1)
ballog[length(ballog)-1]=str
endif
s=""
for i=0 to length(ballog)-1
s=s+ballog[i]+"<#CR>"
next
balloon(s,logw_x, logw_y - (fontsize+5) * length(ballog) ,2,fontsize,"MS ゴシック",$1,$d0FFFF)
FEND >>430
これには同意
UWSCの文法も古くなってきたし
UWSC自体を外部から使うとなお良い // くちばし先端を指定した場合くちばし先端をx,yに合わせるBALOON
// x,yに合わせることでBALOONがデスクトップ外に出てしまう場合などは考慮していない
PROCEDURE BALOON_EX(str="", x=0, y=0, direction=0, fontsize=0, fontname="", color_fg=1, color_bg=0, transparent=0)
IF 0<direction AND 5>direction THEN
balloon(str, -1000, -1000, direction, fontsize, fontname, color_fg, color_bg, transparent)
MOVE_BALOON(x, y , direction)
ELSE
balloon(str, x, y, direction, fontsize, fontname, color_fg, color_bg, transparent)
ENDIF
FEND
// BALOONのくちばし先端をx,y位置に移動する
// direction 1:上嘴(yの下へ), 2:下嘴(yの上へ), 3:左嘴(xの右へ), 4:右嘴(xの左へ)
// SAVEIMG()でクリップボードにおいたイメージをPEEKCOLOR()で見ているので注意
FUNCTION MOVE_BALOON(x, y, direction) FUNCTION MOVE_BALOON(x, y, direction)
RESULT=FALSE
DIM idBaloon = GETID(GET_BALLOON_WIN)
IFB -1 < idBaloon THEN
DIM xBaloon = STATUS( idBaloon, ST_CLX ); DIM yBaloon = STATUS( idBaloon, ST_CLY )
DIM wBaloon = STATUS( idBaloon, ST_CLWIDTH );DIM hBaloon = STATUS( idBaloon, ST_CLHEIGHT )
DIM widthTrim = -1
IFB 1=direction THEN
SAVEIMG("", idBaloon, 0, 1, wBaloon, 1, TRUE )
ELSEIF 2=direction THEN
SAVEIMG("", idBaloon, 0, hBaloon-1, wBaloon, 1, TRUE )
ENDIF
IFB 1=direction OR 2=direction THEN
DIM xSearch = 0
WHILE (xSearch<wBaloon)
IFB 0 = PEEKCOLOR( xSearch, 0, 0, TRUE) THEN
widthTrim = xSearch; BREAK
ENDIF
xSearch = xSearch + 1
WEND
ENDIF
IFB 1=direction THEN
RESULT=TRUE; ACW( idBaloon, x-(widthTrim), y)
ELSEIF 2=direction THEN
RESULT=TRUE; ACW( idBaloon, x-(widthTrim), y-hBaloon)
ELSEIF 3=direction THEN
RESULT=TRUE; ACW( idBaloon, x, y-(hBaloon/3))
ELSEIF 4=direction THEN
RESULT=TRUE; ACW( idBaloon, x-wBaloon, y-(hBaloon/3))
ENDIF
ENDIF
FEND 使用サンプル
BALOON_EX("1", G_MOUSE_X,G_MOUSE_Y, 1, 0, "System",$1,$d0FFFF)
msgbox("下につけた")
BALOON_EX("あ", G_MOUSE_X,G_MOUSE_Y, 2, 49, "MS ゴシック",$1,$d0FFFF)
msgbox("上につけた")
BALOON_EX("cursor", G_MOUSE_X,G_MOUSE_Y,3, 36, "Times New Roman",$1,$d0FFFF)
msgbox("右につけた")
BALOON_EX("カーソル", G_MOUSE_X,G_MOUSE_Y, 2, 24, "MS ゴシック",$1,$d0FFFF)
msgbox("上につけた")
print "TEST Target Window"
DIM idwndTarget = GETID(GET_LOGPRINT_WIN)
DIM ileftTarget = STATUS( idwndTarget, ST_CLX )
DIM itopTarget = STATUS( idwndTarget, ST_CLY )
DIM irightTarget = ileftTarget + STATUS( idwndTarget, ST_CLWIDTH )
DIM ibottomTarget = itopTarget + STATUS( idwndTarget, ST_CLHEIGHT )
BALOON_EX("12あかさたな12345678901234567890<#CR>はまやらわ<#CR>12345678901234567890", ileftTarget,ibottomTarget, 1, 49, "MS ゴシック",$1,$d0FFFF)
msgbox("下につけた")
BALOON_EX("あかさたな12345678901234567890<#CR>はまやらわ<#CR>12345678901234567890", ileftTarget,itopTarget, 2, 24, "MS P明朝",$1,$d0FFFF)
msgbox("上につけた")
BALOON_EX("あかさたな1234567890<#CR>はまやらわ<#CR>1234567890<#CR>12345678901234567890<#CR>12345678901234567890<#CR>12345678901234567890", irightTarget,itopTarget, 3, 18, "MS ゴシック",$1,$d0FFFF)
msgbox("右につけた")
BALOON_EX("あかさたな1234567890<#CR>はまやらわ<#CR>1234567890<#CR>12345678901234567890<#CR>12345678901234567890<#CR>12345678901234567890", ileftTarget,itopTarget, 4, 9, "MS ゴシック",$1,$d0FFFF)
msgbox("左につけた")
BALOON_EX()
msgbox("消した")
BALOON_EX("てすと")
msgbox("デフォルト") >>434
×// くちばし先端を指定した場合くちばし先端をx,yに合わせるBALOON
○// 向きにくちばし(1〜4)を指定した場合くちばし先端をx,yに合わせるBALOON
// 引数はすべて BALLOON()/FUKIDASI()と同じ CLASSとFUNCTION/PROSEDUREを使ってスクリプトを組み替えやすくしたいのですが、その場合CHKIMG関数を利用する場合は一行目の「chkimg~」を残して以下の処理を関数化する形になりますか? 同じ処理を場合に応じて色々な場所から呼ぶので、function/prosedure化して別スクリプトから呼んだ方が修正の際の効率が良いと思いまして
ただその場合場所によってifb/elseifのどちらになるかが分からないしifb以下のスクリプトの実行自体がifb chkimgの戻り値に左右されるのでどうしたものかと思った次第です
PROCEDURE
ifb chkimg
処理
endif
FEND
としたものを並べれば実現できそうなのでその方向で実装して見ようと思います。
ありがとうございました。 それなら
ifb
自作関数
endif
の形を取る方がいい Chkimgxをthreadで並行処理させた場合のエラー解決方法教えてください どういう条件でどういうエラーが出るの?
まあマルチスレッドで叩いてるなら排他制御が必要とかだろうから
それでググれUWSCは言語レベルで排他制御サポートしてないからクソめんどいけどな 同じ画像が画面の複数の場所に表示される場合
chkimgをなるべく高速化したい場合は
@それぞれ表示される場所の範囲を指定したchkimgを表示される画像の数だけ用意する
A表示される可能性のある範囲全てを範囲内に含めたchkimgを一回実行する
のどちらの方が速くなるでしょうか?
その他の条件
・個別の範囲の合計<まとめた全体の範囲
・同時に表示されるのは1つ >>444
そんなものは処理回数と範囲の兼ね合いでどうとでもなるんだから実際のデータで計測するがよろし THREADで個別に指定した範囲を監視させれば早そう ありがとうございます。
タイム計測で実際の時間を測った方が良さそうですね
threadによる常時監視は頭に有りませんでした、助かります chkimgxって外部DLL参照してたと思うけど
複数同時進行させたてもDLLメモリって共有じゃなかったっけ
DEFDLL最初にロードされてるからUWSCコアと同じ場所に格納されてるとしたらまた厄介な話で >>449
知らないこと無理にレスしなくてええんやで なんか面白いネタないかな〜できればちょっとお金になるネタ お前らがスクリプト組むときには
操作対象の状態を毎回取得した上で制御してるの? >>452
バッティングして誤動作するとわかってるならするだろ >>452
基本はステートマシンやで
でも数ステップ程度ならヤラネ >>451
自動化関連展示会とか行って名刺配りしてたらお仕事貰えるかもよ >>456
そこまで必死ではないw
クラウドソーシングとかまでになるとガチでやんないといけないし
1ヶ月分の飲み代ぐらい稼ぎたい・・・安倍も副業しろって言ってるし pro版でエクセル操作をしたかったのですが現状ライセンスキーを入手するのは困難ですかね・・・? >>459
新規での取得は出来ない
譲渡の規約がどうなってるか分からないが、可能なら既存の購入から譲ってもらうことはできるかも UWSCは新規で有料買えないし
メンテできないからもう将来性ないよな
……代替ツール何にする? >463
UiPathを試しているところ
日本語化されたし導入のハードルは低そう >>463
ツールではなく言語になるけどPythonを試してる
他の言語より学習コストが低くコードもわかりやすいらしい
確かにUWSCとVBAしかできない俺でも一応使えてる
ライブラリが充実してるしこの言語のユーザーが多いから
ネットにたくさん情報が転がってる
Windows以外のOSでも使えるのもいい
UWSCだけでは物足りなくなってる人にはいいかもしれない 前スレでキー晒してた人いたんか・・・・誰かもう一度・・・ // catchvideo.net で取得した 360p の動画とタイトルを Irvine 1.3.0 にセットするスクリプト
// ブラウザ側をブックマークレット(JavaScript)、Irvine側をUWSCで操作する。
// クリップボード受け渡しデータのサンプル:@URL:https://aaa @FileName:bbb.mp4
// ファイル名として使うため、ダメ文字を全角に変換している。
---- 取得側スクリプトのサンプル (改行コードを消してからブックマークに登録する) ----
javascript:/*20181024 paQ catchvideo.net*/
$("#input1")[0].value = "@URL:" + $(".download-list .quality:contains(360p)").parent().find("a").attr("href").match(/(.*)&title.+$/)[1]
+ "@FileName:" + $("span.title").text().replace(/\\/g, "¥").replace(/\//g, "/").replace(/:/g, ":")
.replace(/\*./g,"*").replace(/\?/g, "?").replace(/</g, "<").replace(/>/g, ">").replace(/\|/g, "|") + ".mp4";
$("#input1")[0].select();
document.execCommand("copy");
---- ここまで ---- 続き
---- Irvine側 UWSCスクリプト ----
dim data = GETSTR(0)
if !(Pos("@URL:", data) * Pos("@FileName:", data))
SOUND("beep")
exitexit
endif
ObjJS = CreateOLEObj("ScriptControl")
ObjJS.Language = "JScript"
dim src = "var m='"+data+"'.match(/@URL:(.*)@FileName:(.*)/);"
ObjJS.Eval(src)
SENDSTR( 0, trim(ObjJS.Eval("m[1];")) )
irMainID = GETID("Irvine","TfrmMain")
SCKEY(irMainID, VK_INSERT)
irID = GETID("アイテム設定", "TfrmFolder", -1)
SENDSTR( irID, trim(ObjJS.Eval("m[2];")), 8, true )
CLKITEM( irID, "OK", CLK_BTN )
SENDSTR(0, "")
---- ここまで ---- 実際の操作手順
1.catchvideo.net のテキストボックスに動画リンクをドロップ
2.Enter キー
3.ブクマアイコンクリック
4.1のテキストボックスをクリック(中身を消すため)
5.UWSC スクリプトを起動
3、4も UWSC から操作したらもーちょい早くなるかな。
4は JavaScript で出来そうなんだけど、ページが真っ白になるんでできない。
1万円ほどかけてYoutubeダウンロードツールとSDカード買ったのに全然使えないからこっちのスクリプト作った。
スマホなのに最大解像度でダウンロードが固定。
電池食い過ぎで1時間しか視聴等できない。
Youtube見るならAndroidだね。iPhone はダメ。
いや、上記スクリプトでダウンロードしてWi-Fi経由でVLCにもってけば iPhone でも見れるけど。
は?拡張機能でダウンロードしろ?
バグってブラウザとディスクが死んだんですよ。
純粋に拡張機能だけでダウンロードできればいいんだけど、連携アプリをインストールしやがって、そいつがディスクを破壊する。
音声と動画が分割だから、ダウンロード後に結合。そのアプリがバグ。 >>471
インストールタイプは糞ばっかり。
MP3と字幕のみダウンロードができるならありかな。
いちいち結合しないで音声別ファイルで再生できればいいんだ。 どなたかpro版譲ってくださる方いないでしょうかね・・・
諦めるしかないのか・・・ 何が目的かわからんが、エクセル操作とかpythonとかrubyとか適当なスクリプト言語なら余裕でできるんじゃないの
exe化も当たり前にできるし >>472
お望みの機能もそれ以上も全部入ってるよ >>475
競馬のオッズを10分置きに自動的に取得してエクセルに記録するってのを半年ぐらいかけて
ちびちび作ったのですが、いまさらuwscから乗り換えられず・・・ >>477
なんで Pro版が必要?
Excel じゃないといけないの?
JavaScript か VBScript で書き直してあげようか?
ここに送ってみて cc35n2zt0@sute.jp >>478
ご親切にありがとうございます。pro版を使いたい理由は、競馬意外にもエクセルでまとめたデータをuwscで出し入れってのをやっていたんです。
javascriptでエクセル操作できるんですね。今からで勉強してみようと思います・・・。 pro版の試用期間にexe化したファイルって期間すぎると使えなくなるんだっけ? 使えなくなります。他PCに移しても使えなくなります。 >>469 にはバグがあった。
文字列を「'」でくくってるせいで、URLとかに「'」があるとバグる。
(function() {/*文字列*/}).toString().match(/\/\*([^]*)\*\//)[1];
↑で文字列を処理するコードがあるけど、なぜか ScriptControl で呼び出した JScript ではCOMエラーになる。
仕方ないんで AddCode 使って関数登録して文字列は引数で渡したらうまくいったようだ。
関数登録は日本語を引数に渡すとバグると思ったけどとりあえず動いた。 UWSC あまりにもありがたかったので、お礼のつもりで
pro版買ったんだけど、一度も使ってないなあ、、 >>486
メルカリかヤフオク等でお取引して頂けませんか… コード書いたけどブロックされて書き込めない・・・
けど、ほかの板にニホンゴで投稿できたんで
もう一度日本語だけで投稿してみるテスト よーし、じゃあ全角返還して投稿してみるテスト
使うときは反核変換してくれ。
サクラエディタなら全選択して「変換」-「全角→半角」メニューで出来る。
JaneID = GETID(”JaneDoe”,”TMainWnd”)
for i = 1 to 30
if マウス.check()
SCKEY(JaneID, VK_APPS)
SCKEY(JaneID, VK_O) ; sleep(0.1)
SCKEY(JaneID, VK_DOWN) ; sleep(0.1)
endif
sleep(1)
next
module マウス
dim flag
dim x, y
dim t
function check()
if x = G_MOUSE_X and y = G_MOUSE_Y
if t + 5 < GetTime() then flag = true
result = flag
else
t = GetTime()
x = G_MOUSE_X
y = G_MOUSE_Y
flag = false
endif
fend
endmodule >>491 について
いままでマウスぽちぽちでスレ開いてたけど、ほかの作業もしたいなー
でも、バックグラウンド動作がうまくできないなー
って事で、キーボード操作でマウスを開放するコードを書いてみた。
マウスでの作業を出来るようにするため、マウスを使ってるときはストップする。
使う条件がJaneDoe次第なのでコツがいる。
・スレッド画面は全閉じ。同じスレッドを開くと止まる。
・スレ覧にフォーカスを置く。
クリックしたらスレ開いて(スクリプトが)動かないので、スレ覧内でドラッグ&ドロップの要領でフォーカスを置く。
・アプリケーションメニューが表示された時などにマウスがかからないようにマウスをよけておかないといけない。
ログイン画面だと止まる。ただし、パスワード入力窓が開く。
ちなみに、やりたいほかの作業って言うのはアベマTVのチャンネル切り替え。 やっぱデバッガはあると楽だよね
print駆使すればなんとかなるけどさ >>493
エクセルをいじりたいんですが・・試用版でエクセル操作する方法ってありますか?
例えばuwscのスクリプト中でjavascriptを使ってエクセル操作なんてできるのでしょうか。
uwscが便利すぎて今更離れられない。 JScript の配列は VBAと違うから、変換するか、VBA を呼び出す必要があるらしい。
http://d.hatena.ne.jp/snaka72/20100405/1270483381
JScript で COM を使うには、WSH、HTAを使うか、ScriptControl を使うしかない。
ブラウザで動かさないんなら最初から VBA の方が効率がいいっぽい。
UWSC --> ScriptControl --> VBA --> Excel
UWSCは遅いから WSH か HTA がいいと思う。HTA なら画面があるからおすすめ。
しかし、言語を今から覚えるならサポート終了した言語や環境は外すべき。
MS標準ならスタートメニューの右クリックから起動できる PowerShell がいいと思う。 >>495
スクレイピングしたデータをExcelに取り込みたいならSelenium VBAもある
UWSCは手軽さの割に色々できるから便利なんだけど追求していくと壁にぶつかるし
今後どうなるかわからないし別の言語に乗り換えるタイミングではあるかも Excelのワークシート相手ならJScriptではなくVBS使えば?
PowerShell使えはその通り こういう思考力皆無の情弱に何言っても無駄
自分では何も考えられない調べられない はぁ・・・プロ版買っときゃよかった。よくまぁみんなそんな新しい言語ポンポン習得していけるな 言語なんて方言にすぎなくて、案外あーしたいこーしたいという根本的な組み方は変わらないもんだから
最初の一つできっちりその辺を抑えていれば二つ目以降は差分の学習だけでいいわけで
もちろん簡単なことやる範囲での話だけど、どうせ趣味のプログラムでは難しい部分はオープンなライブラリ使うから乗り換えも楽になる 自分が使うマクロとか組むだけならオブジェクト指向とかクラス設計とか難しい部分は無視できますからね
UWSCの文法分かってるならPythonとかに書き換えるのは案外難しくないですよ 今はエディタの言語サポートが強力だから大抵の言語はuwscより簡単だよ
人のコード読んだりモアベターな書き方追求したりすると覚えること多いからイヤになるけど
書いて動かすだけなら環境作るほうが面倒くさい
なお関数型言語は別 ほとんどPythonに移行した、と思ってたけどよく考えたらimacrosで処理してた部分が豪華になっただけだったw
裏で画像クリックする処理はごっそり残ってるというかそもそもそれメイン… すいません質問です。
ACCESSの自作フォームでエディタコントロールの順番を使ってSENDSTRが出来ません。
仕様でしょうか?
わざと自作システムのストレステスト為に回りくどい方法を試しています。
お願いします。 dmm,のエロ動画を複数選んで自動キャプチャ
ファイル名とジャケットも自動取得
TMPEGでバッチエンコード
MP3tagでジャケとタグの埋め込み
今のところ安定稼働ちう そろそろ乗り換えた方がいいのかなーとAutoItを落としてChkImgXのSample実行したらエラーだらけでそっ閉じ Python版のchkimgやってみたら毎回キャプチャファイル保存するけど
chkimgってそういうことだったの?? googleドライブなどの共有フォルダに置いたuwsからだとadbへのタップ情報が送れないのですが、こういう仕様なのでしょうか?
uwsc自体はgoogleドライブに置いた場合でもPC内においた場合でも動作し、読み込むuwsがドライブの共有フォルダ内にある場合のみタップ情報が送られません。
uws内には現在のアドレスを参照するような記述はしておらず、同梱が必要な画像ファイル、chkimgxファイルも全て同フォルダにコピーしています。 >>517
画像ファイルのパスをどう指定してる?
まあ、多分スクリプトからの相対パスなんだと思うがGoogleドライブ(を同期したフォルダ)で起動したスクリプトがカレントディレクトリどうなってるか調べてみて USBメモリに入れて持ち運んでたけどGoogleドライブから起動でいいんだな〜これは便利だわ
でもchkimgxからのadb shell input touchscreen tapも普通に動いたんでなんで原因は分からない >>518
ありがとうございます。
uwsc自体のカレントディレクトリはチェックしていなかったので調べてみようと思います。
ただ、画像認識自体は正常に動作していて、adbへのタップ送信だけが上手く行かないんですよね…
adbに関してはusersなどを介さない絶対パスですし、そもそも同じPCでも共有フォルダにコピーしたuwsだけが動作しないので… すいません、そもそもgoogleドライブは問題ではなかったかも知れません。
uwscをCからD、Eドライブに移して起動するとタップが動作しなくなりました。
違うドライブからの実行に関して調べてみようと思います。 >>521
それはコマンドプロンプトはドライブ跨ぎできないからかな
(パス通しちゃえばできるけど)
フルパスでadbの場所までcdしたり直接叩こうとするなら
最初に「d:」みたくドライブを切り替える必要がある あー、こっちはUSBドライブから動かしてたから別ドライブのパスは通してたのか ありがとうございます、恐らくそれが原因ですね…
自分の環境だとパスを通しても管理者権限で弾かれるのでcdするしかないので、cドライブに共有フォルダを置いて動作させるようにしたいと思います。
適切なアドバイス頂きありがとうございます! >>524
いや、だからcdする前にそれがcドラなら「c:」て打てばいいのだけど…今のコマンドの前に&で連結するだけよ
“c: & cd c:\ & adb ...” 管理者権限で弾かれるなら管理者権限をつければいいじゃない あっちゃ〜
Win10が起動しなくなって、自動修復を何度かやり直して復元させたのですが、UWSCに関しては2点ダメなところが出てしまいました。
1、Alt+F2が効かない
2、拡張子の関連付けができない(「ファイルの種類ごとに既定のアプリを選ぶ」で「.uws」が表示されません)
何か治し方ありませんかね〜 やっぱりそうですか〜
ちなみに再インストールってWindowsですよね、UWSCじゃなくて。
ああ、面倒だ〜 >>530
普通に考えてまずUWSC再インストール試してダメだったらOSじゃないの
関連付けなんてファイルのプロパティなりレジストリで直せると思うけど 多分レジストリが壊れてんのかな
1.ホットキー確認ツールあたりでみて他とだぶらないのにUWSC設定で変更するもダメ?
2.ヘルプ「メイン画面」にある「ファイルの関連付けによる実行」のとおりにをしてみてもダメならレジストリ書き換え 530です。
もう一回、自動修復かませたらAlt+F2も拡張子の関連付けも治りました。
おさわがせしました〜 >>507
もっと効率的に書ける方法を考えて新しい言語ができてるわけだから
>>508
Visual Studioでオブジェクト指向プログラミングやってたらUWSCなんて大昔の作り方しなきゃいけなくて逆に面倒だからな
Visual Studioなら入れるだけじゃん それにしても謎の終わり方だったな
トップページに開発とサポートは終了しましたって書けばいいだけなのにページを見れなくするなんて >>189>>190>>191
>作者のうみうみさんにご不幸があったと聞いております。サポートができなくなったため、
>関係者の方がサイトを閉鎖されたのだと思います。
これか
亡くなったって意味だろうけど関係者がいるならやっぱりトップページ403はおかしい winposっていうもっと簡易的な自動化ツールもあるみたいだね
プログラムから呼び出すことで面倒な部分を任せられるのはいいかもしれない サポートできないから閉鎖
バグが発見された時、直ちに修正版を公開しないと刑務所行きって法律があるから仕方がない。 wikipedia編集するやつなら2ちゃんねるのスレも公式も知ってるはずだから
ここに情報持ってこないのが意味わからんしな。
wikipedia ってマスコミが書いた内容しか投稿することが許されてないのに
なに勝手に妄想書いてんだって話だし。
マスコミが書いた内容以外は嘘であるという定義は2ちゃんねるでもそうなんだけど。 ID:zxvo8tPS0
久しぶりにマジキチを見たわ こいつ以前直リン踏んで不正アクセスで現行犯逮捕されたとか喚いてたキチガイかw おかしいですね。
キチガイにどうして論理的に整合性が取れてないと作れないスクリプトが組めるんでしょうね?
キチガイのレッテルを張る作業には整合性は必要ないけどね。 >>552
書き込みしてる奴はキチガイとキチガイ以下しかいない現実 >>553
おまえだけだ
おまえってもしかして作者?
死んだんじゃなくて精神がおかしくなってしまったのか・・・ >>554
仮に俺が作者ならここの連中は俺以下って事になるが? 「キチガイ以上」「キチガイ以下」
より悪いのは前者で後者はまともに近そう つまり>>553が言いたいのは
自分はキチガイでその他はまともだ
ってことだな 辞め方が普通じゃないし精神病んだという可能性は大いにあるな すいません、bootcampなどの画面解像度と座標がズレるようなケースでは皆さんどう対処されていますか?
ウィンドウ全体でchkimgxを掛けて取得した座標をそのままタップすれば大丈夫なのですが、固定座標や相対座標で取ろうとすると上手くいきません。
検索を掛けたのですが以前のこのスレでリモートデスクトップによる画像認識の不具合しか出ず座標関連については情報が見つからない状態です。
調べるべき単語などでも良いのでお教え頂けると幸いです。 ブラゲの周回用にwhile〜wend内にIFB CHKIMGを並べて
どの画像が出ても動く単純なマクロを作ったのですが(バックグラウンド処理)
そのブラゲはメモリリークしていて数週したらブラウザを再起動しなければいけません(F5不可
一定時間後に再起動させてまたループさせるという処理はできるでしょうか? ChkimgXを平行処理で使うとエラー吐いて動作しないんですが
解決策とかありませんか? ブラウザと他アプリ(Irvine)の連携作ってたけど、1回ずつの動作だった。
どうにか一括処理できないかと思ってたが、やっとできた。
1.一覧からURLリストを取る
2.「Open Multiple URLs」でまとめて開く
3.処理したタブを閉じ、次のページのブクマを実行し、ループ処理する。
2の時に前方の余分なタブは閉じ、窓は小さめで後方に余分のタブを10個くらい追加で開く。
すると、左端のタブを開いたときにタブを閉じる×が一定の大きさで出る。(Chromeの場合)。
その左端のバッテンはしばらくは続けて同じ大きさのバッテンが出てくるので、同じ座標で閉じる動作が出来る。
閉じると次のページが現れるので、単純な動作で連続処理が出来る。
ちなみにリストを取得するスクリプトはChromeのコンソールでこれを実行してコピペ
var sss = "\r\n";
var xxx = $(".col-md-2.col-xs-6").filter(":contains(ランキング(1時間),:contains(新着動画)").find("a").has("img")
.map(function() {
var url = $(this).attr("href");
sss += url + "\r\n";
// return url;
});
sss.replace(/https:\/\/xvideos-d.com\//mg, "https://xvideos.com/"); なんかuiのデザイン依存でめんどくさそうと思った
てか肝心(?)なuwscのスクリプトの工夫した箇所でも晒すならまだしも
そこら辺に転がってそうなブックマークレット貼られても困るわ >>568
タブは小さくならないけど、Windows標準のエッチでも、左端のバッテン固定で閉じれるよ。
UWSCで工夫したところなんてないし。
しいて言えば、パターンマッチをJScript呼び出してやってるくらい。
このパターンマッチを使うことで、1回のクリップボード使用で複数のデータを渡せて短時間で終わるようになった。
ObjJS = CreateOLEObj("ScriptControl")
ObjJS.Language = "JScript"
dim JSFunc = "function MySprit(data, num){var m = data.match(/@URL:(.*)@FileName:(.*)@PageUrl:(.*)/);return m[num];}"
ObjJS.AddCode(JSFunc)
SENDSTR( 0, trim(ObjJS.Run("MySprit", data, 1)) ); sleep(0.01)
SENDSTR( irID, trim(ObjJS.Run("MySprit", data, 2)), 8, true )
SENDSTR( irID, trim(ObjJS.Run("MySprit", data, 3)), 3, true )
あんまりいい方法じゃないんだけど、インテリマウス?
次に押すボタンのところにマウスがイクっての
UWSCの実行ボタンに持ってきて終わるようにしてたけど、
ループ処理ではUWSCの窓を基準に後ろのブラウザをクリックしてるから
うっかり位置合わせを忘れると悲惨なことになる可能性があるくらい。
手動ループしてたときは、「クリップボードを開けません」とか言う Irvine 側のエラーが出てたけど、
自動ループでやったら全くでなくなった。
タイミングをきっちり合わせられるようになったからかな。
ちなみにPageUrl はリファラに入れてる。
リンクが時間切れでダウンロードできなくなったときに元のページ開いてやり直し。(手動) >>568
UWSC使いは基本的にUWSCの基本的なコードは書けるはずだけど
他言語が弱いからむしろブクマの方が役に立つと思た。
xvideos-dからサビ抜きもといd抜きして本家開いてるのは
dのサイトがめちゃくちゃ遅いなーと思って。
d抜きの方はまだうぷってないけど気が向いたらうpるかも。 >>570
一つ勘違い
〇 SENDSTR( 0, trim(ObjJS.Run("MySprit", data, 1)) ); sleep(0.1)
エラーはSleep不足。0.1 に増やしたら直った。
このあとIrvine呼び出しだった。
>>570
どうでもいいけどSprit→Splitでは? ダメだ途中で止まる。
ブラウザの表示が追い付かないのか。
やっぱり表示完了チェックが必要だな。 アドレスバーを監視してある程度止まらなくなった。
ついでにページ開いて1秒でESCで読み込み止めたら快適になった。
あれ?
アドレスバー扱うんなら最初からUWSCでページ開いたらタブ一つでよくね? window.location使えばアドレスバーなんて >>577
COMとか使えないとUWSCから見れないし。
キャッシュを気軽にRAMディスクとかに移動できるのがChromeのいいところだけど
ドライバー入れたら重くなるしクラッシュして難儀したからいやだ。
んでうpった
https://dotup.org/uploda/dotup.org1700005.txt
使っちゃダメよ。
あくまで参考程度に。
ブラウザでダウンロードしたら一瞬だけど、これ使っても1Mbps以下の低速ダウンロードしかできない。
でも満足しとる。
300円回線でダウンロードするために使い始めたツールだし。 >>578 動作中に
別窓のChromeを移動してたら閉じてしまった。
ID指定のCtrl+F4でもほかの窓を閉じる事あるんだな。
やっぱり何が起きるかわからんなー Chromeは一窓しか上げてないのに4つも5つもタスクがあったり
20窓してるのに2つしかタスクが無かったりよく解らんね
579の話的に内部でウインドウID交換もしてるようだし完全には制御しきれないって事か プロセスの事ならChrome内のタスクマネージャ見れば何故かは分かるよ
ウインドウIDはuwscの識別方法がポンコツなだけで交換してなんかしてるわけない >>583
面白いね。
コマンドラインから起動で非表示はIEでもできるけど
それをlocalhostで他ブラウザから参照できるってのがいい。 今日初めて尼ギフ購入のため、ここに辿り着きましたが、皆様は日常や仕事ではどのような
場面で活用してますか。レスを読んでもレベルが違ってよくわかりません。 ブラウザゲームで自動で怪獣をやっつけるのに使ってますが何か >>585
botやスクレイピングやちょっとしたお助けツールなど色々使える 仕事では使ってない。キッパリ
仕事で使ってるって人もたまにいるけど スクレイピングでも報酬もらってたらそれが仕事でしょ
仕事では使ってないとか言う人は要は転売、rmt、ダフ屋などのまともじゃないことしかできない人 で、そういう>>590さんは何にuwsc使ってるんですか?
まさか「仕事では使ってない」とか言いませんよね? >>590
なんで俺がスクレイピングで報酬をもらってることになってるんですかね。
俺がUWSC使ってもらってる報酬なんて、せいぜいゲームのアイテムくらいですよ。 たまにいるんだよ
UWSC=悪のツールみたいに思ってる人w スクレイピングとかクローラー開発、winアプリの自動化ですね
報酬も発生することも請け負ってるので仕事だと思っておりますが
あと勿論他の言語も利用しながらUWSCも利用する感じです JSやVBS使うより文字関連の扱いがラクなんで
UWSCでやること多いな Autoitの方が高性能で便利だから移ったけどたまに不明なエラー出て落ちるんでUWSCに監視させて起動しなおしてる AutoItでprintとか吹き出しみたいなことをするにはどうすればいいですか? >>598
普通にFormにテキストボックス置いて表示したらいいだけじゃない?
Func _SetLog($controlID ,$str)
GUIctrlsetdata($controlID , $str & @CRLF & GUICtrlRead($controlID))
EndFunc >>600
controlsendでメモ帳とかにテキストを送るとshiftが必要な入力を取りこぼすので途方にくれていましたが、そのやり方でうまくいきました。ありがとう。 >>601
wwwwwwwwwwwwiwwwwwwwwwwwwwiは ひらがな文字列をランダムで4文字表示したいのですが
ひらがなを1文字ずつ代入してからランダムに表示するしかないですか? CHR関数で文字コードから文字を出せる
ひらがなの範囲の文字コードをランダムに作れればいけそうだね >>605
print "あ" + "い" + "う" + "え" 出したい文字種が文字コード上にストレートになってれば、オフセットで簡単なんだけどね
読み替えテーブル作った方が楽かも もうひらがな全部リストに打ち込むか文字列にしてスライスしたほうが早くないか? すまんUWSCスレか…ひらがな全部配列にぶち込めばいいと思うよ CHR($3041+random($3093-$3041+1)) AutoItで以下のものが動きません。_IEGetObjByNameで 7(一致するものがない)のエラーが出ます。
$oIE = _IECreate("https://connect.garmin.com/ja-JP/signin")
_IELoadWait($oIE)
$oEmail = _IEGetObjByName($oIE, "username")
$oEmail.value = "hoge@gmail.com"
NameもIDもあるのですが(同じ名前)どちらも動きません。
UWSCでは下の通りで動いていました。
IESetData(IE,"hoge@gmail.com","username")
わかる方がいらっしゃいましたら、教えていだけると幸いです。 UWSC FREEって法人でも無料で使ってもいい? フリー版を有料で使いたいの…?
法人での意味がよく分からんが単に自分の業務に使いたいだけならお好きに
本体とスクリプト同梱で製品に含めるとかはやめた方がいいかと思う
どちらにしろ製作者不在でソース公開もなくメンテも見込めないから普通の会社のセキュリティ基準だと導入不可なのでちゃんと確認してから使ってね 「思う」て
曖昧にしか知らないならそういうの答えないほうがいいぞ
>>621
readme.txt嫁 >>623
readmeが読めんのよ
ブラック企業に勤めてて
時間を捻出したいのよ >>625
623はただの意見だけど622で必要なのは確定情報だからね >>626
一旦ZIPファイル作ってそこに入れてもう一回出せ。
そしたら読めるようになる。 何年も前に使ってたんだが、もう開発終了したのか
今なら何がいいのかな? やりたいものが動くならそのままuwsc
乗り換え相談は>>620 POWERSHELLからC#を呼び出せばUI Automationも使えるし何でも出来るよな
UWSCを捨てることはない 画像認識させるの楽だからね
必要とまでは言わないけどわざわざ使わずに苦労する理由もないかなあ 画像認識wって言うのは違和感あるけど一致した画像を見つけるのは一番簡単かな
モノによってはウインドウが隠れてても対応可能となっておりますですし opencv直接叩けるPythonとかの方がはるかに強いよ
それこそなんでも出来るわけだし 何でもできるより簡単にできる方が価値がある状況が多々あるからね >>638
強いとは誰も言ってないし思ってもないw 何の言語でやろうが結局同じようなコードになるよ
自動化を簡単に記述できるようなものなんていまのところない
ただの慣れの問題 得手不得手は結構あるよ
一方は1行で済む処理が20行くらいになるとかザラ USWC ・・・ 実行環境が楽、日本語の説明・サンプルが多い
AutoIT ・・・ 実行環境が楽、英語しかない
Pyrhon ・・・ 実行環境が面倒、画像認識やAI等のサンプルが一番多い つーか画像認識もuwscみたいに画像を用意して〜なんて旧態然とした方法よりも
AIに判別させた方が画像が変化した時にも対応できて簡単だぞ >>644
AIが画像を切り出してUWSCのコードを書いてくれればそれが一番いい。 >>644
実務では非常にシンプルな画像認識で十分なことが多々ある。どんな環境でもすぐに実行できて編集もできるということが重要。 Pythonが環境構築面倒???
サイトからファイル落としてきてインストーラ実行してパス通してpipするだけだろ。
これが出来ない人はUWSCも使いこなすの無理かと。 そのインストールが行く先々のPCで必要だから面倒じゃん
UWSCならUSBメモリにEXE入れとけばいいもんな ツール類ならPythonでもファイルをexe化すればいいし、行く先々ってどんなお仕事されてるんですか? >>649
逐一説明してやる気はないが、コピーで環境構築が終わらないならもうそれだけでuwscより手間がかかるってこと。
exe化すると変更に手間がかかる。
uwscで十分ならpythonを使う利点はない やっぱPythonって良いんかこれ
自動化だけならUWSCが簡単最強だと思っているけど
吹き出しをマルチスレッドで64個作って画面中でスプライトみたいに動かしたり
グラフを表示させたくなったり
プログラムが複雑化してモジュール単位で分けて管理したくなったら
UWSCだと限界を感じるので本格的な言語に移行するしか無いよな ID:5njNpaBB0
経験か洞察力かその両方が足りない >>651
何でそんな訳のわからないことするに至ったか知らんけどやりやすいものでやるのがいいんじゃね >>647
実際それができなくても使いこなせるのがUWSCなわけでw uwscからプログラミング入ったんだけど他になんの言語学べばいいと思う?
一応大学でC++はやった程度 Python、Pythonうるさくて逆にヘイト集めてることにそろそろ気づけ 気付くも何もそれが目的なんだけどね
これ以上UWSCのユーザー減らしたくない UWSCしか知らないけど、AuotItやPythonに標準で記録機能ってある?
大概のルーチンワークは記録してMMVを整理すれば出来上がる autoitには一応あるけどあんなの使ってる人いないんじゃないかな
pythonはそもそも自動記録とか関係ない気が UWSCも使ってるうちに記録機能は使わなくなったな
座標取得とかも取得用のスクリプトでやったり ちょー最高に高度なRPAが発見される
マシン語
コンピュータに直接話しかけるから誤解や間違いも起きない 大量の猿にでたらめにタイプさせれば何時かはシェイクスピアの小説を書きあげるだろうみたいな話ですね。 たくさんの猿の中に人類を超えた知能を持つ新種の猿が極稀に出現すると言う訳か 大量の朝鮮人を拷問して出てくるわめき声が
そのうちモーツアルトの名曲になるということか 全メモリの組み合わせの中にはシェークスピアもあるだろうし、未知なる大作すらあるだろうな 名作を破断なく生み出し続けるAIプログラム(DB付き)もあるかな そこまで複雑なことがしたいわけじゃないから
出来ることがどんなに多くても学習の手間や製作の手間が大変そうだと尻込みしちゃう
AuotItは英語しかないのが、Pyrhonは幅広すぎるのが学習する気になれない主な要因
autohotkeyあたりが日本語サイトあったりUIから作れるようなツールあったりで良さそうかなと思ってるけど プニル更新したらバックグラウンドで動かなくなったし
いい加減違うの覚えないとダメか・・・ // 2018.12.23 paQ
$(".col-md-2.col-xs-6").eq(0).addClass("latest");
var sss = "\r\n";
$(".col-md-2.col-xs-6").filter(":contains(ランキング(1時間),:contains(新着動画)").find(".list-data")
.filter(function(index){
return $(this).prev().filter("a").has("img").length;
})
.filter(function(index){
return this.textContent.match(/長さ: (\d{1,4})分/);
})
.sort(function(a, b){
var al = a.textContent.match(/長さ: (\d{1,4})分/);
al = al ? al[1] : 0;
if ( $(a.parentNode).hasClass("latest") )
al *= 3;
var bl = b.textContent.match(/長さ: (\d{1,4})分/);
bl = bl ? bl[1] : 0;
if ( $(b.parentNode).hasClass("latest") )
bl *= 3;
return +al - (+bl);
})
.map(function() {
sss += $(this).prev().attr("href") + "\r\n";
// sss += this.textContent.match(/長さ: (\d{1,4})分/)[0] + "\r\n";
return $(this).prev();
});
sss.replace(/https:\/\/xvideos-d.com\//mg, "https://xvideos.com/"); latest という名前のマークをつける
目的の文字列を受け取る変数を準備
ランキングと新着のリストを取得
画像リンクを持たないものは捨てる
動画の長さを持たないものは捨てる。動画直リンを処理できないので。
動画長さでソート。ただし、ランキングを優先。
リンク先URLを取得。
リンク先URLを変更。 chkimgxでウィンドウidを指定して非アクティブな状態でも画像認識できるようにすると、
ウィンドウがアクティブな時にウィンドウの枠が点滅したようになるのすが
何が原因でしょうか? ウイルスです
偽者のchkimgxを使うとそうなります >>680
冗談だよね? ちょっと本気にした
今すごくウザくて困ってるんですけど誰かこの枠のプルプル・・・ってやつの止め方教えて下さい! 点滅にはおそらく何らかの注意を促す目的があると思います
https://togarasi.wordpress.com/2008/12/18/ウィンドウをブリンク(点滅)させる/
http://www.alato.ne.jp/kazu-/vb/tip13.htm
通常は音でおこなわれる警告を視覚的におこなうオプションもあります
(これがONになっていなくても点滅による注意喚起はあります)
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=011822
そのあたりを考えると点滅自体がおかしいのではなくて、
結果として点滅が起こるようなスクリプトによる操作の法に改善点がある気がします 679じゃないが見た事あるよ
多分peekcolorでも同じ状態になると思うが
点滅ってよりチラつきっていう位、一瞬フォーカスが外れたような見え方になるはず チカチカして全く使い物にならないんですが
コードをコピペしたらNGワードと出て書き込めませんでした MOUSEORGのオプションでMORG_BACKかなんかでしょ
枠が点滅するのは対象アプリの仕様次第でスクリプトでは直らない >>684
こうゆうとこ使ってソース晒せない
ttps://ideone.com
ttp://codepad.org >>686
http://codepad.org/0z0ntfap
これでいいのかな?
晒すまでもなくすごく単純なんだけど ちなみにchkimgxのidのとこを0にすれば点滅はしない chkimgx_option(true, true)じゃダメなん? >>688
trueにしたら点滅しなくなりました。ありがとうございます。
しかし今度はウィンドウをアクティブにしていないと以下のようなエラーが出るようになりました。
BitBltとは何でしょう?
BitBltに失敗
以下、スタックトレース
1: スタックトレースの取得に失敗
2: スタックトレースの取得に失敗
3: スタックトレースの取得に失敗
4: get_mouse_click() - 0x594e6b00
5: chkimgx_generic() - 0x594e80f0
6: スタックトレースの取得に失敗
7: スタックトレースの取得に失敗
8: スタックトレースの取得に失敗
9: スタックトレースの取得に失敗
10: スタックトレースの取得に失敗
11: スタックトレースの取得に失敗
12: スタックトレースの取得に失敗
13: スタックトレースの取得に失敗
14: スタックトレースの取得に失敗
15: スタックトレースの取得に失敗
16: スタックトレースの取得に失敗
17: スタックトレースの取得に失敗
18: スタックトレースの取得に失敗
19: スタックトレースの取得に失敗
20: スタックトレースの取得に失敗
chkimgxでエラーが発生しました。やり直します! オプションの意味は理解してるのだろうか
よくいる写経コーダーはめんどくさい >>オプションの意味は理解してるのだろうか
理解してませんよ
chkimgx使う時は良く分からないのでいつもテンプレをコピペしてます
それで何も問題なく使えてたんですが、ウィンドウidを指定したら問題が起きました >>685
これが答えでしょ。id指定はMORG_BACKと同じようになる
バックグラウンドでどうしても動かしたきゃ仮想OS上で インターバルの設定方法についてご教授下さい。
普段はFXの為替レートを1分おきに取得しているのですが、
シグナル発生→発注→確認という流れが1分では終わらず、
この操作が度重なるうちにオーバーフローを起こすようです。
(大元のスクリプトはインターバル設定の「1分」で設定しています。
レート取得自体は1分内で終わるのですが、発注以下の作業が1分では終わらず、
そのズレが蓄積していく状況です。)
1分インターバルの設定に、イベント発生時は例外として作業終了までインターバルのトリガーを
無視するような設定はないでしょうか。
よろしくお願いします。 >>693
ないでしょ
一分毎起動をやめて、スクリプト内部でループまわすようにすればいい >>694,695
ありがとうございました。調べてみます。
>>694
最初はスプリクト内ループでしていたのですが、反復回数が嵩んでくると予期せぬ
動作をおこすことがあり、インターバルに切り替えました。 状況に応じてthread命令を使って
2〜10個の並列処理を作成させてます
今走らせてる並列処理の数を
取得する命令ってありますか?
グローバル変数でも使って
自分で把握できるように
組むしかないんでしょうかね? >>699
> グローバル変数でも使って自分で把握できるように組むしかないんでしょうかね?
スレッドからスレッド起動とかしてるんじゃなきゃ、それが一番簡単でしょう
もし、スレッドからも起動してるようだとスレッド数のグローバル変数アクセスに排他制御が必要になる Pro版のライセンス購入を行う予定なんですが、現在どのサイトで購入する事が可能なんでしょうか
公式サイトが404エラーがでてしまい繋がりません。またVectorの方でも購入ページまでいけませんでした 人間の手で連打するのと比べて不自然さのないクリック間隔ってどれくらいですか? >>706
>>707
ありがとうございます。
ちょっと早すぎたみたいなのでさっそく書き換えました。 そもそも等間隔な時点で人間らしくないので少しランダムにした方がいいかも 位置も大事
毎回同じ座標をクリックできる人間なんて居ないからな 人間らしさを装うという要件なのかどうかは知らないが
マウスを動かさずに同じ位置で連続クリックするというパターンなら別に難しくもなんともない
というかその方が自然 たまにトイレいってる感じをだして止まるとバッチグー sleep(0.1)
BTN(LEFT,CLICK,G_IMGX_X,G_IMGX_Y)
と書くのと、
BTN(LEFT,CLICK,G_IMGX_X,G_IMGX_Y,100)
と書くのでは何が違うのでしょうか?
上の書き方だとクリックされない場合があり、下の書き方に変えたのですが、違いが良く分かりません。
しかも下の100ミリ秒の待機時間は上の0.1秒の待機時間と違って体感ですがあるように感じません。 体感なんて言ってないではかれるものを使ってみればいい
ttp://www.usamimi.info/~geko/arch_pro/0x002_js/05_mouse/index.html
ttp://gadgetwatch.arrow.jp/tap/ 関数呼び出しにはオーバーヘッドがあるので特に実行の遅いスクリプト言語では顕著になる
てか確実にクリックするなら待ち時間追加するんじゃなくてdown,upの2段階にした方がいいかもね >>715
上だとクリック直前に座標を決定するが
下だと座標を決定した後100ms待ってクリックする みなさん、いろいろとありがとうございます。
とりあえずクリックには全部待ち時間を入れておきました マルチスレッドで動かしたりしてない限り関係ないけどね ゲームの監視に使ってるんですが、外出先から自宅PCに仕掛けているゲームの状態の変化を知ることってできますか?
遠隔操作とかではなく瞬時にスマホかなにかに知らせる方法はないでしょうか?
メール送信だとタイムラグがあってダメでした。 出来る出来ないで言えばどうとでもなるが
お手軽にならPC版LINE操作してトークにメッセージ流すとかどう? >>723
どんな方法でもいいんで教えて下さい!
部屋から出られない状態でトイレにも行けず今とても困っています
何かしらの方法で通知が来たら、即、手持ちの端末で操作する必要がある状態です
即時通知できればなんでもOKです。 許容可能な時間差を明示しとかないと(回答者/提案者に対して)結果的に無駄足を踏ませかねないぞ。 監視から操作からuwscに丸投げじゃあかんのかい? 1,2秒くらいならOKでしょうか。できればリアルタイムで通知したいです。
自宅PCで音が鳴るように設定しているので、メッセージ送信とかでなく、
それを外でリアルタイムに聞ければ一番いいのですが
完璧なものが作れない(作るとしたらゲーム内で莫大に課金しないといけない)ので、
手動操作が必要になったら通知するようにしたいです ずっと家電とスマホを通話状態にしておいて自宅PCの音を聞けばいいんじゃね? >>724
え、だからLINEで通知すればって提案だけどなんかダメなの? 1,2秒だとリモートデスクトップを常時接続してても厳しい感じだな
殆どリアルタイムだけど動きの激しいゲームを動かすとやっぱりラグ出てずれるし ソシャゲだろうしクリックまで自動化する方が良いだろ 自宅勤務を申し出る
会社にゲームPCを持ち込む
どちらも却下されたらやめる
これで解決でしょう >>724
トイレまで聞こえる大音量スピーカーを買う ありがとうございます
LINEとスマホの通話の路線でいってみたいと思います
監視カメラを買う必要はなさそうですね また何かあったらよろしくお願いします スレチかもしれないんですが、マクロ検知対策でゲームのクリック位置をランダム化してるんですが、
よく考えたら、どこのボタンをクリックしたって情報はサーバーに行っても、
ボタンのどの位置をクリックしたかなんて情報は無意味だしサーバーに行ってないはずですよね?
とするとクリック位置のランダム化は必要ないんでしょうか?
どちらかと言えばクリックの間隔の方が問題になるような気がするんですが。 クライアント側で対策してるかもしれないんで位置もランダムでいいが間隔もランダムにすればいいじゃん? 某ブラゲーはクリック座標までみてる
それでBANしてるよ 自分でマクロ検知といいながらクリック位置の情報が無意味とか何言ってんだ
パケット解析もしてないくせにサーバーに行ってないはずとかどうして思えるのか UWSCPROのキージェネレータのソース貼っていい?
1レスで収まると思う。
感謝の意を込めて全員正規ユーザーになろ? 作者とベクターの利益を害するとして作者とベクターに通報するが
どうする? >>742
作者はいないし、ベクターはもう販売してないぞ ランダム化は必要ってことですか。
エミュレーターではUWSC使ってるので問題なんですが、
スマホで自動化するとタップする位置をランダムにする方法がなくて困ってるんですが、
何かいい方法はないでしょうか? 質問です。
Nox上で自動タップ動作をしようと思い試しているのですが、
DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 450 450")
の場合は実行可能なのですが、
X=150+RANDOM(150)
Y=150+RANDOM(150)
DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap X Y")
と記述した場合、動作しません。
X=RANDOM(150)+150
や
X=150+RANDOM(300-150)
も試しましたが無理でした。
どうすればよいでしょうか? >>748
DOSCMD("cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap "+X+" "+Y) >>750
実行できました!
ありがとうございました! >>745
ベクターがかけてる(提供してる?)キーのジェネレータならベクターが怒るかも
シェアレジの仕組みよく分からんので関係ないのかな? NoxPlayerでchkimgxが期待通りに動かず悩んでたんだが、これってNoxの描画がOpenGLだとまともに動かないのね、、、 >>756
同じくそれであきらめてMemu使ってんだけどOpenGL変えればNoxでもchkimgx動くの?
それは良い情報 >>757
DirectXに設定したNoxをバックグラウンドにまわした状態で、画像をchkimgxして結果の座標を元にsaveimgして期待通りの
画像がセーブされるところまでは確認した
OpenGLだと存在しないはずの画像が引っかかったり座標がめちゃくちゃ
OpenGLじゃないと描画がおかしくなるアプリが対象にあるんで、それ以上の検証はしてない >>758
前面に出してWindowID使わずに全画面対象なら、期待通りの動作はしてる
バックグラウンドに回しても動いてるっていうなら、Windowsのバージョンも関係あるのかな?
こっちの環境はWindows7sp1。OpenGLなんだからグラフィックカードに依存してると困るんだけど、Intelの内蔵と
RADEON HD5450の両方で駄目 Windows10でGTX1080だけどOpenGLで普通に使えてるなid指定でinactiveでも すみません、初心者なんですが、ゲームのfpsを下げるとchkimgの成功率は上がるんでしょうか?
ゆっくりカメくらいの速度で動いてる画像をchkimgしてるのですが、時々失敗します
fpsを上げ下げすると成功率が変わるか教えて下さい >>763
そんな質問の仕方で分かる訳ねーだろ
自分で調べろアホ >>763
chkimgは人間の目ほどざっくりした判断をしてくれない
判定画像に背景が映り込んでる場合なんかは完全に同じ場所でしか判定できない
背景を含まないようにトリミングする
どうしても背景が含まれてしまうなら背景が単色の場合は色無視の指定をする
単色じゃない場合は頑張って透過画像を作る
背景もそうだけど何らかのエフェクトがかかっていても同じように判定できない chkimgxも多少ボケた画像が認識出来るだけであまり変わらない感じだな
背景等が入っているとやっぱり駄目だし
あと認識にchkimgと比べて時間が掛かるしCPUにも負荷が掛かる chkimgXは必ず似た画像がある状態でどの画像と最も一致するかって使い方だと思う 失礼します
回線が不安定なせいか、ニコニコ動画をZENZA watchで観ているときにちょくちょく止まるので
以下のように記録したものを繰り返しているのですが、
Alt+Tabの代わりにchromiumを指定して動かすことはできないでしょうか
while true
KBD(VK_ALT,DOWN,40)
KBD(VK_TAB,CLICK,160)
KBD(VK_ALT,UP,40)
KBD(VK_RSHIFT,DOWN,160)
KBD(VK_RIGHT,CLICK,160)
KBD(VK_RIGHT,CLICK,160)
KBD(VK_RIGHT,CLICK,160)
KBD(VK_LEFT,CLICK,160)
KBD(VK_LEFT,CLICK,160)
KBD(VK_LEFT,CLICK,160)
KBD(VK_RSHIFT,UP,160)
KBD(VK_ALT,DOWN,40)
KBD(VK_TAB,CLICK,160)
KBD(VK_ALT,UP,40)
SLEEP(70)
wend
https://anago.o pen2ch.net/test/read.cgi/software/1395484022/13を参考に
MOUSEORG(GETID(" - Chromium","Chrome_WidgetWin_1"),MORG_DIRECT)
としてみたのですが、動画読み込みが再開されず…御知恵を拝借できないでしょうか。よろしくお願いいたします。 Chromeのgetid失敗してるのでは?
いっぺんにやらず一つ一つ確かめないと原因分からないよ
参考URL切れてるから見てないが2chだと情報も大分古そうだし、ChromeやWindowsのバージョン差で多少記述変えないといけないからその辺かな スクリプト内から、スケジューリング設定されてる他スクリプトも含めた次の起動時間を取得する方法ありますかね?
終了時にスタンバイに落とすのに、次が○分以内ならやめとくってのをやりたいんですが
DOSCMD使ってpowercfg / waketimersで次の起動時間を取れるんだけど管理者権限が必要なんですよね 何が問題なのか
スケジューラはuwsc? で次の実行時間が知りたい?
定期実行なら単純に事前にリスト化できるからそれじゃダメなの? powercfg.exe -change -standby-timeout-ac 10
って感じにすれば10分後にスタンバイになるけど、10分以内になにか走ればスタンバイにはならない
スタンバイに入るのをWindowsに任せればいいのでは? 複数スクリプトがそれぞれいろんな時間にWakeupするから、自分自身では分からんのです
UWSC.INIのスケジューリング設定を自前で解析するくらいしか方法なしですかね
毎日○時とか○時間置きは簡単だけど、式で設定してるのが面倒、、、 ユーザーアカウント制御を回避するひとつのアイディアとして
個管理者権限でレジストリ書換用のUWSCスクリプトを走らせておく
(Win32APIを使う必要がある)
これの開始はタスクスケジューラでログイン時に最上位の特権で実行するようにしておく
一般のUWSCスクリプトは必要に応じてこれに依頼をかけて
一時的に
ルートキー="HKEY_LOCAL_MACHINE"
キー="SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
値(名)="ConsentPromptBehaviorAdmin"
の値を0に書き換える
この状態ではあらゆるプログラムが管理者権限の必要な処理をおこなえるようになるので
管理者権限が必要な処理が済んだ時点で
速やかに値を元にもどす
という手がないわけではない >>776
考えてみたらWin32API使わなくてもRegEdit.exeにやらせればいいだけだった 自動実行がタスクスケジューラ任せならそれから予約時刻とれないもんかね
それかスクリプト共通で直近の予約時刻をファイルに残させるとか 共有ファイルを作って
[名前] [終了時刻] [次回開始時刻]
を記録するようにするとデバッグにも便利かもしれません
毎度毎度open/closeが面倒かもしれませんが というかそんなに色々スケジューリングされてるのにスタンバイにする必要あるんだろうか
なんか利用スタイルがよく分からん
まあ、方法的には面倒くさいってほどでもないから次の予定時間割り出すスクリプト作っちゃえばいいんでね >>778
UWSC.exe自体がスクリプトの起動を自分でスケジューリングしてますね
スタンバイからの復帰時間もUWSCが自分で設定
スマートじゃないんだけど、powercfg ./waketimersを1分毎に実行させてその結果をファイルに書き込みして
スクリプトがそれを読んで次のスタンバイ復帰時間を見るようにしてみた
管理者権限での実行許可も一回手動でやればいいので許容範囲 上の方で書いてあったけど、chkimgxの着目する色の指定方法がわかんない。サンプルのどこに書いてある?
FEFEFEでも、♯付けてもエラーになる… 16進は$じゃないの
chkimgx.uwsにも色指定に$FFFFFFて書いてある >>783
あー!ありがとうございます!
恥ずかしい…なんか思いこんでた… まあ#使う方が多いし勘違いはするよな俺も最初#でやったし
ところでchkimgXの色注目って探索画像の指定色の部分のみを見る→その部分がどれだけズレてるかを確認するって解釈で合ってる? 変数に格納した16進数を10進数に直す方法ってある? >>789
格納された変数の数値自体に10進も16進もないぞ
A = 16
B = $10
どっちも同じ
変数の数値を16進数で表示したいってことならFORMAT関数 >>790
すまん書き方が悪かった
変数に16進数を文字列として格納しちゃってるんだ
やりたいことはpeekcolorでRGBの値を取得→それを元にR成分G成分B成分の値を出すって感じだけど他にやり方ってある? >>792
文字列先頭に$つけてval関数
v= val("$778899") >>793
更に言葉不足だったわ現状やってる事が
peekcolorでRGBを取得→formatで16進数文字列に変換→copyを用いてR,G,Bそれぞれの16進数の文字列を取得
この後にこの文字列を10進数に変換したいもしくは別の方法でR,G,Bそれぞれの10進数を取得したい
ただ色をとる箇所が多いからpeekcolorを連ねるのはやりたくない ヘルプのpeekcolor使用例のように各色値をとりたいってこと >>794
なんで文字列に変換したいのかが意図不明なんだが
R = INT(v / $10000)
G = INT(v / $100) MOD $100
B = v MOD $100
最初に数値として分解しちゃえばいいんじゃないの? AHK弄ってるけどAutoGuiが便利だな・・・
AHK自体はなんか素直じゃなくて変な感じだけど >>798
挙動は
UWSCが好みだったってことでは?
GUIがUWSCに有ったらなぁってことも含めて。 開発者が消えちゃったから
uwscに代わるツールの候補でおすすめなんかないかな? 普段何してるか分からんのでオススメしようがない
スクリプト書けないから記録機能必須とか、そういう条件を少しは出しておくれ
興味本位で聴くがそもそもuwscでなにがダメなの? 今までuwscでやって来た前提だと現状uwscでダメな点ってWin10だと画像認識やpeekcolorが遅い程度じゃないの
まあ今後のこと考えると別の物に移した方がいいとは思うがな根気があるならpythonとかやればいいんじゃね?他でも役に立つかもしれないし pro版じゃないからexe化できないのが不満
それ以外はuwscで充分なんだよね
だから苦労してpython覚える気にもならないという pythonにも例えばuiautomationに対応したライブラリあってそれがかなり使い勝手いいよ(pip install uiautomation)
ただ使い方が親切に書かれてるわけじゃないし、コード見ながら自分も使ってる感じだから使いこなすのに少し苦労すると思う
guiとか簡単に作れたりするしライブラリ調べて使い方試行錯誤する気力があるならかなり強いというか実質何でもできる ランチメニュが吹き飛んだんだけど復旧方法思い浮かびますか? >>811
給料は増えるし昇進するし、彼女も出来るし宝くじも当たります。 chkimgxがpythonで使えればUWSCにしがみ付く理由はマジでないんだよな
chkimgxのおかげで持ってると言っても良い これエラー出るとかいう話じゃなかった?
というかpythonならChkimgXよりもっと良いの組めそうな気もするけどな 上のを配布しているものですが自分ではあまり使っていないので、もしエラー報告していただければ順次対応していきます.。 このキチガイ荒らしはまた自演で宣伝してんのか
死ねよゴミ その人なんでいちいち自演挟むんだろうな
ソース添付なしのDLLといい自分で信用下げていくスタイルなの? スレとは無関係の自作のゴミをずっとここで宣伝してた荒らし野郎か キージェネレータのソースでもキーでもPro版のライセンスになるものがほしいです
どなたか貼ってくださいませんか? 猪木ボンバイエ 猪木ボンバイエ 猪木バンバイエ・・・ ヤフオク、メルカリとかでいいからさ
誰かPro版のシリアルコードとzip売ってくれよ >>815
chkimgxどころかもっと自分に合った使いやすいもの作れるんじゃないの?
ある程度の知識はいるけど 積分の式をfunctionに送る方法ってありますか?
integral(1, 5, x * x)
とやってもどうしても最後の式が送れません
何か方法はありますか? >>831
最後の式とはx * xのこと?
計算結果を渡すのでなく、”x * x”を渡すとかいう話し?
integralの引数はどうなってるの? integral(1, 5, "x * x") = F(5) - F(1) ; F = "1/3 x^3" ?
F = lim杷(ε)δφ ?? 積分は上方と下方とって半分にしてますね
積分の方は完成してます
文字列でも数値でもなく式を送りたいんですが
やっぱり方法ないですかね? 文字列で式を送って送り先の関数内で式として解析するんやで Cでいう#defineみたいなことをやる必要があるんじゃないのか? >>836
それなら関数内でEVAL(式の文字列)かな >>837
>>839
うひゃあ!
無事できました
ありがとうございます sikulixで自動化してるけどいいですよ。
jythonなんで、windows apiの呼び出しは、本家python側に投げる必要があるけど。 起動させるたびにSTOPボタンが画面のど真ん中に出るのがウザイんだけど
表示位置を指定する方法は無いの? getidのGET_THISUWSC_WINでUWSC自身のウィンドウIDを取得できる
それでacwで座標を指定すればいい そんなことしなくても
STOPFORM( 表示フラグ, [x, y] ) なんで開発やめちゃったの?
フリーソフトはお金にならないのかな 本業忙しくなったから手掛けられなくなったんじゃないの
結婚したとか親の介護とか色々あるだろうし
もしくはエンジニア特有の急逝の可能性もある
せめてオープンソース化して終わらせてほしかったけどな 世界でも類を見ない貴重な自動化ツールなのに非常に残念 質問です
UWSCでマクロを組んでNoxplayerでゲームをしていたんですが、
最近MuMuというエミュレーターに変えたところ、BTNが機能しません。
BTNで指定した座標にマウスカーソルは移動しますがクリックだけ出来てないようです。
chkimgxやMMVは普通に動きます。
録画機能を使ってみたところ、クリックしたのにBTNが記録されていませんでした。
どのようにすればクリックができるようになるでしょうか MuMuは使ったことないけどBTNの直前に同じ座標のMMV入れてもダメ? >>852
レスありがとうございます
MMV(1000,450)
BTN(RIGHT,CLICK,1000,450)
これをそのまま試してみました
しかしマウスカーソルは座標まで動くものの、クリックができませんでした。
書き忘れていたのですが、MuMuのウィンドウ上にマウスのカーソルを置くと、
独特な形状のカーソルに変化します。これが関係したりするのでしょうか。 851です
853のレスはrightじゃなくてleftです
MMV(1000,450)
BTN(left,CLICK,1000,450)
こうでした。すみません。(これでもクリック出来ないです) クリックする前に
waitを入れてもダメなのかな? >>851
UWSCで少し遊んでいるがフラッシュゲームではうまくクリック出来ないときがあった
ループで条件がなくなるまで繰り返すようなスクリプト汲んでるけど1回でうまくクリックするときや20回でようやくクリックされるときとかいろいろ
とりあえず何回か繰り返してBTNが実行されるようにしてみたら? >>851
mouseorgでバックグラウンド動作させてないか? 851です
>>855
>>858
BTN(LEFT,DOWN,480,300,1000)
BTN(LEFT,UP,480,300,1000)
とか、
MMV(480,300)
sleep(1)
BTN(left,CLICK,480,300,1000)
を試してみましたが駄目でした。クリック速度は関係なさそうです。
>>857
mouseorgは使っていません。
あと、エミュレーターはバックグラウンドで使っていません。
>>856
while true
IFB CHKIMG(画像)
break
else
BTN(left,CLICK,480,300,1000)
sleep(1)
ENDIF
WEND
こんな感じでしょうか。何度かクリックさせてみましたができませんでした。
皆様本当にありがとうございます。
正直ここまで親切にしてもらえるとは思っていませんでした。 >>
>>860
touchを使うとうまくいくときがあるよ〜 >>861
ありがとうございます
早速試してみました
BTN(TOUCH, DOWN, 480, 300)
BTN(TOUCH, UP, 480, 300, 3000)
これをそのまま再生すると、
マウスカーソルが指定した座標に移動した後に消失しました。反応もありませんでした
その後、マウスを少し動かすとマウスカーソルが現れました。
相性…とかそういうのなんですかね… エミュによってはエミュレータ側にマウスやキーボードを接続してる認識になるからそれが原因じゃね
解決法は分からんが >>862
BTNの待ち時間に1000や3000指定してクリックと認識
タッチ操作を実行したい #N50
tp://www.uwsc.info/faq.html#N50 >>858>>865なるほど
横だけど自分の場合(Flashを使ったゲーム)はこれで長押し気味にCLICKしたらよく反応するようになった ちょっと訂正
BTN(LEFT,CLICK,…を
BTN(LEFT,DOWN,・・・)
BTN(LEFT,UP ,・・・,1000)に変更したら >>863
すみません
自分の知識不足であまりよくわからないのですが、
エミュレーター起動エミュレーター起動時でも他のソフトを使ったりすることはできます
>>864
中国語を機械翻訳しながら探したので合っているのかわからないのですが、
こんな記述を見つけました
【win版】
adb connect 127.0.0.1:7555
adb shell
関係あるでしょうか?
>>865
urlありがとうございます。読んでみて次のコードを試しましたが反応しませんでした
BTN(TOUCH, DOWN, 480, 300)
BTN(TOUCH, UP, 480, 300, 1000)
>>856
downとupも反応しないようです
もしかしてゲームが問題なのかもと思い、
ゲームを起動せずエミュレーターをUWSCでクリックさせてみたところ
こちらも反応がありませんでした。 > 録画機能を使ってみたところ、クリックしたのにBTNが記録されていませんでした。
> どのようにすればクリックができるようになるでしょうか
これだとどうにもならんのじゃね?
エミュレータソフト側がマウスのボタン操作に関して独自に何かやってるんでしょ >>868
adbについてはこのスレ内を検索したらスクリプトのヒントはある(主にnox向けだけど同じようにつかえる)
adb自体何か知らなくて頓珍漢な検索してるように見えるがAndroid用の汎用的な仕組みなのでまずはそのものについて軽く知っておいてた方がいい
そのエミュでadbが使えるかは分からないが、Androidでネットに繋がるなら概ね問題ないと思う
こんな記述、がどういう検索でどこで見つけたものか分からないので関連は分からないけど
コマンド(cmdで実行)自体は一行目がAndroid(エミュ)への接続、二行目はAndroid側のターミナルへの接続
※shellの後に続けてシェルコマンド投げると接続ではなく直接コマンド自体の実行になるので、これを利用してクリックとかするというお話 >>868
言葉では説明しづらいことだから理解できるか分からんが
本体PCとエミュでUSBの切り替え機を使ってると思えばいいUWSCは本体側の方で動作するからMMVとかでエミュ側のマウスも動いてるようには見えるけどクリックでエミュ側に干渉することは出来ない https://s.sbisec.co.jp/smweb/mainbase/login.doの
ログインボタンを押す方法が分からない(泣)
IESetData(IE,True,"","ログイン")も、
obj = IE.document.getElementById("login-button")
obj.click()も、
obj = IE.document.getElementsByClassName("main-button")
obj.item(0).click()も、
tags= IE.document.getElementsByTagName("input")
for i = 0 to tags.length - 1
if tags.item(i).value = "ログイン" then
tags.item(i).click()
endif
nextも、すべてダメ。さっぱり分からん(>_<)
ソースは、以下
<section class="sb-container defult-list">
<div class="s-tab-small-container">
<input type="button" id="login-button" class="main-button" value="ログイン"/>
</div>
</section> document.getElementById("login-form").submit() >>873
ありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 貴重な情報ありがとうございます
>>869
私もただBTNを使うだけでは無理なのではないか、と思い始めました
ということで、アプローチを変えてadbというものを勉強することにしました
>>870
鋭い指摘に言葉も出ません。私は全くもって初心者です。
一月ほど前に苦しんで覚えるC言語という本を買って勉強し始めたばかりで、
adbというものも今回初めて知りました。
ですので、870さんの後半の文を半分も理解できていませんが、
まず理解できるように知識をつけていこうと思います。
行動指針を示してくれてありがとうございます
>>871
解説ありがとうございます
UWSCからの命令ではなく、windowsをコマンドプロンプトで動かすように
エミュレーターに直接指示を出さないといけないのですね
(間違っていたらごめんなさい)
DOSCMD、adb中心に調べてみます >>843-844
ありがとう
早速使わせてもらったよ
またひとつ便利になった >>876
urlありがとうございます
読んでみました。これはかなり使えそうです。
後はこれをmumuに対応させればよさそうです
中国語のサイトばかりで難航していますがやってみます 851ではないですが
ID = GETID("MuMu App Player")
MOUSEORG(ID,1)
X = 100
Y = 100
DIM CMD = "cd/d D:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin & adb_server shell input touchscreen tap " + X + " " + Y
DOSCMD(CMD)
これでやっても反応しません
adb.exeの指定が間違っているのでしょうか? >>879
print DOSCMD(CMD)
まあ、ぱっと見でいつものという感じだが なんでそんな変なエミュ使ってるんだと気になってDLしてみたが中身ほとんどNoxと同じだな
adb_serverも普通に動くし・・・BTNも普通に動くんだが? >>881
起動対策されたNOXの代替として色んな場所でステマしてるわ そっちのエミュレータは知らんけど、Noxの場合はエミュレータが認識しているAndroidの解像度と
Windows画面での解像度が同じとは限らないので座標を自分で調整する必要がある 普通にadbで画像キャプチャしてそれ対象に画像マッチングさせればいいだけ。
上のqiitaのブログしかり情弱過ぎるわ スクショの取り方とかどうでもよくねw
俺もNOXのスクショ機能から切り出してるし
UWSCとadbで思った範囲をコマンドでスクショして自動でトリミング掛けるやり方があるって話なら素直にすごいとは思うが UWSCでIPアドレスを取得するにはどうすればいいですか? えーと、ネット接続はルータ使ってる前提だけど、コマンド一つでは取れない
(PCのnicはローカルipしか知らない、pc自体がPPPoEしてるならそれがイコールグローバルだけど)
tracertの結果でルータの一つ先がグローバルipなのでそれを拾うとか確認サイトから抽出するとかツールから結果得るとか色々あるので好きな方法で >>890
例えば
http://taruo.net/e/
(PROXY使ってなければ)ここのREMOTE_ADDRがアドレス 自分がUWSCでやるとしたらcURLを使ってグローバルIP確認サイトにアクセスする
返ってきたページのソースを読んでIPを取り出す必要があるので
Javascriptなどを使っていないシンプルなサイトを選ぶのが最初の作業かな
>>892 は取り出しやすい WebAPIとかダメなの?単純にグローバルIP返ってくるのあるけど >>894
>>895
落ちてる可能性も考慮して複数サイトで取れるようにしとけばいいんでない?
自分専用ならルータの設定ページから取るのが確実だろうけど ルータからの情報取得はインターネット側に負荷をかけないという点ではいいのだが
ログインや Javascript の実行が必要だったりするとちょっと面倒くさい
以前試したときは PhantomJS を使って取り出した
あと自分の場合は "WAN IPアドレス" と書かれている項目に表示されているのは
インターネット側のアドレスではなく
プロバイダのゲートウェイを出る前の内側のIPになっている
(グローバルIPアドレスオプション契約をした場合はおそらくグローバルIPが表示される)
なのでもしルータから取得しようとする場合はよく確認したほうがいい
落ちてる可能性も考慮するのは賛成 win10ならこれだけ
curl ifconfig.io curlもインストール不要でDOSCMDからってことね >>894-895
いいね!
ありがとうございます
>>897-899
難しくてよくわからないっすw
でもありがとうございます https://fx.minkabu.jp/pair
の米ドル/円 Bidのデータのとり方が分からないっす(泣 >>901
<td class="tlft"><a href="/pair/USDJPY">米ドル/円</a></td>
<td class="trit is-plus">110.731</td> ← is-minusのこともある
ここを引っ張ってくればいい >>902
THX
tdタグの順番で
IEGetDataで解決しましたよ^^ >>905
textblockの部分は何ですか?
socket??????
よく分からないですが、すごい技術をありがとうございます! >>905
IEGetDataで3秒毎にWHILE文でスクレイピングすると、すごく重いのですが、
socket=ioを使うと、軽い感じがするのですが、なぜでしょうか? >>905
タスクマネージャーで見ると、
IEGetDataで3秒毎にRepeat文でスクレイピングするほうが、socket=ioより軽かった。
UWSCの関数は優秀だね。
Threadも使って、とても良いスクレイピングアプリができそうだ^^ IEの下に○○.jpから○○.csvを保存しますか?
で、保存ボタンは、
CLKITEM(HndToID(IE.Hwnd), "保存(S)", CLK_BTN)で可能だけれど、
名前を付けて保存は
CLKITEM(HndToID(IE.Hwnd), "名前を付けて保存(A)", CLK_BTN)では
できない。
どうやって、名前を付けて保存(A)を押せばいいの? While GetID("名前を付けて保存","#32770") < 1; WEnd
ClkItem(GetID("名前を付けて保存","#32770"), "保存", Clk_Btn) uwsc ダウンロード通知バー 名前をつけて保存
やっぱり、ダメ。
どこかに情報はない? 解決したなら何を解決したか書けよ
ホント役に立たねえなクレクレ厨は >>915
ie = getid("", "IEFrame")
bar = hndtoid(getctlhnd(ie, "Frame Notification Bar"))
clkitem(bar, "\保存\名前を付けて保存", clk_btn or clk_uia or clk_back, true) >>924
おお!素晴らしい!
私は以下の通りで解決しましたが、
あなたの方法が洗練されている! Dim id = GetID("Internet Explorer", "IEFrame")
CtrlWin(HndToID(oIE.hWnd), ACTIVATE)
sckey(id, VK_ALT, VK_N)
sckey(id, VK_DOWN)
sckey(id, VK_DOWN)
sckey(id, VK_RETURN) >>924
あなたはもしかして、うみうみさんですか?
913,920,922,923のような雑魚とは違う。
雑魚どもも含めて、我々はうみうみさんに、素晴らしいUWSCを是非とも更新していただきたいのです!
UWSCをEdgeやCromeやFireFoxでも使えるようにしていただきたいのです!
お願いします!
そうだろ!
913,920,922,923の雑魚どもよ!
おまえたちも、うみうみさんにお願いしろ!
分かったか、雑魚どもよ! うみうみさんって何歳くらいなんだろう?
1999年の時点でUWSCを公開出来たと言う事は、その時で30くらい
生きていれば今頃50歳くらいか うみうみさん結構儲かってたのかな
こういうすごいツール作る人は本業も優秀なんだろうな
高級クラブやソープ行ってたのかな うみうみさん亡くなる前にオープンソース化してくれないかな
オレPro版購入したけど、誰かがバグ取り更新してくれるのならオープンソースになっても文句は言わない
誰かがだけどw
オープンソース化してもらって何が欲しいの?
UWSCの画像認識なんて対したことないし、自動化系・UIAutomationとかなら他にオープンソースのライブラリがある。
言語としてなら他に優秀なスクリプト言語がいくらでもある今、今更これを更新するような意味があるとは思えない。 UWSCの画像認識に関しては性能というより機能で使ってるところはあるな 今までの資産があるだろ
それを全部放棄して別言語に移行する手間をかけたくない人は一定数居る >>938
更新無しで放置されるソフトがあるなら
オープンソース化してプロジェクト組んで欲しいと普通思うだろ
頭悪いな オープンソース化するメリットも無いしむしろオープンソース化して以降バグ出たとかで言い寄られることがあるからな
製作者が自己顕示欲が強くない限りは普通はしない msgbox がアクティブにならなくて困ってます(´・ω・`) 下記回答を参考にCTRLWINでmsgboxをアクティブにできるのかな
www3.rocketbbs.com/13/bbs.cgi?id=umiumi&page=4 オープンソース化(´・ω・`)しろよ
そしたらプログラマーなオレがいろいろ新機能を搭載(´・ω・`)してやる >>945
オープンソース化するメリットはあるだろ
まあお前みたいなゴミにはその権限が無いから余計な心配もするなw オープン化しないデメリットって何よ?
>>938
良いのがあるなら他に行けば? そしてもうここに来るな。
>>945
そのバグ?とやらが仮に出たとしても、引き継ぎプロジェクトの対応なので言い寄られることはない
pro版はもう販売していないので収入的もダメージ無し
オープン化して欲しくないやつは、オープン化しても使わなければ良いだけ オープンソース化しても管理してくれる人がいないと直ぐ廃れてゴミプロジェクトの山に埋もれそう
「欲しい機能は喜んで追加対応」「バグは迅速に修正」「そしてなにより無償奉仕」
そういう都合のいい人が引き継いでくれるならオープンソース化もいいよね されないとそういう可能性は少なくとも今のとこ0ってことだもんな
うみうみ氏が復活するならそれに越したことはないが もしオープンソース化されても
オレがやるならオレの好き勝手に(´・ω・`)やる
オマエラの言うことなんぞ(´・ω・`)聞かん
腕におぼえがあるヤツが(´・ω・`)好きにすればいい
それで生まれてくる派生をオマエラが選んで使えば(´・ω・`)いい そんなにお前がスーパープログラマーなら
同等のソフトウェアを自ら作ってソース公開してくれ こと(´・ω・`)わる
モノをゼロから100まで作るのと100できてるモノに手を加える
労力が100倍(´・ω・`)違うんだよ
そんなこともわからないヤツが好き勝手(´・ω・`)言うな
だからオマエラは(´・ω・`)ダメなんだよ
オマエラは目の前にあるモノを黙って使ってりゃ(´・ω・`)いいんだよ
ごちゃごちゃ(´・ω・`)言うな どうフォークするかはいっそ自分用でもいいしプロジェクトの自由やしな >>951
オープン化するデメリット の間違いでは? ウィンドウタイトルに登録商標の「〇の中にR」の文字が含まれていて、
UWSCのスクリプトに記述すると認識されません
〇Rの文字をUWSCに認識させる方法を教えて下さい。 unicodeとかutf8にすりゃ普通に使えんだけど >>962
やめろよwこいつ出来るアピールしかしないんだからwww
いじめちゃ可哀相だwww >>961
utf8で問題なく作動しました。お騒がせしました。 作者はバグ報告などにキッチと対応してたから、突然のサイト閉鎖はなんかあったとしか思えないんだよな・・
ささっと業務を効率するツール作るには最適だからこのまま廃れるのは悲しい 無料RPAで「ソリティア」に挑んでみた 業務自動化でゲームも自動化できるか (1/2)
https://www.itmedia.co.jp/news/articles/1903/03/news033.html
>無料で使えるオープンソースRPAソフト「SikuliX」
>SikuliXは米マサチューセッツ工科大学のユーザーインタフェースデザイングループが2009年から開発を主導し、オープンソースの画像処理ライブラリ「OpenCV」を利用してデスクトップ上のあらゆるものを自動化することを目的に作られている。
>ソフト自体の開発言語はJavaで、Windows、Mac、Linux上で動作する。SikuliXは自動化する内容を記述するためのIDE(統合開発環境)でもあり、記述言語にはデフォルトでPython(Jython)の他、Ruby(JRuby)、JavaScriptをサポートするとしている。
>※Jython、JRuby:PythonやRubyの文法で書かれたコードを、Java仮想マシン上で実行する実装のこと。
ほー >>968
作れなかった原因は単純にRPAに慣れてないだけだろ
カード認識するのに数字スートの部分だけじゃなく
カード横幅いっぱい使うのかが分からん こういうの結局プログラムバリバリになってrpaとは関係ない単なる自動化じゃね UWSCが流行ったのは結局お手軽簡単だからなんだよな steamとかで売ってるプログラミングゲームレベルの記述で動くの単純に楽しい 結局複雑なことやろうとしたらどの言語でも同じように煩雑になると思うけどね。
簡単というのはちょっと違うかと。
そんな機能はUWSCにはない。 簡単なことを簡単に出来るのがいいねって言ってるのになんで複雑なこととか言い出すん? 簡単なことはどんな言語でも簡単だよ
難しいことを簡単にするような機能はUWSCにない まず環境を整えなくても動くってのはでかいね。
あとはプログラミング言語をかじったことの無い人や
BASIC触ったことがある程度の人でもニュアンスが伝わりやすい構文かなぁ。 実行、停止、スケジュール実行、画像認識、フキダシ
ここらへんをUWSCより簡単にできるソフトがあるなら教えて欲しい JS スクリプトのリンクを張った中学生が逮捕
https://leia.5ch.net/test/read.cgi/poverty/1551843879/
リンクをクリックした結果
imgur fMFltkV.jpg windows10 corei7 8MBと windows7 corei5 8MBでUWSCをゲームの自動化に使っているのですが、
エミュレーターで同じスクリプトを動かすと速度的に圧倒的にcorei7>corei5だったのですが、
エミュレーターが使えなくなったため、andoroid実機をusbケーブルで接続してミラーリングソフトで描画して
同じスクリプトを動かしたところ、結果が逆になりました 原因は何でしょうか?
正確に言うとcorei7の方が、すべてのBTN(LEFT,CLICK,,)の前にMMV(,)を入れないとクリックが遅れるようになりました >>982
機種
86/64
ドライバ
ERROR: 不正なPROXYを検出しました。 再投稿 >>980
テンプレ、リンク切れ削除・変更
稼働中の掲示板を追加してみた
変更あればよろ スクリプトを2つ以上って意味なら可能、関連付けて走らせるなりすればいい >>991
二つは同時に起動しませんでした
>>992
ひとつのUWSCでふたつのスクリプトではなく
ふたつのUWSCを別々に起動したいのです
>>997
どうしたらできますか? >>998
ランチメニューのオプション見たことあるかい? UWSCのランチャーはほとんど使ってないので良く分からんけど
.uwsファイルをUWSCの本体かショートカットにドロップして直接起動させれば
PCの処理能力の限界までいくらでも別プロセスとして起動出来る このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 213日 18時間 31分 3秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。