2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

自動化ツールUWSC使いよ集まれ14

1 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:18:57.40 ID:itdOhEn30.net
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past

●UWSC - Wikipedia
ttp://ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
ttp://www.confrage.com/uwsc/
ttp://necro.jp/dev/uwsc/
ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html
ttp://canal22.org/
ttp://big.tm.land.to/handbook/uwsc.htm
ttp://www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
ttp://izagne.com/uwsc/
ttp://scripts.web.fc2.com/
ttp://www.nagomi-jp.net/~liners/
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
ttp://siromasa.digi2.jp/uwsc/
ttp://iriyak.adam.ne.jp/uwsc.html

657 :名無しさん@お腹いっぱい。:2015/05/31(日) 15:46:00.29 ID:SDSS//Sp0.net
全部画像検索で操作したらいい

658 :名無しさん@お腹いっぱい。:2015/06/01(月) 07:23:47.81 ID:7eb6mTTQ0.net
IELINKってフレーム分けされてるページだと文字列を読み込めないんですかね?

menu_fってフレームと、main_fってフレームがあって、menu_f内の「スケジュールの入力」って文字列をクリックさせたいんだけど、うんともすんとも言わん>.<

659 :名無しさん@お腹いっぱい。:2015/06/01(月) 14:29:47.45 ID:Axa8otif0.net
現在値のIEオブジェクトはフレーム定義のみのパターンかな
であればアクセスしたいフレームのIEオブジェクトを取得しよう
公式 FAQ #n37 に習って
同じドメインで同じプロトコルであればDOM操作するのも手

660 :名無しさん@お腹いっぱい。:2015/06/01(月) 20:00:58.86 ID:B4sEGaAv0.net
気になってframesetとiframeの両方を試してみたけど
IELinkは正常に動作する

操作を受け付けないframeとかあんのかな?

661 :名無しさん@お腹いっぱい。:2015/06/01(月) 20:04:32.22 ID:B4sEGaAv0.net
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.ink.or.jp/~bigblock/html/frame/01.html")
BusyWait(ie)
msgbox("frame IELink start")
msgbox(IELink(IE,"自己紹介"))

IE.Navigate("http://masaboo.cside.com/new_html1/ht_44.htm")
BusyWait(ie)
msgbox("iframe IELink start")
msgbox(IELink(IE,"次のページ"))

Procedure BusyWait(ie)
 repeat
  Sleep(0.2)
 until (! ie.busy) and (ie.readyState=4)
Fend

662 :名無しさん@お腹いっぱい。:2015/06/02(火) 01:33:31.66 ID:kONnq2Nk0.net
変るか?

663 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:19:29.49 ID:SCl6mZXT0.net
皆さんありがとう
試行錯誤しながら、教えてもらったことを試してみます。

お前ら優しいのな
惚れてまうわ

664 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:45:41.51 ID:SCl6mZXT0.net
今試してみてページの作りの違いなのかソース表示すると

>>661さんのサンプルページの場合
どこでソース表示しても、メニューとコンテンツの二つのフレームがあると分かるけど、

自分がUWSCを使用したいページの場合
・各フレームのソースのみが表示される
→メニュー部分でソース表示するのと、メイン部分でソース表示するのと内容が違う

mainフレームにもmenuフレームにも、headとbodyがあって
さらに言えば、ページ内にヘッダーがあるんだけど、そのヘッダーにもheadとbodyがある…。

何かすげーややこしい構造の管理ページ。
ちなみに、ヘッド部分・メニュー部分・メイン部分のそれぞれのリンク先を指定してみたけど、どれも読み込めなかった

665 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:50:40.17 ID:SCl6mZXT0.net
あれ、ファイアーフォックスだとちゃんとソース表示される

666 :名無しさん@お腹いっぱい。:2015/06/03(水) 14:49:13.90 ID:jzVkSga+0.net
chkimg用の透過画像を簡単に作れる方法はないかな?

具体的には一番濃い色だけを残して他は透過色として塗りつぶしたいんだけど
色で選択して選択範囲反転、塗りつぶし、とやるのがいいのかな?

使ってるソフトがあったら教えて下さい
ペイントで1ドットずつやってるから目が疲れた

667 :名無しさん@お腹いっぱい。:2015/06/03(水) 15:11:46.10 ID:Gp34xgkt0.net
自分はフリーのgimpとか使ってたな

668 :名無しさん@お腹いっぱい。:2015/06/03(水) 15:39:19.35 ID:9AhfqGY+L
twitterのプロフィール画像、ヘッダー画像をアップロードしたいんだけど、
プロフィールを編集を押下から先がわからない。

プロフィール画像を変更→画像をアップロードのやり方分かる人いる?

初めて1週間のおれにはソースにid,nameがないぽくてお手上げ状態。。

座標クリックで凌ぐしか今思いつかない。
分かる人助けて

669 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:28:14.77 ID:jzVkSga+0.net
gimpか
ありがとう

670 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:48:09.69 ID:W59efDtX0.net
paint.netもおすすめ

671 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:57:08.35 ID:UeOvBRd10.net
特徴的なごく狭い範囲を加工するだけだからMSPaintで十分だったわ。
てか、あまりでかい画像を持たせるのはなんかやだった。

672 :名無しさん@お腹いっぱい。:2015/06/04(木) 17:25:02.12 ID:CDT2sb0DE
ここでは初歩的な質問かもしれないけど、どうしても作りたいマクロがあって質問したい。

A「@30分起きに一度再生したいスプリクト」・B「常に再生(ループ)しておきたいスクリプト」を2つ。

