[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/19 04:01 / Filesize : 303 KB / Number-of Response : 1078
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名無しさん@お腹いっぱい。 [2015/11/11(水) 13:45:28.80 ID:+oPzgSay0.net]
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

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

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

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

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

前スレ 自動化ツールUWSC使いよ集まれ15
anago.2ch.net/test/read.cgi/software/1436671958/

80 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 15:14:10.19 ID:r3ygr5190.net]
> CALL UWSファイル名.uws(xxx, xxx, ...)  // 引数を付けた場合に値は PARAM_STR[] 変数に入る

CALLでスクリプトを呼んだ時のように、不定個の引数を受け取って
内部で配列として扱う関数を作りたいのですが、どうしたら出来るでしょうか?

81 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 16:20:50.27 ID:t2yi2j7b0.net]
SafeArry使いなよ

82 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 16:58:26.39 ID:r3ygr5190.net]
SafeArrayを使うとは具体的には?

引数が不定数だと、実行時に引数の数が違うと怒られてしまうんですが。
配列を作る関数が欲しいのですが、順序が逆の
先に配列を作ってから関数に入れる事しか思いつかないです。

83 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 19:35:50.10 ID:kvx4k+FL0.net]
pram[] が使える言語も受け側は配列として処理するだけの糖衣構文
あると便利な機能だけど無いとコレが出来ないって事はない
結果に加工した配列が欲しい場合はSafeArray使えって話でしょ

UWSCはpram[] は使えないので配列長なしの配列を引数に使うしか無いので
こんな感じで引数用の配列を用意する必要があるのは仕方ない

Dim a[] = 1,2,3
Dim b[] = 5,10
Print JOIN(test(a), ",")
Print JOIN(test(b), ",")

Function Test(value[])
 Dim iMax = Length(value) - 1
 result = SAFEARRAY(0, iMax)
 For i = 0 To iMax
  result[i] = value[i] * 2 //2倍に加工
 Next
Fend

//実行結果
//2,4,6
//10,20

84 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 23:27:48.86 ID:3Sfs5iCK0.net]
引数を多目に書いておいて関数内で処理するんはダメなのか?

85 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 00:57:58.26 ID:DCQo+QOr0.net]
要するに不特定の因数を受け取って配列を吐き出したいんだろ?

関数内で配列を作るか関数外で用意しておいたところに入れるかの差はあるが
関数内で配列を作って外に放り出すにはSafeArrayしかないし
関数外であらかじめ用意しておくなら配列数でリサイズすればいいだけじゃないっていう話

関数に不特定の因数を渡す際には
セパレータ記号を付けて一つの因数にしておいて、関数内で分解すればよろし

dim array = test(a+"#"+b+"#"+c+"#"+d+"#"+e)

function test(param)
testarray = safearray(0, 0); testarray[0] = token("#", param)
while pos("#", param); testarray[resize(testarray, resize(testarray)+1)] = token("#", param); wend
result = testarray; fend

86 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 10:58:24.63 ID:R9oruk2c0.net]
UWSC初心者です。つまづいてしまったのでどなたかお教えください。
Bluestacks上でアプリを起動してマウス操作などの自動化を行いたいのですが記録されても再生するとマウスがBluestacks上動いたりクリックしたりしません。PCゲーでは今まで動いていたのですが‥
なぜでしょう?どなたかお

87 名前:願いします。 []
[ここ壊れてます]

88 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 11:08:48.43 ID:6gzLq2020.net]
>>80
内部で配列として扱いたいだけで、出力は配列というわけではないのです。
結局のところ、不特定数の引数を受け取りたいだけなんですが、
そのままの入力はどうやら無理のようですね。
素直に配列作って渡すことにします。
無名配列でも作れたらよかったのですが。

ありがとうございました。



89 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 11:24:54.22 ID:zICgyZ9/0.net]
>>82
単純に受け側でsplitで良いような…

90 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 11:37:45.83 ID:6gzLq2020.net]
受け取る変数も不特定なのでセパレータが被る恐れがあります

91 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 14:17:53.45 ID:95T98vMj0.net]
特定の画像が出た時に直前の作業をもう一度起こす事で安定性を上げたいです
a→b→cと処理勧めてきて
while
if checking
処理dに進む
break

