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

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)の方が重要

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

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

758 :618:2015/06/12(金) 12:36:41.13 ID:Xflk4lPje
>>748
解決しました。
お騒がせしました。
ありがとうございました。

759 :名無しさん@お腹いっぱい。:2015/06/12(金) 15:38:07.91 ID:nK+jRR0p0.net
DOM理解を試みる
ノードやらタグ、要素の理解で躓く
HTMLに手をを付けるか迷う←今ここ

とりあえず目下の目標はweb記事のスクラップ

760 :名無しさん@お腹いっぱい。:2015/06/12(金) 16:16:39.16 ID:44TZAm890.net
スクラップ目的の場合は対象記事の構造を把握する事が重要で
それぞれのタグの意味はそれほど重要じゃないよ

記事のヘッダ、本文、日時、URL等スクラップしたい情報の位置を把握して
それらをピックアップしてXML等で保存する感じかな

いきなり表示可能なHTMLで保存しようとすると果てしなく面倒臭い

慣れてきたらDOM構造を処理する内部言語っぽいのを作ってそれで処理するとかすると楽しい

761 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:47:47.34 ID:lLPEpWaJ0.net
>>1の使い方・基礎解説学習サイトみてもチンプンなんだけど、もっとプログラミング初心者向けのサイトない?

762 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:58:32.51 ID:7DVsBavJ0.net
>>761
自分で調べればいいんだよ
何をしたいか考えて、「uwsc ○○」でググって出たページを見ればいい
プログラミングってもはやグーグル検索をどれだけ使いこなせるかで習熟度が違うからな

763 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:18:23.28 ID:xcIcJdqM0.net
昔は調べるには分厚い本を何冊も高い金払ってようやくって感じだったが
今はネット環境あって検索使いこなせば殆ど不自由ないからなぁ

764 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:30:54.13 ID:KxkYlpRA0.net
>>761
>>1の使い方・基礎解説学習サイトみたがこれ以上分かりやすく書くのってどうやるんだっていうくらい難しい
これくらいなら誰でも知ってて当然っていうレベルなのでまわりの誰かに教えてもらうほうがはやい

765 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:44:31.26 ID:nvamwSVV0.net
記録機能があるので一見初心者さん歓迎っぽいがデバッグが厳しい

無償版はデバッガが無いのでPrint命令頼りの原始人レベル
有償版のデバッガでやっと一昔レベル
(ただしスレッドを使ったデバッグは結局Print命令だったりする)

ぶっちゃけガチ初心者ならUWSCはお勧めできない

766 :名無しさん@お腹いっぱい。:2015/06/14(日) 02:00:27.99 ID:HVOSbBWM0.net
プログラミングの流儀が分かってないとなあ
C言語の教科書一冊やり通した経験あるとないとでぜんぜん違うと思う

767 :名無しさん@お腹いっぱい。:2015/06/14(日) 06:53:08.56 ID:NZB6Vc0bn
>>758
無事解決できたようで良かったですね

>>748で訂正があります
>公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
>上下キーによるスクロールが出来ない方がデフォルトなのかもしれません
左側に表示される検索用フォームのウィンドウ検索結果の余白をクリックすることで
スクロールすることが出来ました
右側の表示用フォームVer1.2.1(Ver1.1.0は表示用フォームにIE使用なのでスクロール可能)は
どこをクリックしてもスクロール出来ないようです
が、ソースを見ると表示用フォームに<meta http-equiv='X-UA-Compatible' content='IE=9'>を設定してる箇所がありました
該当箇所をコメントアウトして実行するとスクロール可能になりました
改めて>>743さんの検証コード<meta http-equiv="X-UA-Compatible" content="IE=8">を外して実行すると
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でスクロール可能でした
(前回おそらく自作の妙なコードと同時に検証していたせいで動かなかった?ごめんなさい)
>>734さんの指摘通りフォームでレンダリングモード<meta http-equiv="X-UA-Compatible" 〜を指定すると
上下キーによるスクロールが出来ないことが考えられます

768 :名無しさん@お腹いっぱい。:2015/06/14(日) 07:43:37.88 ID:DcdHt8gu0.net
>>761
多分変数って何?式ってなに?くらいのレベルなんだろう
さすがにそこまでは書いてないと思うから
わからないことを一つずつググればいいよ
「プログラミング 変数とは」みたいに