基本はBを再生しておきながら、30分おきにAを再生(その間Bは停止)する場合どういうスケジュールにすればいいかな。

673 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:03:55.25 ID:8OB69mUNU
>30分おきにAを再生(その間Bは停止)
処理の内容によるとは思うけどAの再生状況をBが知る必要があるから
iniファイルを使ってAの再生フラグを作成してBの再生を制御するか
もしくはAとBを制御するCという制御用スクリプトを作ってそこから
CALLでAをB呼び出す方法
後者のほうが簡単かな

674 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:05:43.29 ID:8OB69mUNU
×CALLでAをB呼び出す方法
○CALLでAとBを(Cから)呼び出す方法

675 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:33:32.80 ID:KJajLfqNh
-Main.uws-
Thread FunctionA()
Thread FunctionA()
Exit

Procedure FunctionB()

676 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:36:55.08 ID:KJajLfqNh
書き込みウインドウで編集しようとしたら途中で書き込んじゃった

>>672
これを起動しておく

--Main.uws--
Thread FunctionA()
Thread FunctionB()
Exit

Procedure FunctionA()
 While True
  CALL A.uws
  Sleep(60 * 30)
 WEnd
FEnd

Procedure FunctionB()
 While True
  CALL B.uws
 WEnd
FEnd

677 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:44:00.99 ID:2TqM2PJKS
実質的に並行処理ではない(時間になったらBは途中であっても止める)から
この場合はスレッドは使うべきじゃないよ

Bで1行処理するごとに時間チェックする処理を呼び出して
時間になったらそのままAをコール、そのままBの処理に戻ると簡単

678 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:53:50.80 ID:2TqM2PJKS
あと「30分おきに」の定義も厳密にしないとダメかな

>>676のような「30分+Aの処理が始まって終わるまでの時間」ごとになのか、
Aの処理時間とは無関係に、0分に最初の処理があれば30分、60分、90分・・・
のタイミングに呼ぶのかでも処理方法は全然違うから注意したほうがいい

679 :名無しさん@お腹いっぱい。:2015/06/05(金) 01:38:45.35 ID:Y75hI0BD0.net
photoshopで「イメージ」→「色調補正」→「二階調化」閾値255
これは真っ白のみ切り抜く方法だが
他の色でやりたいなら「自動選択ツール」許容値1とかでも



それ以外のやり方聞いてるんですよねスミマセン…

680 :名無しさん@お腹いっぱい。:2015/06/05(金) 03:28:03.59 ID:ACIe9+Kh0.net
このスレ的にはスクリプトでイメージを処理すれば良いんだけど
UWSCでイメージ処理は正直面倒くさい

681 :名無しさん@お腹いっぱい。:2015/06/05(金) 07:06:50.75 ID:lq3LJr2I0.net
IrfanView
とかは?

682 :名無しさん@お腹いっぱい。:2015/06/05(金) 11:14:16.47 ID:55WfbWby0.net
chkimgは処理速度が遅いから場所によっては数箇所peekcolorで判定する事もあるわ

683 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:33:41.73 ID:10/gL9fe0.net
ブラウザ操作の質問です

IEがビジー状態の間待つ
というコードをchromeではどう書けばよいですか?

684 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:57:29.93 ID:UlD2Vx9U0.net
基本的には書けない
セレニウム使うか素直にIEで

685 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:58:52.47 ID:2jwoan/j0.net
俺なら、読み込み完了が分かる画像が表示されるまでスリープ
表示されたらさらに数秒スリープ
って感じのコードをゴリゴリ書くかな
アバウトだから、異常チェックは念入りに必要だけど

686 :名無しさん@お腹いっぱい。:2015/06/06(土) 10:45:55.76 ID:10/gL9fe0.net
>>684
ありがとうございます
>>685
ありがとうございます。それに挑戦してみます

687 :名無しさん@お腹いっぱい。:2015/06/06(土) 22:30:19.68 ID:6ckcFYnr2
uwscを起動すると通常は横に細長い小さなコントロール用パネルが表示されますが、
あるタブレットで起動すると、uwscのコントロール用パネルが最大化して起動してしまいます。

uwsc.exeの起動だけならウインドウバーをダブルクリックして元のサイズに戻せるのですが、
マクロファイルから起動させると最大化したままでウインドウバーが消えるので、まったく操作不能になります。
(タスクバーにも覆いかぶさるので、ソフトウエアキーボードが使えません)

タブレットはdell venue 8 pro、win8.1 32bit、
参考までに解像度は1280x800で、それ以下のサイズに変更しても同様の現象が起きます。
今落とせる古いバージョンのuwscでも同様の現象が起きます。
どなたか解決方法がわかる方いませんでしょうか。

688 :名無しさん@お腹いっぱい。:2015/06/07(日) 02:00:40.39 ID:gOW6AkJ5Y
>>687
検索するとwin8以降は画面解像度と文字サイズ設定で常にウィンドウが最大化されて開く仕様があるらしい
という事はわかりましたが、質問に解像度の事が書いてあるのでそこは承知している感じを受けました
根本的な原因はわかりませんが、取り敢えずUWSCの改善案として

>uwsc.exeの起動だけ〜
→UWSC右クリック→「タスクトレイに格納」を選択する
これで次回から起動時にタスクトレイに格納されるはず

>マクロファイルから起動〜
スクリプトファイル先頭にUWSCを最小化する命令を追加しておく
CTRLWIN(GETID(GET_THISUWSC_WIN),MIN)
(しかし、関連起動ではメイン画面は表示されなかったと思うのですが…)