elseif checkingエラー画面
call b→c処理を書いた別ファイル
endif
wend
みたいな形でなんとか動かせてはいるんですけど修正の作業とかが面倒なので別のアイデア無いでしょうか

92 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 15:02:48.84 ID:WUTAg8ze0.net]
>>85
b→cを別ファイルにするだけではあかんの?


a→
call b→c処理を書いた別ファイル
while
if checking
処理dに進む
break

elseif checkingエラー画面
call b→c処理を書いた別ファイル
endif
wend

93 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 15:07:24.77 ID:WUTAg8ze0.net]
安定性を上げる手段としては、状態判定と処理をループにしておくという手も。

while true
状態判定 a →処理 a
状態判定 b →処理 b
状態判定 c →処理 c
状態判定 d →ループ抜ける
wend

処理 d

94 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 15:15:35.51 ID:gRViVlbY0.net]
>>84
分ってるかもだけれど
セパレータは2文字でも3文字でもOK

95 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 15:38:20.45 ID:bJyAh8OV0.net]
>>88
自前でセパレータを仕込むのなら
もう自分で配列造るのと何も変わらないさ

96 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 16:34:39.80 ID:95T98vMj0.net]
>>87
なるほど
手探りで一本で書いて後から必要な部分だけ別ファイル用意してcall・・・みたいな事してぐちゃぐちゃになってしまったんですが最初かは処理毎に作っておいて判定してcallする形にすればあちこち修正しなくても済みそうですね
その方向で整理してみます ありがとうございました

97 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 16:56:34.30 ID:nYaQHfF60.net]
>>90
お前は次に、長時間動作させているとエラーでUWSCが落ちる、と書き込む

98 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 17:20:08.96 ID:bJyAh8OV0.net]
そして私はスタックオーバーフローしないようにCALLは出来るだけ最初に1回
CALL先のスクリプトは関数化して本処理ではその関数を呼ぶと安定するよとFAQなアドバイスしておくのだった

CALLをループ内に仕込むのは展開された動作を把握しきっていないと
資源の衝突や初期化周りで予期しない動作が発生するトラブルの原因のトップランカーさんです



99 名前:名無しさん@お腹いっぱい。 [2015/11/18(水) 20:34:52.95 ID:ya19mM+o0.net]
下記のように画像判定を使ってループを処理した際に

repeat
状態判定a →処理a
状態判定b →処理b
until chkimg(処理abが実行された後の画像)

ループ中にエラー(Flashがクラッシュするなど)が発生した際にどのように対処すればいいでしょうか。
現在苦肉の策としてFlashがクラッシュした際に出る画像を判定するプロシージャをThreadで走らせておいて
エラー画像を検出したらエラーフラグ(Publicなエラーフラグ変数)をTrueにして各repeat内でフラグが立っていたら
breakするように記述しているのですが、repeatすべてにこの処理を導入しているため大変見苦しいコードとなって
しまっているので何かいい方法はないかと・・・

100 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 20:52:19.47 ID:bJyAh8OV0.net]
エラー画像を発見したら終わらせるだけなら
寧ろメインループをそっちにして
別スレッドで他の処理すると

101 名前:yだよ
終わらせたくなったらメインループを抜けるだけで全て終わるからね

処理毎の終了処理が必要なら今の方法しか無いかな
[]
[ここ壊れてます]

102 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 20:57:06.76 ID:bJyAh8OV0.net]
但し、デバッガがメインスレッド以外のスレッドのデバッグにマトモに対応していないから
完成した後にそうするか最初からprintデバッグする必要があるけれどね

103 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 20:57:49.77 ID:JQ1Q8izi0.net]
Flashのクラッシュみたいな大きなエラーはもう別プロセス(別UWSC)で監視しちゃえば。

104 名前:名無しさん@お腹いっぱい。 [2015/11/18(水) 21:23:51.36 ID:ya19mM+o0.net]
クラッシュを検出したらリロードを行ってまた処理を行うようにしているので
メインループを抜けてしまうのは出来ないです。

別プロセスでエラーを監視した場合、メインプロセスを再起動させて処理を再開するというような感じになるのでしょうかか?

105 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 21:49:32.35 ID:bJyAh8OV0.net]
終わらせないなら特に楽にならないから今まで通りで良いんじゃないかな