769 :名無しさん@お腹いっぱい。:2015/06/15(月) 03:21:05.65 ID:Lx1Th6M00.net
今マクロツールって全然なくない?使いやすくてそこそこ色々出来るの何かあれば教えて欲しいわ

770 :名無しさん@お腹いっぱい。:2015/06/15(月) 22:48:55.05 ID:aNpw03CF0.net
フォルダの内容をテキストファイルに。要点のみだと5行。
フリーソフトで好みなのが見つからなかったんだけど、探す時間より
作る時間の方が早かったorz

DOSCMD("dir <#DBL>H:\cap\<#DBL> /s | clip",False,False) //コマンドからdirの出力をクリップボードに
str = GETSTR(0) //クリップボードから取得
fid=FOPEN("d:\cap_list.txt",F_WRITE) //テキストファイルを新規or上書きで開く
FPUT(fid, str) //テキストファイル書き込み
FCLOSE(fid) //テキストファイル閉じる

771 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:03:06.77 ID:5eo6IMhx0.net
DOSCMD("dir <#DBL>H:\cap\<#DBL> /s > d:\cap_list.txt")

じゃダメなの?

772 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:36:46.33 ID:HCkXIYKv0.net
それ、UWSC要るか?

773 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:46:16.54 ID:aNpw03CF0.net
「要点のみだと」って書いておいたのに。
テキスト整形したりは自由にやってくれ。

774 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:18:56.03 ID:JbJJrV+b0.net
テキストの整形なんてテキストエディタでやるよね普通

775 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:38:01.56 ID:fmeiedqk0.net
何が「要点」なのか分からないな
フォルダの内容をテキストファイルに保存したいだけのように見えるが
それならDOSコマンド直接叩くか、UWSC経由でやりたいなら>>771みたいに1行で充分だろうし
テキスト整形が目的なら肝心の処理だけを消した>>770には意味がないし

776 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:01:11.77 ID:2XF1H6rG0.net
バッチファイルやWSHで出来るようにしておくと仕事でも役立つよ。
バッチファイルやWSHで普通行うようなことまでUWSCみたいな
マイナーでアンチウィルスにもお許しを乞う必要があるような
ツールでしか出来ないと色々と認めてもらえないw

777 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:07:03.52 ID:Aq79miHj0.net
「UWSCからの操作」でエクセルの表追加ってどうやったらいいんでしょう?
excel.range("A1")=10
みたいに簡単な操作はマクロ記録を見れば応用できるけれど、グラフ追加だと
VBAマクロ記録で出てきたコードにEXCELを追加しただけだとエラーになります。
わかる人いたら教えて下さい。

※VBAでやれば、という突込みはご尤もだけど状況により、UWSCからの方法が
都合が良いです。

excel=createoleobj("excel.application")
excel.visible=true
excel.workbooks.add()

excel.ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select 
//エラー。xlXYScatterLinesが定義されていない

778 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:22:07.90 ID:HxIz+CSs1
初歩的な質問だったらごめんなさい
画像認識に使用した画像の左上の座標でなく右下の座標の取得って出来ないんでしょうか

779 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:43:50.38 ID:XPIoxtSOB
画像認識に使用したBMPのピクセル数分だけ変数に足せばいいじゃん

780 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:35:13.98 ID:2XF1H6rG0.net
VBEのイミディエイトウィンドウで
PRINT xlXYScatterLines
とやると定数の74であることがわかるので、
UWSC上で
CONST xlXYScatterLines = 74

781 :名無しさん@お腹いっぱい。:2015/06/16(火) 07:55:44.43 ID:eVw9E0jir
>>780
ありがとうございます。そうやって確認したらいいんですね!
めちゃ参考になりました。

782 :名無しさん@お腹いっぱい。:2015/06/16(火) 19:12:22.00 ID:fmeiedqk0.net
>>777
Excelの定数なら調べる必要すらなくて