関連起動時に表示されるウィンドウがログ表示用ウィンドウだとしたら
スクリプトファイル最初にあるPRINT文の直後にACW命令を追加
ACW(GETID(GET_LOGPRINT_WIN),0,0,200,150)

似たようなスペックのwinタブレットASUS VivoTab Note 8を使っているのですが
該当した症状はないので機種固有の設定等なのかもしれませんね
原因がわかりましたら報告していただけると他の方の参考になると思うので助かります

689 :名無しさん@お腹いっぱい。:2015/06/07(日) 03:10:01.83 ID:xD+n8wnog
>>688
早速有り難うございます。

>検索するとwin8以降は画面解像度と文字サイズ〜
この件はしりませんでした、後ほど調べて見るようにします。

>→UWSC右クリック→「タスクトレイに格納」を選択する
>これで次回から起動時にタスクトレイに格納されるはず
この通りになりました。

>スクリプトファイル先頭にUWSCを最小化する命令を追加しておく
>CTRLWIN(GETID(GET_THISUWSC_WIN),MIN)
>(しかし、関連起動ではメイン画面は表示されなかったと思うのですが…)
いつも使っているvistaでは確かに関連起動ではメイン画面は出ないのですが、同じスクリプトでもこのタブレットでは何故か表示されます。
(uwsc付属のサンプルスクリプトでも表示されます)

さしあたり例示していただいたスクリプトを挿入することでメイン画面の最大化は回避出来ました。
ただログウィンドウを表示するタイプのスクリプトを使っているので、一旦裏に回ったログウィンドウを表に出すと、
メイン画面も一緒に再び表に出てしまいます。
第一段落に書いていただいた、win8以降特有の現象かと思われますので、そちらの方からもう少し根本的な解決法を探ってみます。
ありがとうございました。

690 :名無しさん@お腹いっぱい。:2015/06/07(日) 13:14:51.89 ID:JD5ADCZJ0.net
非アクティブウィンドウの操作についての質問です。
対象ウィンドウは最小化しておらず、他ウィンドウに隠れた状態です。
uwscにマウス操作を取られずにウィンドウにマウス操作を送りたいのですが、
以下の記述でうまくいきません。

mouseorg(getid("hoge"),2) // hogeはウィンドウ名
ifb chkimg("img.bmp",0) then
print G_IMG_X
print G_IMG_Y
btn(LEFT,0,G_IMG_X,G_IMG_Y,100)
endif

上記を実行したところ、G_IMG_XとG_IMG_Yの値がコンソールに表示されますが、クリック動作が行われません。
mouseorg(getid("hoge"),1)を試してみたところ、目的の画像img.bmpのある位置をクリックできています。
chkimg関数は目的通りに動作しているようですが、どうにもbtn関数がうまく動作せず困っています。

よろしくお願い致します。

691 :名無しさん@お腹いっぱい。:2015/06/07(日) 14:15:31.79 ID:6n30q6Ii0.net
>>690
IDが送りたいオブジェクトのIDじゃないんだろ

692 :名無しさん@お腹いっぱい。:2015/06/07(日) 14:52:20.91 ID:qteIWs/R0.net
画像裏動作はまともに動作しないから仮想化使うのが無難という結論だったと思われる

693 :687,689:2015/06/07(日) 15:50:52.67 ID:xD+n8wnog
>>688
解像度と文字サイズで、タブレット機のウインドウが常に最大化して開くのはこの現象ですね。
http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-files/%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6/d41d51c0-c785-4697-9224-767ff227d931

uwscのショートカットを作成して、プロパティから実行時の大きさを「通常」→「最小化」とすることでメイン画面が表示されることはなくなりました。

694 :名無しさん@お腹いっぱい。:2015/06/07(日) 15:41:29.75 ID:O6vjW+bk0.net
「まともに動作しないから」ではなく、
苦労に苦労を重ねて、あるひとつの動作をまともに動作させられたとしても、
そもそも裏のウィンドウを操作したい件の最終目標を達成するには、
そのたった一つの動作だけで済むはずもなく、次から次へと困難が待ち受けており、
いちいち2ちゃんで質問するレベルの人には手に負えないだろうという理由。
またそういった手法は、画像認識と同じで、操作対象や操作環境がホンの少し
変わっただけで同様に動作しなくなることも多かろう。
だめになる

695 :名無しさん@お腹いっぱい。:2015/06/07(日) 15:45:43.42 ID:JD5ADCZJ0.net
>>691
子ウィンドウIDまで取得してこないといけないんですね。
初歩的な質問ですみませんでした。
hogeid = getid("hoge")したあと、getallwin(hogeid)で子ウィンドウを確認して、
目的のウィンドウIDを見つけることができました。
ありがとうございます。


すみません、再度質問させてください。
上記手順で子ウィンドウIDを見つけ出し、mouseorg(hoge_childid,2)としましたが、
未だ他ウィンドウに隠れた状態ではクリック動作を受け付けませんでした。

対象ウィンドウを前面に出すとクリック動作が行われます。
>>690のまま実行していたときには前面に出してもクリック動作が行われず、
>>691でご指摘頂いた通り、ウィンドウIDが間違っていたのだとわかりました。

今回は前面に出すことでクリック動作が正常に動くことから、
対象ウィンドウにクリック操作を送れているとは思うのですが、
他ウィンドウに隠れるとうまく動作しません。
やはり>>692で指摘頂いたように裏動作は諦めるしかないのでしょうか。

よろしくお願い致します。