UWSCから他のスレッドを殺す事はやろうと思えば出来るけれど
予めスレッドの起動毎にプロセス番号をグローバルな配列に保存して
それらをゴニョゴニョって感じになるから
今のフラグでループ制御しているのと面倒臭さは大して変わらない

でも一旦終わらせて、それを検知する別スクリプトが再起動させるという考え方もあるんだけれどね
(ログに書き出すとか色々方法はある)

106 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 23:05:59.51 ID:R9oruk2c0.net]
>81です
初歩的な質問すぎて呆れてしまわれましたかね?ごめんなさい

107 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 23:15:08.17 ID:xUeF/cfW0.net]
失せろカス

108 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/19(木) 00:52:14.47 ID:d6Osv4Zy0.net]
誰か教えてやれよ



109 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/19(木) 19:16:18.41 ID:5LbifL7P0.net]
>>97-98
その辺の実践経験者から言わせてもらうと、
結局は人間が操作するならどういう流れで操作するか、その流れのコード化に尽きる。
処理の区切り区切りの尽くに、クラッシュその他の予期しない自体を検知する処理を行う関数を挟み込む。
何らかの無限ループがあればその内側に必ず挟みこむか、無限ループをやめて回数制限またはタイムアウトを設ける。
クラッシュを検知してリロードして処理を1からやり直すということは、
その1からの部分に何時でも戻れるよう、プログラムの十分な構造化が要求されることは言うまでもない。
関数化、関数化そして関数化だ。関数が出来過ぎてしまうので分類だ。凄まじい数の独自関数群になる。

>>81
使ったことのない対象なので無責任に答えるが、
記録できないだけなのであればキャプチャ画像から割り出した座標をDOWN-UPでゆっくりクリックするのを書いて、
それでも認識されないか否か試してみたら?認識されないのなら不可能だから諦めろってことだ。

110 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/19(木) 22:29:12.84 ID:ZWZs69JY0.net]
>>81
高レベルではなく低レベル記録する

111 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/19(木) 22:43:42.91 ID:oG2sQJna0.net]
仮想OS上のアプリをホスト側から操作しようなんてのは無理

112 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/20(金) 09:33:31.45 ID:Pd39Iv5K0.net]
フラッシュは、ジョブズが嫌ってた。
firefoxとも相性が悪くてクラッシュしまくりだから大嫌い!

113 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 10:27:37.94 ID:kt2iHckZ0.net]
UWSCのスレッド内からIEの操作を行うと、
アプリケーションは、別のスレッドにマーシャリングされたインターフェースを呼び出しました
ってエラーが出るんですが、回避の方法はありますかね?

IEobj = CREATEOLEOBJ("InternetExplorer.Application")
thread test_thread(IEobj)
msgbox("")
// ここまでmain

procedure test_thread(IE)
PRINT "IE Navigate start"
IE.Navigate("www.google.co.jp")


114 名前:PRINT "IE Navigate end"
wait(IE)
fend

procedure wait(IE)
REPEAT
SLEEP(0.1)
UNTIL !IE.busy AND IE.READYSTATE = 4
fend
[]
[ここ壊れてます]

115 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 11:26:31.22 ID:B04dZN/C0.net]
そのケースならメインで CREATEOLEOBJ する意味がないと思う

念のため thread test_thread(IEobj) で test_thread はメインとは別スレッドになるけれど
test_threadから wait を呼び出しでも wait は test_thread と同じスレッドだからね

同じ OLEOBJ を複数のスレッドで使いたい場合は
どちらかを GETACTIVEOLEOBJ にしたら良いと思う

116 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 12:11:56.37 ID:kt2iHckZ0.net]
>>107
サンクス
メイン側で生成したオブジェクトをスレッドに渡しても(グローバル変数でも駄目だった)、動かないって事で
すかね。

メインでタブを二つ作ってそれぞれのオブジェクトをスレッドに渡して処理させようとしてたんだけど、タブは
作ったうえでスレッド側でオブジェクトを生成するようにしたら期待する動作になったようです。

117 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 17:03:31.49 ID:+ESe50Z90.net]
UWSCでループを用いないキー入力待ちって作れる?

