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

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

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

1 :名無しさん@お腹いっぱい。:2016/03/23(水) 20:13:23.20 ID:LGiv8vs60.net
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

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

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

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

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

前スレ 自動化ツールUWSC使いよ集まれ16
http://potato.2ch.net/test/read.cgi/software/1447217128/

681 :名無しさん@お腹いっぱい。:2016/05/25(水) 05:33:42.54 ID:qc9mPYKv0.net
すいません、下記のプログラムで、
複数回メッセージが送られてしまう時があるのですが、Threadってそういうものなのですか?

roop = true
while roop
thread SEND_MESSAGE()
roop = false
wend

//プロシージャの処理
PROCEDURE SEND_MESSAGE()
id = "samplewindow"
//画像が見つかるまで待機
while !chkimg("sample.bmp")
sleep(0.1)
wend
sendstr(id,"test")
FEND

682 :名無しさん@お腹いっぱい。:2016/05/25(水) 05:54:33.10 ID:SeV4kQrk0.net
なんでスレッドを使ってるんですか?

683 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:04:14.25 ID:qc9mPYKv0.net
>>682
もう一つPROCEDUREがあって、それと平行して処理を行いたいのでThreadを使っています。

684 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:08:59.61 ID:VC3NiHzh0.net
ところで
WHILE !CHKIMG
の!って何

685 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:13:42.85 ID:5jXg23Qa0.net
>>683
thread SEND_MESSAGE()
もうひとつのPROCEDURE

Threadで関数を呼べば別スレッドで動くのでその後に
もうひとつの関数を呼ばべいいんじゃないですかね
Threadのヘルプのサンプルコードを確認してみてください

686 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:28:13.25 ID:SeV4kQrk0.net
>>681
なんでwhile roopなんてのでくくってるのか分からん。
thread SEND_MESSAGE() この一行だけで済むのに。
他にコードがあるんだろうから、複雑になってるのならまずスレッドが起動コードがほぼ同時に動いて複数スレッドが
立ち上がってないかチェックだろ。

687 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:28:43.97 ID:qc9mPYKv0.net
>>685
言葉がたりませんでした。

while true
//特定のウィンドウへメッセージを送る処理
  thread SEND_MESSAGE()
//特定の時間になった時、このマクロを終了する処理
  thread ETC_PROC()
  break
wend

PROCEDURE SEND_MESSAGE()
  id = "samplewindow"
  notSendFlg = true
  while notSendFlg
  //画像が見つかり、windowへテキストを送ったら終了する
    ifb chkimg("sample.bmp") then
      sendstr(id,"test")
      notSendFlg = false
    endif
  wend
FEND


こういう処理を実施しています。
理想としては、
指定のウィンドウへ1度のみ
[test]の文字が貼り付けられることを理想としてるのですが、
時々2回[testtest]となることがあります。

688 :名無しさん@お腹いっぱい。:2016/05/25(水) 06:53:35.37 ID:5jXg23Qa0.net
>>687
>>685-686は確認しましたか?Threadの使い方が根本的に間違っている

689 :名無しさん@お腹いっぱい。:2016/05/25(水) 12:07:58.98 ID:GhobSKXvk
スレッドで関数呼んだら呼び出しっぱなしで次の処理に行く、ってことをたぶん理解してない

というか、そのままループスレッド囲ったら SEND_MESSAGE() が立ち上がりまくりで
数万スレッド動かすことになって固まらないか?

特定の時間になったら終了したいなら While 終了時間>現在時間 だし
画像が見つからなかったらループ待機してほしいなら
メインのWhileの中で If ChkImg Then SEND_MESSAGE() とやるべきだし
やりたいこととやってることが矛盾してる

690 :名無しさん@お腹いっぱい。:2016/05/25(水) 16:10:29.32 ID:FLI6zEwr0.net
>>687
threadはスレッドを立ち上げるだけでそのスレッドが終了するまで
待つコマンドではないからthread文自体は一瞬で終わる。

while true
 thread hoge()
wend

こんな事をすると無限にスレッドを生成する

総レス数 1042
306 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★