http://www.uwsc.info/faq.html#n48
>Excelの使用にて定数がわからない、定数名を使用したい  #n48
>Excelの定数名を記述したファイル(ExcelConst.uws) をダウンロードして
>スクリプトの先頭で CALL ExcelConst.uws を入れるとExcelの定数名が使用できます

に書いてあるとおり用意されてる

783 :名無しさん@お腹いっぱい。:2015/06/16(火) 23:13:41.85 ID:3VC/w8LIc
Google Chromeをバックグラウンドで動かす方法(Flash PlayerもOK)
http://anago.open2ch.net/test/read.cgi/software/1395484022/13

>GETALLWIN(GETID(" - Google Chrome","Chrome_WidgetWin_1"))
>MOUSEORG(ALL_WIN_ID[0],MORG_DIRECT,MORG_BACK)

子ウィンドウのIDが取得可能になりバックグラウンドでマウスクリックなどの操作が可能になった模様
chrome64bit版で同じ操作が可能かは不明

784 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:41:35.26 ID:O6/Ohey4f
>>782
ありがとうございます。こんなのあったんですね。
作者さんやっぱりすげー。

785 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:53:07.37 ID:bOpYdHH80.net
VBAやらなくて済むようにUWSCに逃げても
xlXYScatterLinesが定数だというようなVBA知識は要るなど
UWSCはVBAより初心者に厳しいのです
VBEでマクロかけばxlXYScatterLinesはインテリ何とかで自動的に候補が出てくる

786 :名無しさん@お腹いっぱい。:2015/06/17(水) 09:32:42.95 ID:RcdlcA/F0.net
Bluestacks内でテキストを開いて
abcdefghiをabcjklghiみたいに書き換えることってできますか?
まず文字列取得の時点でつまづいてます

787 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:34:40.45 ID:z6hXDPOM0.net
画像認識で画面全部ではなく指定した範囲の中で認識を行うにはどうすればいいですか?
x1 y1 x2 y2と透過の所がよく分かりません

788 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:56:54.03 ID:YAI6QHUw0.net
ヘルプコピペしたいところだが。
日本語読めないと無理だな。

789 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:20:54.78 ID:VUJvu2f1B
大抵の画面の座標系は左上が原点(0, 0)になっていて
右下にいくほどX,Yが増えてる感じ。

CHKIMGの X1Y1 X2Y2 の意味は↓で囲った範囲から
サーチって意味だったと思います。

X1,Y1--------------------
| |
| |
| |
| |
|________________________________X2,Y2

790 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:23:34.02 ID:VUJvu2f1B
ごめん、ずれたからやり直し

X1,Y1--------------------
|                  |
|                  |
|                  |
|                  |
|________________________________X2,Y2

ヘルプ (uwsc.chm)見て分からないって事かと
思ったけどどうなんだ。。

791 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:13:10.93 ID:X+76V8o30.net
そこまでわかってんなら10分説明読めば分かるやろ

792 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:19:37.20 ID:z6hXDPOM0.net
x1 y1 x2 y2がサーチ範囲だってのは分かってるんですけど
x1 y1にx座標とy座標入れたとしたらx2 y2には何を入れればいいんですか?

793 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:36:08.77 ID:VUJvu2f1B
サーチ範囲なんだから、始点と終点がいるでしょ、X2、Y2は終点。

794 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:24:30.17 ID:XQ7s6Cqi0.net
絶対座標か相対座標の2種類しか考えられないだろ
以前に紛らわしいなって話が出てたから確か相対座標(幅、高さ)だったと思うけれど
普段使わないので自分で確かめろ

795 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:25:11.10 ID:Z95Qk9550.net
>>792
x1 y1 左上の座標
x2 y2 右下の座標
サーチ範囲指定すると言う事は2点の座標を指定しないとダメ

796 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:38:34.88 ID:soxPIV+S0.net
今日のお前らは優しいな

797 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:46:58.83 ID:VRFtRWlX0.net
相対じゃなくて絶対

自分でもどっちだかわからなかったからサンプルコード作って確認した
間違いなく絶対座標

アプリのウインドウ領域指定するなら
Status(ウインドウID, ST_X) + Status(ウインドウID, ST_Width)
 と
Status(ウインドウID, ST_Y) + Status(ウインドウID, ST_Height)
を指定する