118 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 17:25:25.61 ID:B04dZN/C0.net]
SETHOTKEYを使えば出来るよ
でも厳密にはこれは待たないからね
イベントドリブンなスクリプトになるイメージ



119 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 18:07:35.61 ID:+ESe50Z90.net]
それってホットキーの入力を待つ時には結局ループ系必要にならない?

120 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 18:24:22.67 ID:valwfeOZ0.net]
ならない

121 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 18:34:12.81 ID:+ESe50Z90.net]
>>110,111
ありがとう
やってみるわ

122 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 18:38:50.90 ID:B04dZN/C0.net]
ホットキーで割り込む隙もなくメイン処理が終わるなら当然終わるよ
キー入力の待機ループが不要なだけさ

123 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/21(土) 21:26:37.91 ID:+ESe50Z90.net]
>>114
sleep中でも無視して関数呼び出してくれるんだね
これでPCへの負荷が激減した
ありがとう

124 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 17:32:21.47 ID:3BpSGfNj0.net]
test

125 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 22:48:31.92 ID:JF3Q3VkF0.net]
UWSCのウィンドウを出しておいて
右クリックからランチメニューを辿って
スクリプトを実行しようとしたとき
メニューにある「タスクトレイに格納」で
左クリックしてるわけでもないのに
タスクトレイに格納されてしまうことがあるけど
これは仕様なの?

ゆっくりやれば問題ないけど
ササッとやりたいときに
タスクトレイに格納されてしまって萎える

Free版 ver5.2.0

126 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 22:55:07.30 ID:qS8AAPnY0.net]
マウスが古くなっていてチャタリングが発生している可能性はゼロなの?

127 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 23:07:09.04 ID:W5FAQXAx0.net]
何言ってんだと思ってやってみたらなるほど

右クリックするとメニューが表示されるわけではなく、右ボタンを押下した時点(離す前)でメニューが表示される
そして丁度カーソルの位置にタスクトレイに格納がある。
そのため、メニューを開く時に右クリック(押して離す)をしてしまうと格納されてしまうことがある。

こういうことかな?
それなら右ボタン押してメニューを開いたら、押したままドラッグでランチメニュー→スクリプトの上で離すってやればいいんじゃね

128 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 23:30:20.08 ID:s/LW23zM0.net]
HOTKEYじゃ駄目なの?



129 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 23:32:44.91 ID:JF3Q3VkF0.net]
右クリックメニュー上で右クリックしても
決定したことになるのか

それは知らなかった

130 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 23:53:35.41 ID:qS8AAPnY0.net]
だからチャタリングが発生するマウスだとコンテキストメニューが誤爆しやすくなってしまうのよね

131 名前:名無しさん@お腹いっぱい。 [2015/11/25(水) 11:13:45.29 ID:rJNaTAeQ0.net]
今Windows8.1を使用しているのですが
外付けHDDが短時間で休止状態になってしまって困っています
UWSCで定期的にアクセスして休止に入らないようなスクリプトは
どうやったらかけるのでしょうか

132 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 12:42:30.98 ID:txG9N8jK0.net]
がんばって調べれば書けるよ

つか、わざわざUWSCでやることでもないだろそれ

133 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 15:20:51.71 ID:S/4vbjYn0.net]
USBかATAコントローラーのドラ

134 名前:Cバ設定かサスペンドの設定だろUWSC関係ねえ
OSがスリープ命令出したらたとえUWSCで自動書き込みさせても電源落ちるぞ
[]
[ここ壊れてます]

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 15:51:54.62 ID:Iap/Z3Jk0.net]
UWSCでやる意味は全くないけど、OSのスリープタイマーをリセットするコマンドがあったような

136 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 17:12:36.18 ID:JO/DUQA90.net]
A、B、C画像いずれかがなければDをクリックし
A、B、Cのいずれかの画像があればループを終了する
と言う感じで組みたい
WHILE (CHKIMG("A.bmp")=FALSE)
WEND
このままではAの画像がでるまでループ
ループ途中にA画像B画像C画像を検索し
なければDをクリック。
頭爆発しそう

137 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 17:19:07.03 ID:rT4L+apC0.net]
ここはお前の日記帳じゃない

138 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 17:29:57.74 ID:y0cJp4zm0.net]
ABCいずれかがなければDで
ABCいずれかあれば終了
どっちも同じ?
A がなければ D だけど
AがなくてもBとCがあるから終了?
でもBとCがあってもAがないからD?