696 :名無しさん@お腹いっぱい。:2015/06/07(日) 16:14:20.96 ID:msybnWxP0.net
SLEEP(RANDOM30)
とかやっても動くのか……
いままでわざわざ

A=RANDOM(30)
SLEEP(A)

とかやってたぜ

697 :名無しさん@お腹いっぱい。:2015/06/07(日) 16:59:39.11 ID:D83vkIKe0.net
VGAの省電力機能なのか背面のウィンドウは随時描画処理がなされていないようだから
背面で動かしたいなら画像が見つかるまでchkimgをループさせるとかする必要がある

698 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:31:14.34 ID:iDR01ZVNS
一昨日入れたばっかりなんだけど、ヘルプがタブ以外全部真っ白
タブでなんか検索しても右側真っ白
最初ヘルプ無いのかと思ったけどスレ見る限りだと違うみたいだし・・・
使い方おかしいんだろうか

699 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:26:57.74 ID:JD5ADCZJ0.net
>>697
背面にある状態でG_IMG_X,G_IMG_Yに目的の画像の座標が格納されていても、
画像が見つかっていないんでしょうか。
座標がわかる=画像が見つかったという認識でいます。

クリックすべき座標がわかっている状態でも、
背面にあるとクリック動作が送れないので困っています。

700 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:36:30.05 ID:AIilwBQo0.net
アンチマクロなアプリかは別として
非アクティブだと受け取らないアプリなんでしょう
ならどうしたらいいのかって言うとアクティブにする
仮想化ってのも結局はアクティブにするって意味だからね

そして其処までしないとダメな操作対象って基本ゲームなんですよね

701 :名無しさん@お腹いっぱい。:2015/06/07(日) 19:21:21.14 ID:uNXZK6faF
>>698
公式サイト見た?
http://www.uwsc.info/faq.html#n3

702 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:41:41.22 ID:JD5ADCZJ0.net
>>700
なるほど。
アクティブにしてクリック操作をして非アクティブにする
という切り替えをすればもちろんうまく行きますが・・・。

そういったアプリケーションに対してはバックグラウンド動作させることはできないのでしょうか。
何か別のアプローチが必要で、それをご存知であればご教示下さいませんか。

今回対象にしているアプリケーションはUltraVNCでして、
リモートコンピュータを自動操作したいと思っています。
(リモートコンピュータにUWSCを入れることができない環境です。)

703 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:45:24.33 ID:AIilwBQo0.net
なら仮想化を多重化したらいいじゃない

704 :618:2015/06/07(日) 21:36:42.77 ID:8tEtrI0CA
>>622さんのお陰で、フォームのhtmlを
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にして、表示の問題は解決したのですが、今度は上下のカーソルキーが効かなくなってしまいました。
ほかの指定ならキーボードでスクロール出来るのですが、どうしたものか困っています。

705 :名無しさん@お腹いっぱい。:2015/06/07(日) 21:58:52.12 ID:iDR01ZVNS
>>701
あなたが神か
ありがとう!これでようやく自分で調べられるよ!

706 :名無しさん@お腹いっぱい。:2015/06/07(日) 23:51:15.21 ID:gOW6AkJ5Y
>>693
そのページです
ショートカットで改善できたようで良かったです
>>689
関連付けによる実行でメイン画面が表に出るということは非表示にしてしまうと良いかもしれません
>ログウィンドウを表示するタイプのスクリプトを使っているので、一旦裏に回ったログウィンドウを表に出すと、
>メイン画面も一緒に再び表に出てしまいます。
スクリプトファイル先頭にUWSCメインウィンドウを非表示する
CTRLWIN(GETID(GET_THISUWSC_WIN),HIDE)
もしくはUWSCメインウィンドウのサイズを変更する
ACW(GETID(GET_THISUWSC_WIN),0,0,200,150) //サイズは適当

707 :名無しさん@お腹いっぱい。:2015/06/08(月) 00:14:33.14 ID:g3jBGxhA7
UWSC掲示板にネットゲーム関係の質問はご遠慮くださいってあるから、ここもダメなのかしらどうかしら

708 :名無しさん@お腹いっぱい。:2015/06/08(月) 08:13:34.15 ID:NyH9JvbJw
>>707
もちろんダメ

以前にUWSCスレでゲームの話題が出て荒れたけど
対象ゲームをする人以外には何ら応用もできない内容で埋め尽くされた
http://anago.2ch.net/test/read.cgi/software/1405162342/

709 :名無しさん@お腹いっぱい。:2015/06/08(月) 19:27:51.76 ID:M0D6EJoR0.net
あー
VNCは画像をJPGみたいに圧縮して送ってるから
まったくおなじ画像として認識するのは不可能だわ
PeekColorもしかり、同じ色にならない
UWSC本体を送るんじゃなくてexe化したパッケージを送ることも無理なの?

それも無理なら、
VNCでコントロールしてるってことは、ガチガチ社内ネットとかじゃなくて
ネットワークトラフィックは無視していいってことだろうから

(H)PrintScreen→(H)MSPAINT→(H)PNGで保存→(H→C)WEBDABとかFTPとかOneDrive経由で受け取る
 →(C)画像を解析→(C)位置を確定→(C)マウスコマンドを送る
(H:スト側のローカルイベント C:クライアントUWSCマクロ側)
これで解決できると思う

画像のやり取りはあぷろだをかませるとそこでつっかえたりするから
OneDrive保存が最良だけどWin7以前でインスト不可ならコマンド用意しておいてFTPかな

クリップボード共有もOKな環境なら画像保存した状態からファイルの切り取りで奪っちゃってもいい
PrintScreenのクリップ状態はVNC側の環境によっては送れたり送れなかったり