798 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:48:41.05 ID:RcdlcA/F0.net
ワイの質問にも優しい人教えて(`;ω;´)

799 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:50:11.39 ID:Ph078XLs0.net
>>797
マジで?

800 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:58:52.63 ID:cT7OPLwz0.net
最近始めた者です。
KBD(VK_T,CLICK,1034)

1061が待機秒数(ms)になると思うのですが
毎回異なる秒数にするにはどうすればよいでしょうか?

イメージ的には
1回目 1034
2回目 1093
3回目 1052
4回目 2013


です。

801 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:11:41.70 ID:0MbH0eAWA
>>798
Bluestacksって軽くググったらAndroidじゃないか
Andで動く自動化ソフトならともかくまず無理だわ
最近のOSはフォントにアンチエイリアスかかってるから表示させるたびに色調が変わるし画像認識でも無理だね

sambaで共有してローカル的に拾いに行く以外の解決策はないんじゃないんじゃないの

802 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:04:07.61 ID:RcdlcA/F0.net
RANDOM(1000)で0から999がランダム
KBD(VK_T,CLICK,1000+RANDOM(1000))
で1000から1999までランダム

803 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:05:11.59 ID:VRFtRWlX0.net
>>799
ソース汚いが
ttp://www.dotup.org/uploda/www.dotup.org372734.zip.html

804 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:07:23.94 ID:cT7OPLwz0.net
>>802
なるほど!ありがとうございます。

805 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:07:37.10 ID:l/wOZoEE0.net
相対座標か絶対座標かはmouseorgで変更できるだろ

806 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:09:29.29 ID:peL4cobc0.net
とっても不親切なHELPで有名なUWSCでございます。
素人・初心者お断りでございます。
だれでも簡単にWindowsを自動操作できます。

807 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:13:49.66 ID:VRFtRWlX0.net
>>805
あーうん。そういうことじゃなくてね
幅、高さ ではないというはなすぃ

808 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:50:54.43 ID:VUJvu2f1B
あのHELPは、必要最低限に要約されてるメモとしてはとても良くできてるよ。

理解できない部分はどっかで調べればいいと思う。

809 :名無しさん@お腹いっぱい。:2015/06/17(水) 20:46:27.66 ID:Ph078XLs0.net
>>803
サンクス、絶対座標だった
なぜか元画像だとペイントのカラーボックスにヒットしてうまく動かなかったから
画像変えて使わせてもらった

810 :名無しさん@お腹いっぱい。:2015/06/17(水) 21:54:52.53 ID:RcdlcA/F0.net
>>786をだれかよろ
こうなったらクリップボードにコピーして
そこでいじるしかないか・・・

811 :名無しさん@お腹いっぱい。:2015/06/17(水) 22:20:59.21 ID:XQ7s6Cqi0.net
よろじゃねぇ
リモートデスクトップ系なんだからAndroidのコントロールに直接アクセスは出来ないのは確定
であればPC側から期待する動作を行う手順を
そのまま自動化するしか無いだろ

812 :名無しさん@お腹いっぱい。:2015/06/17(水) 23:41:49.69 ID:RcdlcA/F0.net
なるほどそういう感じなのね
サンクス
画像認識で文字を長押ししてコピペとかやってたけど精度が低かったので…
でもそんな感じでやるしかないのね

813 :名無しさん@お腹いっぱい。:2015/06/17(水) 23:47:13.29 ID:l/wOZoEE0.net
Bluestacksなら普通にadbでやりゃいいだろ
なんでuwscなんだ

814 :名無しさん@お腹いっぱい。:2015/06/18(木) 00:51:11.98 ID:rTrmvoNTM
サーチ範囲が分かりにくかったらSAVEIMG使うと視覚的にいいかもしれないね
SAVEIMG("test.bmp", ID, x1, y1, x2, y2, TRUE, 0, IMG_BACK)
保存された画像がサーチ範囲

815 :名無しさん@お腹いっぱい。:2015/06/18(木) 04:50:41.66 ID:uQlwCkkT0.net
IEでCTRLWIN(ID,MIN)の最小化した状態からIEをF11を押したような全画面表示をさせたいです。
CTRLWIN(ID,MAX)だと最大化ですからウインドウが見えてますし、全画面表示の設定は無いようです。

アクティブにした後、KBD(VK_F11)を使う以外にもっとスマートな方法はありませんか?

816 :名無しさん@お腹いっぱい。:2015/06/18(木) 05:04:06.21 ID:1UcnZ19Y0.net
無いと思う
ーk とURLを付けて起動させたら全画面になるが
これは元に戻せないマジのキオスク向けのモードだからなぁ

817 :名無しさん@お腹いっぱい。:2015/06/18(木) 05:35:20.37 ID:rTrmvoNTM
ああ、なるほど
相対座標、絶対座標と何の話をしてるのかと思ったら
要するに例えばデスクトップ座標x=100,y=100から幅=200,高さ=200の矩形の範囲を指定したければ
CHKIMGなら x1=100, y1=100, x2=300(x+幅), y2=300(y+高さ)を指定しなければならない(指定ウィンドウの絶対座標)

x=100; y=100; 幅=200; 高さ=200
CHKIMG( , , x, y, x+幅, y+高さ)

SAVEIMGだとx2, y2に相当する箇所が幅, 高さで指定する事になっているから(x, yからの相対座標)

x=100; y=100; 幅=200; 高さ=200
SAVEIMG( , , x, y, 幅, 高さ)

という事だね

818 :名無しさん@お腹いっぱい。:2015/06/18(木) 06:58:43.23 ID:uQlwCkkT0.net
>>816
成る程
F11は既に手動で全画面にしちゃってると全画面が解除という逆の動作になるので余り使いたくなかったのですが仕方ないですね
-Kのキオスクオプションは知りませんでした
使える場合はありそうなので記憶に留めておきます
ありがとうございました!

819 :名無しさん@お腹いっぱい。:2015/06/18(木) 08:15:48.49 ID:5a3a1sw2E
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.yahoo.co.jp/")
while IE.busy or IE.readyState<>4; sleep(0.2); wend
IE.TheaterMode = True
if IE.TheaterMode = True then print "シアターモード(全画面表示)です。5秒後に戻ります。"
sleep(5)
IE.TheaterMode = False
if IE.TheaterMode = False then print "通常画面です。"

//F11で戻せないので緊急時はALT+F4で閉じて
print "5秒後にキオスクモード(全画面表示)にします。"
sleep(5)
IE.FullScreen = True
if IE.FullScreen = True then print "キオスクモード(全画面表示)です。5秒後に戻ります。<#CR>緊急時はALT+F4"
sleep(5)
IE.FullScreen = False
if IE.FullScreen = False then print "通常画面もどきです。"

820 :名無しさん@お腹いっぱい。:2015/06/18(木) 23:31:35.83 ID:7jhVt5eP0.net
画像処理について質問です
画像が少し変わったくらいでは反応させずに大幅に変わったときに反応させるやり方はありますか?
例えば指定画像にマウスポインタが重なったくらいではなく指定画像の一部分が消えるという感じです

821 :名無しさん@お腹いっぱい。:2015/06/19(金) 00:03:00.80 ID:Zt2MQ/yZ0.net
>>820
ポインタが重なってる時と重なってない時の両方の画像がない場合に反応させる

822 :名無しさん@お腹いっぱい。:2015/06/19(金) 00:30:40.14 ID:rV3INbCi0.net
>>821
その手がありましたか
この場合はIFB ELSEIF を使えばいいんでしょうか?
2つの画像がない場合に反応させるにはどのようなスクリプトになりますか?

IFb CHKIMG("A.bmp""B.bmp"だとおかしいですよね?

823 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:20:58.80 ID:Zt2MQ/yZ0.net
>>822
IFb !CHKIMG("A.bmp") AND !CHKIMG("B.bmp")

完全に構文だけの問題だから、自分でヘルプ見て解決できるほうが良い

824 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:50:13.60 ID:rV3INbCi0.net
以前から気になってたのですが  !CHKIMG  CHKIMG の2パターンがありますが「!」はどんな違いなのですか?

825 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:51:13.87 ID:QJOVJbEc0.net
じゃないほう

826 :名無しさん@お腹いっぱい。:2015/06/19(金) 02:52:23.67 ID:i8J6qQEG7
! はプログラム言語で not を表す

よく見かける 「A != B」 は、「A =B じゃないとき」 と読む

でもUWSCではこの表記できない

欠陥

827 :名無しさん@お腹いっぱい。:2015/06/19(金) 05:51:58.87 ID:/beYdrrW0.net
>>824
自分も今その!の表記見てなにこれって思った
「!」ありでも動作するの?

828 :名無しさん@お腹いっぱい。:2015/06/19(金) 06:42:28.40 ID:zXB4M29n0.net
否定演算子

829 :名無しさん@お腹いっぱい。:2015/06/19(金) 07:43:22.53 ID:/beYdrrW0.net
!CHKIMG("A.bmp")
(CHKIMG("A.bmp")=FALSE)

つまり上記2つは同じ動作をするって認識であってます?

830 :名無しさん@お腹いっぱい。:2015/06/19(金) 07:55:49.87 ID:fw3hNLlq0.net
はい

831 :名無しさん@お腹いっぱい。:2015/06/19(金) 10:00:01.32 ID:9MxUM04p0.net
>>822 698

Ifb文中の !CHKIMG() は関数の戻り値 TRUE か FALSE を ! で反転してるという事で
OR とか AND とか !(NOT) の論理演算子の使い方は
条件文書く時に必要なんでしっかりおさえましょうね。

832 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:19:49.43 ID:2U3B+b8c0.net
IF文について教えて下さい
IFとIFBは結局同じと考えて良いのでしょうか?

IFBはIFと違って複数行の処理が書ける・入れ子構造も可
と書かれてるサイトもありますが
別にIFでも出来ますよね?
ヘルプもIFB-ENDIFはIF-ENDIF同じ説明文にリンクされてますし。

833 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:33:58.31 ID:/beYdrrW0.net
>>832
実装時期の違い
当初はIF文は一行でしか使えなかった
複数行にするにはIFBにする必要があった
いつかのアプデからIFでもIFBでも複数行で使える仕様に変更された
結論は同じって事ですね

834 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:53:03.92 ID:nYYnOjUy0.net
>>833
> いつかのアプデからIFでもIFBでも複数行で使える仕様に変更された

し、知らなかった…
いったいいつからだw

ifで複数行なんてやったことなかったから…

835 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:59:34.66 ID:QJOVJbEc0.net
なんも考えずにIFB使えばいいよ

836 :名無しさん@お腹いっぱい。:2015/06/19(金) 20:14:39.34 ID:hKqu5SPe0.net
IFBなんて勧めんなよ
おまえ性格悪すぎw

837 :名無しさん@お腹いっぱい。:2015/06/19(金) 21:16:59.56 ID:hITZPnpq0.net
>>834
4.7cから

838 :名無しさん@お腹いっぱい。:2015/06/19(金) 21:25:44.48 ID:qFWhSFir0.net
複数行の時はIFでThenは絶対に使わない
一行の時はIFB ; xxx ; EndIFってするひねくれ者です

839 :名無しさん@お腹いっぱい。:2015/06/19(金) 22:12:32.64 ID:i8J6qQEG7
それよりいつになったら一行IFのコロン可になるんだ

840 :名無しさん@お腹いっぱい。:2015/06/19(金) 23:51:46.41 ID:fw3hNLlq0.net
ifとifbを使い分けてると
thenの入れ忘れとかでわかりにくいバグを生むことがある
ifbオンリーにするのも割とあり
javaでもifの{}を省略しないよう統一するコーディング規約もあったりするし

841 :名無しさん@お腹いっぱい。:2015/06/20(土) 00:05:56.81 ID:1lHsuodt0.net
for A = 0 to 10
  hoge = random(10)
  print hoge
next

これを後からも参照できるように変数に入れたい
hoge0〜hoge10にループ毎の結果を代入することはできる?

842 :名無しさん@お腹いっぱい。:2015/06/20(土) 00:17:07.80 ID:UvvdAStd0.net
EVAL関数使えば出来るが普通は配列使うぞ

EVAL("hoge" + A + " := RANDOM(10)")

hoge[A] = RANDOM(10)

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

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