139 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 17:37:42.03 ID:txG9N8jK0.net]
WHILE TRUE
IF Aあり BREAK
IF Bあり BREAK
IF Cあり BREAK
Dクリック
WEND
じゃいかんのか?

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 19:31:02.42 ID:JO/DUQA90.net]
>>129
>>130
初歩的な勘違いやった。
申し訳ない

141 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 03:04:57.99 ID:uYW4zJhI0.net]
初歩的な質問で失礼します
以下のマクロでchkimgを連続実行すると、検索対象のウィンドウの一部が点滅?してしまいます

repeat
 SLEEP(0.1)
until GETKEYSTATE(VK_LBUTTON)
PUBLIC id
id = GETID(GET_FROMPOINT_WIN)
MOUSEORG(id, MORG_DIRECT, MORG_BACK)
main()

procedure main()
 i=1
 repeat
  chkimg("test.bmp")
 until i=100
fend

chkimgの後にsleepを入れても点滅速度が遅くなるだけで、根本的な解決にはなりませんでした
また点滅箇所はソフト毎に異なるようです(chrome、メモ帳、エクスプローラなどで確認)

UWSCは最新版、OSはWin7 64bitです
デスクトップコンポジションを無効にする以外の解決法はないでしょうか?

142 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 03:10:30.73 ID:6LeH5ZQ60.net]
どうでもいい指摘だけど i が加算されないからそれ延々ループしまくるよね

CPUパワーの可能な限り延々チェックし続けて、そりゃウインドウも点滅するさね
リソース不足じゃない?

143 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 03:24:45.08 ID:uYW4zJhI0.net]
>>133
chkimgの後のi=i+1が抜けてましたね

ご指摘の通り非力なPCを使っているのですが、
タスクマネージャーで確認したところCPU使用率は50%を下回っているようでした

chkimgの後にsleep(1)を入れても点滅するのでパワーの問題じゃないと思ってたのですが…

144 名前:名無しさん@お腹いっぱい。 [2015/11/27(金) 04:39:10.35 ID:gIPgqqH30.net]
クリックしたときにその下のウィンドウのID取得してるのにわざわざMORG_BACKを指定してる
理由がよくわからないけど試しにMORG_FOREにしてみたらどうなるかな?

145 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 11:40:45.00 ID:qwTQlhP30.net]
peekcolor・chkimgは実行された瞬間にウィンドウ内にちらつきが走る。
実際にどうなってるのかは一瞬過ぎてわからないが、タイトルバーの明滅からして
ウィンドウがアクティブ→非アクティブ→アクティブというようになっている感じがする。

大量にchkimgすると結構チラチラとして不快に感じる。

146 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 12:27:45.06 ID:AjRZAbKp0.net]
MORG_BACKでやってるとなるよね
バックグラウンドでやる必要ないならFOREでやれば点滅しないはずだけど

147 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 12:32:28.19 ID:wntLhT ]
[ここ壊れてます]

148 名前:d20.net mailto: MORG_BACKでなるなら相手に再描画をお願いするためっぽいね
仕方なかろう
[]
[ここ壊れてます]



149 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 14:12:30.76 ID:FeZzskVz0.net]
>>134
2コアなら1コアがフルに使ってても50%超えないから

150 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 14:23:32.71 ID:qwTQlhP30.net]
>>137,137
バックグラウンドで動作させてるわけではないんだが、IEだとちらつく。
他のアプリではあまり見ないのでIEだけが問題なのかもしれん。

あとposaccもちらつくな。
使ってる量的にはchkimgよりpeekcolorが、peekcolorよりposaccの方が多いから
原因はposaccかも。

151 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 14:33:55.72 ID:AjRZAbKp0.net]
え、MORG_BACKにする=バックグラウンドだろ
だったらMORG_FOREにしとけよ

152 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 19:20:14.27 ID:qwTQlhP30.net]
俺と>>132は別人だよ。

最初からバックグラウンドにはしていない。

153 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/27(金) 21:21:48.29 ID:AjRZAbKp0.net]
おお、すまんな
IEだとFOREでもちらつくのか