710 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:03:24.24 ID:WtapXdWk0.net
裏の話で仮想化しろみたいな結論出てる所聞きにくいんだが
火狐ではクリックも画像認識も裏で反応するんだがIEとクロームではクリックも画像認識も全く反応しないのって皆同じなのかな?
連打測定サイトとかフラッシュゲーとかやってみたんだがIEとクロームが反応しないもんで何とかならんもんかと困っている

id = GETID(GET_ACTIVE_WIN)
MOUSEORG(ID,2)

while true
btn(left,down,815,395)
btn(left,up,815,395)
wend

これでひと通り試してた(座標とか画像認識の時は変わるけども)
クロームは43.0.2357.81 m (64-bit)
IEはバージョン11.0.9600.17633 更新バージョン11.0.16 (32bit)
狐は38.0.5
狐よりクロームの方で裏が動いたらいいなぁと思ってる、仮想化は最終手段として
前は確か出来たような気がするんだがはっきり覚えてないんで意見下さい

711 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:08:01.34 ID:WtapXdWk0.net
ちょっと書き方悪かったので補足
裏マクロが反応しないっていうのは最前面に出していてもクリックしてくれないって意味で画面が隠れている状態でって意味ではないです
とりあえずマウスが取られなければいいからって事で

712 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:42:53.34 ID:ilrPY7660.net
どうせゲームの話なんだろ?
それなら、マクロ用にもう一台パソコン買うのが一番早い

パソコンは消耗品だが、1ゲームに課金することを思えば長持ちするし、
ゲームを選べば課金額以上の働きをする

713 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:52:59.82 ID:6N+Eeckc0.net
ゲームもあるけど毎日やってる事を自動化したら楽だなーと思ってやってみたんだよね
それでクロームが一番読み込みとかの速さ的にもいいかなーって思ったんだが、まぁ狐使うなり仮想使うなり裏諦めるなりするしかないか
もう1台用意するのが一番良いよね、何するにしてもサブあると便利だし
CPUの大幅な性能向上来たら買ってサブ組むかって考えてるからそれ待ちなんだが一向に進展せんな

714 :名無しさん@お腹いっぱい。:2015/06/09(火) 02:07:07.25 ID:SXM4fw8U0.net
自分も普段使いのFireFoxで何とかって思い
AACを駆使して指定範囲付近のエレメントを検索する関数とか
巡回をサポートする関数をクラス化してやりくりしてたけれど

IEにしたら直接エレメント操作をCOMで出来るからバカバカしくなったぞ
別に無理に普段使いのブラウザを使う必要って実は無いのよ

仮に起点となるアドレスが可変だとしても
其処だけFirefoxから貰えば良い話だしね

715 :名無しさん@お腹いっぱい。:2015/06/09(火) 06:57:30.63 ID:EvVw9qfR5
うまく画像認識されなくて困ってるんですが、何かパソコンの設定的に原因が生じたりすることってありますか?他に何か考えられる原因があったら是非教えてください。
ブラウザは火狐、クロム、IE、Comodo Dragon、Coowon Browserを試しました結果全滅でした
認識させる画像の取り込み方も調べたとおりやったみたので間違ってはないと思います。

716 :名無しさん@お腹いっぱい。:2015/06/09(火) 07:57:11.38 ID:iqRZvXPr0.net
CheckColorScope関数の事で教えて下さい。
↓にもある通り、UWSCでサポートしてる関数であるはずなのに、エラーが出ます。
ttp://anago.2ch.net/test/read.cgi/software/1425741537/

エラー内容:
関数 CheckColorScopeがありません
xxx行目:if CheckColorScope( 830, 523,"R", 181,5)

オプションも誤字も無いはずなのに。。。
ヘルプ見てみたところヒットする関数がないのでサポートしてないのかな・・・。

UWSCバージョンは5.1.1.0 フリー版です。
原因がお分かりの方、ご教示ください。

おねがいします。

717 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:22:27.65 ID:OK+7I8vA8
>>715
まず問題の切り分けを行って下さい

何を見て調べたか?
(ネット情報?どのページ?その情報が本当に正しいと証明できますか?)

画像認識されない、というのはどうやって判断しているのか?
(認識できていないつもりでも、認識されているのでは?)

Windows標準のペイントで画像を開き、それを認識させられるか?
(ウェブブラウザ固有のものなのか?どんなソフトでも発生するのか?)

あなたのソースコードが見られればもう少し具体的にアドバイスできるかもしれませんが
これだけの情報ではパソコンの設定が原因とは判断できません

718 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:43:21.04 ID:c2dyIL9N0.net
誰かの自作関数なのでぐぐって拾ってきて下さい。

719 :名無しさん@お腹いっぱい。:2015/06/09(火) 10:13:45.35 ID:iqRZvXPr0.net
>>718
まじかーあのFunctionはそういうことだったんだ。
ありがとうございます。探してきます

720 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:17:44.12 ID:QPOSPQ3s0.net
>>711
そのページのソースのjs見たり
開発者ツール的なものを使って、クリックイベントの動作確認とかしたら?
クリックされたら、現在のマウス座標の場所にある要素に対して何か処理するのがあると
かなり難しいと思う

そもそもマウス移動せずや、アクティブにせずクリックとかするなんて
アプリ側は想定外のはずだから、
手段が用意されてないかもしれないよ

721 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:24:12.41 ID:yBfMnKXf0.net
スキャンした文字をデジタル化するOCR的処理って
UWSCでも頑張れば理論上できるかな?
それとももっと適した言語があれば教えて下さい。