154 名前:131 mailto:sage [2015/11/27(金) 23:19:54.60 ID:uYW4zJhI0.net]
みなさんありがとうございます
バックグラウンドで動かしたかったんですがMORG_BACKだと仕方ないみたいですね
諦めてちらつきは我慢することにします

155 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 18:17:20.79 ID:FR9Rv/l10.net]
VMwareのゲストOS上で主に、たまにホストOS上で動かすスクリプトがあるんですが
スクリプトからホストかゲストか否かを判定する方法ないですかね?

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 20:22:07.03 ID:dldTCCO80.net]
>>145
c:\ほにゃ.txt とか置いといてそん中に Guest or Host って書いておく
起動時にそれを読んで判断じゃダメ?

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 20:39:20.97 ID:wN8TzbSm0.net]
レジストリ読めばいいだけじゃん
UWSCじゃなくてバッチでもできることだしこのスレでは特に関係ない話題よね

158 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 20:53:54.86 ID:FR9Rv/l10.net]
>>146
それ単純でいいですね。146さんもありがとうございます。



159 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 21:25:51.53 ID:qtPTFMZU0.net]
>>146
もっと言えば、ほにゃがGuest or Hostで、そのファイルがあるかないかだけで、中まで見なくていいよね

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 21:43:33.70 ID:oqtIKp380.net]
GET_APPDATA_DIRでユーザーネームあたりを確認してもいいよね
同じじゃなければだけど

161 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 23:05:00.83 ID:wN8TzbSm0.net]
だからレジストリ見れば一発だろうが

DosCmd("wmic csproduct") の戻り値を参照しろ

VMware Virtual Platform ってのが入るから

162 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 23:25:03.94 ID:FR9Rv/l10.net]
別に無視してるわけではないですが、ファイル作って判別する方が
仮想か否かだけでなくどのPC/OSかという判別が容易なのでこっち採用です

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/29(日) 00:47:57.33 ID:JUXVZ/4C0.net]
iniファイルで良いような…

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/29(日) 16:45:06.45 ID:D3s05B910.net]
chromeでバックグラウンド動作させたいんですけど
mouseorgでmorg_direct指定してるのにbtnでクリックするとアクティブになってしまいます
何所がいけないんでしょうか?

id = GetId("google chrome")
id = GetCtlHnd(id, "chrome_RenderWidgetHostHWND")
MouseOrg(id, morg_direct, morg_back)

hoge=0
WHILE hoge<20
 hoge=hoge+1
 btn(left, click, 100, 100)
 sleep(0.2)
wend

165 名前:名無しさん@お腹いっぱい。 [2015/11/29(日) 22:40:44.71 ID:PLkzB9890.net]
callってどういう時に使えばいいんだろう

少しずつ部品となるプログラムを作って、それを大元のプログラムで呼び出すような作り方をしてるんだけど、
uwscファイルがどんどん増えていって、どんどんわかりにくくなる

・何度も、何行も書かなきゃならない処理を一行で書ける
・変更する場合も呼び出し先のファイルを変更するだけでいい

こういうのが利点なのかな?

166 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/29(日) 22:51:34 ]
[ここ壊れてます]

167 名前:.18 ID:Eprjqt/E0.net mailto: >少しずつ部品となるプログラムを作って、それを大元のプログラムで呼び出すような作り方をしてるんだけど
>uwscファイルがどんどん増えていって、どんどんわかりにくくなる

1処理に1ファイル作ってんの?
関数にして1ファイルにまとめて、callで呼び出すのは最初に1回だけやるんだよ
[]
[ここ壊れてます]

168 名前:名無しさん@お腹いっぱい。 [2015/11/29(日) 23:10:30.89 ID:PLkzB9890.net]
やっぱり自作関数をつくるべきなのか
引数とか処理の流れとかがよくわからんままだったから敬遠してた



169 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/29(日) 23:16:48.50 ID:Eprjqt/E0.net]
今だとまんまファイル=処理になってるんだろ?
それぞれ頭にprocedure 処理名、尻にfendつけて1ファイルにまとめるだけや
んでcallしてるところでcallやなしに処理名を書くだけのことや

170 名前:名無しさん@お腹いっぱい。 [2015/11/29(日) 23:26:27.99 ID:PLkzB9890.net]
それだけでいいのか
やたら引数とか書いてあるから後回しにしてた