722 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:29:10.79 ID:7oF2vMx30.net
GoogleにOCRあるからそれ使え
それでも満足できないなら頑張ってください

723 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:53:55.92 ID:HA8tJfl+0.net
>>721
完全2色まで減色

文字として機能する規定点のパターンマッチ

文字判別

とすれば理論上可能だろうけど、ぱ(PA)とば(BA)の違いだって目視でも判断できないこともあるし
更に単語処理が必要だろう

文字判別→前後単語の洗い出し→辞書から単語検索→単語確定

それでもパンダとハンダの違いを認識するには文節処理も必要になる
普通にOCRの操作を自動化した方がはやげ
全文字・漢字分の規定点の作成とか絶対やりたくない

724 :618:2015/06/09(火) 13:18:40.23 ID:Duqu01jJs
やはりどうしても、矢印キーでスクロール出来ません。
content="IE=8”を指定した場合だけ、矢印キーが効かなくなってしまいます。
困っています。

725 :名無しさん@お腹いっぱい。:2015/06/09(火) 13:53:54.65 ID:vRMQfWig0.net
有能な辞書があれば、理論上は、indexを引くだけ

726 :名無しさん@お腹いっぱい。:2015/06/09(火) 14:41:56.89 ID:SXM4fw8U0.net
少し前に調べた事だから今は違うかもしれないが

COMアクセス出来るフリーのOCRライブラリってのは多分無いからUWSC向きじゃない
後、フリーのOCRライブラリって日本語にはまともに対応していない

って感じだったかな

727 :名無しさん@お腹いっぱい。:2015/06/09(火) 16:32:28.45 ID:bTBbx7taC
>>724
もう少し状況を具体的に書いたほうがレスが付きやすいかもしれません
>ほかの指定ならキーボードでスクロール出来るのですが
ほかの指定とは何なのか
>矢印キーでスクロール出来ません。
textarea内のキャレットなのかフォームのスクロールなのか
変更した時は動作していたのか
UWSCのVerを変えてみるとどうなるか
フォームのHTMLファイルの設定状況
ソースが出せるなら出してみる
などなど

728 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:41:59.38 ID:gDDxKsKq0.net
ifb chkimg("1.bmp")
 num = 1
elseif chkimg("2.bmp")
 num = 2
elseif chkimg("3.bmp")
 num = 3
......
elseif chkimg("9.bmp")
 num = 9
else
 num = 0
endif

という具合のものを組みたいのですが、こういったことを表現する場合にはdimを使うと簡略できると見ました
しかしこのスレで前述されていることを見たり検索したりしてもどのようにすればいいのかわからなかったので、教えていただけないでしょうか

よろしくお願いします

729 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:46:01.35 ID:aNsp9elz0.net
繰り返し文の間違えだろう
dimなんて必要ない

730 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:21.35 ID:/H/r4kw50.net
num = 0
for inum = 1 to 9
  ifb chkimg(inum + ".bmp") then
    num = inum
    break
  endif
next
   

731 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:37.67 ID:gDDxKsKq0.net
申し訳ありません繰り返しと間違えていました
となりますと、>>728を簡略化するための何か別の方法はありませんでしょうか

732 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:03:36.87 ID:gDDxKsKq0.net
>>730
ありがとうございます

dimやら繰り返しやらでごっちゃになっていました

733 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:04:16.20 ID:/H/r4kw50.net
dim iname[] = "a", "bb", "ccc", "d", "ee", "fff", "g", "hh", "iii"
num = 0
for inum = 1 to 9
  ifb chkimg(iname[inum-1] + ".bmp") then
    num = inum
    break
  endif
next
   

734 :618:2015/06/09(火) 21:12:02.15 ID:aC4ZMC4d2
>>727
ありがとうございます。

矢印キーでスクロール出来ないのはフォーム全体です。
スクロースバーのボックス(ノブ)をマウスで操作すれば動きますが、矢印キーは効きません。

ほかの指定とは、
http-equiv="content-type"

content="text/html”

content="IE=edge”
または全く記述無し、等です。
これらの場合には、矢印キーでのスクロールが可能です。

しかし
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にしないと、やはりtextarea内の2行目以降が正しく表示されません。
これを指定した場合のみ、矢印キーでのスクロールが出来なくなってしまいます。

UWSCのバージョンは5.1.1、5.0.0、4.9cともに同様でした。

フォームのHTMLは、外部ファイルとしてUWCファイルと同じディレクトリに置いています。
obj = CREATEFORM("entry.html", “申込”, TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)
で呼び出しています。

Windows XP SP3、IE8です。
この環境で正常に動作させる必要があり、試行錯誤しています。

よろしくお願いします。

735 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:10:34.26 ID:SXM4fw8U0.net
組み合わせと対象数にある程度柔軟性が欲しいならこんな感じかな
IF文をchkimgにしていないのは

DIM testArray[] = "1.bmp<#TAB>1", "2.bmp<#TAB>2", "3.bmp<#TAB>3"

num = getNumber(testArray)
Print num

function getNumber(checkArray[])
 result = 0
 For checkItem In checkArray
  check = Split(checkItem, "<#TAB>")
  If chkimg(check[0]) Then
   result = Val(check[1])
   Exit
  EndIf
 Next
fend

736 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:16:19.70 ID:xBvHKv3T0.net
そういうのは連想配列でやらね?

737 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:38:22.54 ID:OK+7I8vA8
>>734
○○が効かないとか??が正しく表示できないとか全部抽象的すぎるので
具体的にIE=edgeやらIE=8で作成したうまくいかない各パターンのentry.htmlと
それを動かすUWSCソースコードを提示したほうが早いと思う

他人に見せられないソースコードだとしたら
他人に見せられるレベルにまで整理して単純化しないことには
問題点を洗い出すのは難しいしね

738 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:39:27.72 ID:G2ywoPsEr
for i=0 to Opendir(GET_CUR_DIR, "*.bmp")-1 でいいんじゃないの?

739 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:23:06.54 ID:SXM4fw8U0.net
完全否定はしないけれどその辺は此処のポリシーだよ

連想配列はメモリ配置的に勝手に助長化するから
連想配列のメインであるインデックス的なアクセスしないケースでなければ
個人的には採用しないなぁ

でも連想配列で実装しているコードを見ても兎や角言う気はない

740 :618:2015/06/10(水) 00:06:56.62 ID:YnIB6PNOa
>>737
ありがとうございます。
ソースコードを整理しました。

// test.UWSここから //
obj = CREATEFORM("entry.html", "申込", TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)

TIME_OUT = 10
tm = Gettime()
repeat
sleep(1)
ifb Gettime() - tm > TIME_OUT
break
endif
until (! obj.busy) and (obj.readyState=4)
Sleep(0.5)

741 :618:2015/06/10(水) 00:07:40.27 ID:YnIB6PNOa
SETFORMDATA("あいうえお","test01")
SETFORMDATA("あいうえお","test02")
SETFORMDATA("あいうえお","test03")
SETFORMDATA("あいうえお","test04")
SETFORMDATA("あいうえお","test05")
SETFORMDATA("あいうえお","test06")
SETFORMDATA("あいうえお","test07")
SETFORMDATA("あいうえお","test08")
SETFORMDATA("あいうえお","test09")
SETFORMDATA("あいうえお","test10")
SETFORMDATA("あいうえお","test11")
SETFORMDATA("あいうえお","test12")
SETFORMDATA("あいうえお","test13")
SETFORMDATA("あいうえお","test14")
SETFORMDATA("あいうえお","test15")
SETFORMDATA("あいうえお","test16")
SETFORMDATA("あいうえお","test17")
SETFORMDATA("あいうえお","test18")
SETFORMDATA("あいうえお","test19")
SETFORMDATA("あいうえお","test20")
SETFORMDATA("あいうえお","test21")
SETFORMDATA("あいうえお","test22")
SETFORMDATA("あいうえお","test23")
SETFORMDATA("あいうえお","test24")
SETFORMDATA("あいうえお","test25")
SETFORMDATA("あいうえお","test26")
SETFORMDATA("あいうえお","test27")
SETFORMDATA("あいうえお","test28")
SETFORMDATA("あいうえお","test29")
SETFORMDATA("あいうえお<#CR>かきくけこ<#CR>さしすせそ","test30")

742 :618:2015/06/10(水) 00:08:01.51 ID:YnIB6PNOa
while obj.Visible
sleep(0.2)
ifb GETFORMDATA("OK")
msgbox("テスト完了")
endif
wend
// test.UWSここまで //

743 :618:2015/06/10(水) 00:14:23.93 ID:SONjjThlq
// entry.htmlここから //
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset=Shift_JIS">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<title>申込</title>
</head>
<body>
<form name="test" method="POST">
<INPUT TYPE=text NAME="test01" VALUE=""><br>
<INPUT TYPE=text NAME="test02" VALUE=""><br>
<INPUT TYPE=text NAME="test03" VALUE=""><br>
<INPUT TYPE=text NAME="test04" VALUE=""><br>
<INPUT TYPE=text NAME="test05" VALUE=""><br>
<INPUT TYPE=text NAME="test06" VALUE=""><br>
<INPUT TYPE=text NAME="test07" VALUE=""><br>
<INPUT TYPE=text NAME="test08" VALUE=""><br>
<INPUT TYPE=text NAME="test09" VALUE=""><br>
<INPUT TYPE=text NAME="test10" VALUE=""><br>
<INPUT TYPE=text NAME="test11" VALUE=""><br>
<INPUT TYPE=text NAME="test12" VALUE=""><br>
<INPUT TYPE=text NAME="test13" VALUE=""><br>
<INPUT TYPE=text NAME="test14" VALUE=""><br>
<INPUT TYPE=text NAME="test15" VALUE=""><br>

744 :618:2015/06/10(水) 00:14:46.94 ID:SONjjThlq
<INPUT TYPE=text NAME="test16" VALUE=""><br>
<INPUT TYPE=text NAME="test17" VALUE=""><br>
<INPUT TYPE=text NAME="test18" VALUE=""><br>
<INPUT TYPE=text NAME="test19" VALUE=""><br>
<INPUT TYPE=text NAME="test20" VALUE=""><br>
<INPUT TYPE=text NAME="test21" VALUE=""><br>
<INPUT TYPE=text NAME="test22" VALUE=""><br>
<INPUT TYPE=text NAME="test23" VALUE=""><br>
<INPUT TYPE=text NAME="test24" VALUE=""><br>
<INPUT TYPE=text NAME="test25" VALUE=""><br>
<INPUT TYPE=text NAME="test26" VALUE=""><br>
<INPUT TYPE=text NAME="test27" VALUE=""><br>
<INPUT TYPE=text NAME="test28" VALUE=""><br>
<INPUT TYPE=text NAME="test29" VALUE=""><br>
<Textarea NAME="test30" COLS=30 ROWS=10 style="width:100%;"></Textarea><br>
<input type="submit" name="OK" value="OK">
</form>
</body>
</html>
// entry.htmlここまで //

以上です。
フォームが全部読み込まれた後、矢印キーでフォーム全体をスクロールさせることが出来ません。
entry.htmlの5行目にある「content="IE=8"」を削除するか「IE=edge」等に変えると、矢印キーでスクロールが可能です。

745 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:04:13.00 ID:U1uWjUCL0.net
普通に多次元配列か連想配列でやる

746 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:51:25.09 ID:7fQ2CVcl0.net
配列とか言われてもわかんねーから

747 :名無しさん@お腹いっぱい。:2015/06/10(水) 16:43:00.12 ID:+oPKIUUi0.net
久しぶりにアップデートしたらfukidasiのフォントがやたらと汚くなっていた
5.0.2のBALLOON関数にて アンチエイリアスを無効にした
これのせいだと思うんですけど無効にするのを無効に出来たりします?

748 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:30:43.10 ID:TCANs/4Rq
>>734
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でもフォームの上下キーによるスクロールは出来ませんでした
公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
上下キーによるスクロールが出来ない方がデフォルトなのかもしれません

提示していただいたソースを見ると気になった点が2つ
1.HTMLファイルでDOCTYPE宣言<!DOCTYPE html>の有無で表示モード変わるということ
DOCTYPE宣言<!DOCTYPE html>有→標準モード、無し→互換モード
2.IE8でのtextareaタグ使用はバグがあり、その一つに横幅指定style="width:100%に%を
指定するとバグる事があるとのこと
http://i-njoy.net/blog/index.php?e=553
こちらのページのコメント欄に同症状の情報がありました
これでIE8でtextareaの2行目以降が表示されない症状が改善するかもしれません

あとはIE11でも上下キーによるスクロールができないか試してみました
↑↓キーをホットキー設定してフォームがアクティブであればスクロール量を増減する
スクリプトですが同時使用1つまでという困った仕様です

749 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:35:54.73 ID:TCANs/4Rq
以下の3行を
>>740 test.UWS先頭に追加

PUBLIC obj
SETHOTKEY(VK_UP, , "フォームスクロール")
SETHOTKEY(VK_DOWN, , "フォームスクロール")

750 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:36:27.19 ID:TCANs/4Rq
以下の関数を>>742test.UWS末尾に追加(entry.htmlは変更無し)
procedure フォームスクロール()
  CONST スクロール量 = 15 //(px単位)
  DIM textarea_name[] = "test30" //textareaのname
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
    KBD(HOTKEY_VK); EXIT
  endif
  COM_ERR_IGN //textareaにフォーカスがある場合入力フィールド内を移動
    fname = obj.document.activeElement.name
  COM_ERR_RET
  for i = 0 to LENGTH(textarea_name)-1
    ifb fname = textarea_name[i]
      KBD(HOTKEY_VK); EXIT
    endif
  next
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
  ifb HOTKEY_VK=VK_UP
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop - スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop - スクロール量
    endif
  else  //if HOTKEY_VK=VK_DOWN
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop + スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop + スクロール量
    endif
  endif
fend

751 :名無しさん@お腹いっぱい。:2015/06/10(水) 22:51:56.47 ID:/MzX+sCy0.net
連想配列だとノーマル配列みたいにサクッと初期値を設定できないので手軽じゃない
>>733みたいにコードに埋め込んじゃえる規模なら一番手間がかからない
CSVとかから読み込むならどちらでもいいけど、その規模になると今度は、
キーが人間に判り易いというメリットは薄くなる
多次元配列はC言語みたいに初期値与えられんし可読性が著しく下がるので、
1次元配列の名前を判りやすくして並べたほうが見やすい
典型的なのがXY座標テーブルでposition[1][10]とやって0がXの1がYとやるより
//         1  2 …
posX[10] = n1, n2, …
posY[10] = n1, n2, …
とやったほうが手軽に書ける


752 :名無しさん@お腹いっぱい。:2015/06/10(水) 23:20:49.21 ID:OeKm7REC0.net
>>751
>>536は可読性が著しく低いのか。十分だと思うが

753 :618:2015/06/11(木) 14:41:18.47 ID:dqrkJ9bL2
>>748
検証して下さり、コードまで書いていただいてありがとうございます!
私が提示した簡略化したUWSで動かすと、完璧に動作しました!

しかし、実際のUWSで試すと、
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
の行や
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
の行で、
「OLE Object1への型変換が出来ません」のCOM_Errorが発生してしまいます。
原因を究明中です。

754 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:06:09.22 ID:Q9K0BUu70.net
画像認識やらで騙し騙し使ってたけど本格的にIEを自動化したい
まず学ぶべきはHTML?
最低限これはやっとけってのある?

755 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:18:50.32 ID:sjoLEexy0.net
>>754
IEは道具であって目的ではない
IEで何をしたいのかを書かなければ何も答えようがない

756 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:25:06.04 ID:Naihmo/b0.net
それこそいじりたいサイトによって、もっと言えば
同じサイトでも仕様が変わればやること変わるしな

757 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:27:04.74 ID:C9VpTbp70.net
ウェブスクレイピング的な操作が目的なら

HTMLはマークアップ言語なのか程度の認識でも良い
で、そのマークアップされた構造に対して
アクセス・操作する為のDOM(Document Object Model)の方が重要

構造化されたドキメント全体からあるノードを取得し
その配下このノードは○○、このノードは××と言った感じにデータ化

それらを整理して一括操作とかできたりする

総レス数 1144
361 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200