171 名前:名無しさん@お腹いっぱい。 [2015/11/30(月) 04:20:23.49 ID:FBOUUxt90.net]
>>81
Androidエミュレータの事なら Win10Pro 64bit だとUWSCを管理者権限で起動したら反応する
逆に管理者権限で立ち上げないと書いてある通り反応しない

172 名前:名無しさん@お腹いっぱい。 [2015/11/30(月) 04:40:32.11 ID:FBOUUxt90.net]
>>155
例えばアプリ上でフリック動作を再現したい場合以下ようなコードになるけど100,100をフリックしたいときもあれば200,200をフリックしたい場合もあるから
フリック動作させる度にイチイチ以下のコードを書かないといけない

x=100
Y=100
BTN(Left,DOWN,x,y,125)
FOR i = 0 To 10
tx = x-i*50
ty = y
MMV(tx,ty,10)
NEXT
BTN(Left,UP,tx,ty,10)

173 名前:名無しさん@お腹いっぱい。 [2015/11/30(月) 04:43:07.50 ID:FBOUUxt90.net]
>>155
一方関数化して以下のコードを書いたファイルを事前にCALLしておけば
必要な時に必要な値を指定して FlickToLeft(200,200)と一行書いてやるだけで同じ処理が実現できる

PROCEDURE FlickToLeft(x,y)
DIM i =0
DIM tx = 0
DIM ty = 0

BTN(Left,DOWN,x,y,125)
FOR i = 0 To 10
tx = x-i*50
ty = y
MMV(tx,ty,10)
NEXT
BTN(Left,UP,tx,ty,10)
FEND

同じような処理を関数化しておくと可読性と保守性が上がるのが利点かな

174 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 05:54:19.63 ID:CNS9MKt70.net]
ふと思いついて6通りの乱数x2つでの特定の組み合わせが出る確率を求めたんですけど
UWSCの乱数(random(n))に偏りがある?CALCARRAYのCALC_AVRがおかしい?のか
想定していた数値になりませんでした・・・。精査して原因を教えていただけるととても助かります

ttp://pastebin.com/Y1RvsTBN

numcomが乱数を発生させた回数、avgnumは1を回数で割り、パーセンテージでの確率を収納してます
1/36、1/21、1/18が想定の答えなんだけど10%ちょいになっちゃうんです。
たぶん↑の求め方が悪いんだと思うんですけど、なんでなのかわかりません・・・
他に良い確率の求め方・確かめ方があればご教示お願いします

175 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 08:00:28.88 ID:rjvF5ULZ0.net]
明確に擬似乱数なのを精査する必要性がちょっとわからない
ガチな計算したかったら乱数生成もガチなのを使えば良いと思うな

176 名前:名無しさん@お腹いっぱい。 [2015/12/01(火) 08:33:28.18 ID:YKDdYdY80.net]
計算がおかしい。
「平均値の平均値」みたいなものを求めているから、平均ではなくなっている。
まず基本に戻ってこうに考えろ。

dim bairitu[] = 2,3,4,6,10,20
dim maisu[] = 50,80,100,150,200,500

numcon = 1
n=0
dim num[10000]

repeat
bai = bairitu[random(6)]
mai = maisu[random(6)]

ifb bai = 20 and mai = 500
num[n] = 1
else
num[n] = 0
endif

n = n + 1
until n = 10000

msgbox( "10000回の平均は"+CALCARRAY(num,CALC_AVR)*100+"%でした")

177 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 12:47:54.59 ID:CNS9MKt70.net]
おぉ素晴らしいです、シンプルでわかりやすく動作も軽い!
考え方や

178 名前:CALC_AVRの理解を誤っていたのがようやくわかりました。
ありがとうございます、精進いたします
[]
[ここ壊れてます]



179 名前:名無しさん@お腹いっぱい。 [2015/12/01(火) 13:21:03.45 ID:+tH8B3qd0.net]
>>161-162
遅くなったけどありがとう
勉強になった
おかげで引数とかも理解できるようになったよ

最近は関数の名付けに悩むようになった

180 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 15:00:00.63 ID:zTQCTmEm0.net]
プログラミングのエントリーにはもってこいだなUWSCは。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<303KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef