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


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

自動化ツールuwsc使いよ集まれ3



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/16(月) 07:57:49 ID:+HI9MOeK0]
Windowsを自動化させるツールUWSC。
ttp://www.h7.dion.ne.jp/~umiumi/

uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。

前スレ
自動化ツールuwsc使いよ集まれ2
pc11.2ch.net/test/read.cgi/software/1156416884/

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 01:09:03 ID:yeJt08sV0]
>>682
>>661これでできたよ

Y = 0
Y_Size = 1
FileName = "乳首.bmp"

WHILE CHKIMG( FileName, 0, 0, Y, 1023, 767)
print G_IMG_X + "," + G_IMG_Y
Y = G_IMG_Y + 1
WHILE CHKIMG( FileName, 0, G_IMG_X + 1, G_IMG_Y, 1023, G_IMG_Y + Y_Size - 1)
print G_IMG_X + "," + G_IMG_Y
WEND
WEND

>>661
なんでわざわざ配列使うの?
printを他の処理に変えばいいんじゃない?

685 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 09:05:43 ID:KoQ4Gi/C0]
結論
乳首の数は2個、位置は乳輪の真ん中

686 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 10:05:27 ID:KoQ4Gi/C0]
という冗談はおいて置いて、

>>666の言う通り、PRIINTは便宜上だろう。
最終的に配列で欲しいんじゃないか?
散布図画像のプロットデータを読み込んで何やら高度な計算、とかだったら99個じゃ足りないだろうな。

1. 数と位置を調べ、ファイルに書き出す。
2. ファイルを一旦閉じる。
3. ファイルを開く。
4. 配列宣言
  DIM X_Zahyo[FGET(ID,-1)]
  DIM Y_Zahyo[FGET(ID,-1)]
5. 配列に値をほうり込む。

これで大丈夫かな?
試してないけど。

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 11:37:52 ID:NIEdi7RU0]
おまいらがあんまり楽しそうに語ってるから久々に触ってみようと思ってヘルプ読んでみたけど
ChkImgの挙動ちゃんと書いてないんだなw

二箇所引っかかるような画像用意して
MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y)
MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y)
ってやったらこの二行目ので二箇所目の座標もちゃんと検出したんだけど
While ChkImg(fname)


688 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 11:40:31 ID:NIEdi7RU0]
途中で送信しちゃった

座標指定も使わず
While ChkImg(fname)
//G_IMG_XとG_IMG_Yの出力
Wend
だけでいいんじゃないのか?
って思ったけどどうなんだろ

689 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 11:50:19 ID:KoQ4Gi/C0]
一番左上の画像が延々と検出されるだけ。

690 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 11:57:26 ID:NIEdi7RU0]
え…俺二箇所ともWhileの方で引っかかるんだけど…
俺も無限ループになるのかなと思って>>687で試した結果
引数省略した時のデフォの値に前回取得したG_IMG_X,G_IMG_Yの結果を勝手にずらした座標が使われるって解釈して
ほんでもって>>688でちゃんと2箇所無限ループもせずに取得できたんだけど…

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:05:53 ID:KoQ4Gi/C0]
試したけどやはり一つだけを延々と検出するだけなんだが?

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:06:49 ID:NIEdi7RU0]
あ、ごめんごめん
この手の用途はPC放置してずっと監視させるのが目的だから
前回の値を起点にしたら長時間の画面監視なんてできないよね
忘れてちょうだい



693 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:08:35 ID:KoQ4Gi/C0]
>>692
試したらなったってのはどういうミスだったの?

694 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:08:46 ID:NIEdi7RU0]
リロードしてなかった…

>>691
なんでなのかな
uwscのバージョンとかで挙動が違うんかな

695 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:11:33 ID:KoQ4Gi/C0]
>>694
>>692を読むと結局無理だったというふうに読めたんだが、あくまで>>688はOKなの?

696 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:15:24 ID:NIEdi7RU0]
すまん久々に触ってるもんだから自分でも把握できないわ
混乱させるだけだからひっこむよ
ごめんよ(´・ω・`)

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 12:38:00 ID:NH/SArFRO]
走査しても人間が数値を読み違える事が在るからな。
MMVとSLEEP入れて、どこを検知したか分かり易くすると良いよ。

698 名前:658 mailto:sage [2009/01/07(水) 20:28:09 ID:SaObSndz0]
みなさんどうもありがとうございます。
連想配列という言葉は初めて聞いたので調べてみたいと思います。

699 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/07(水) 20:43:38 ID:UInQEAud0]
ReSize使えよ

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 11:31:39 ID:Ou47XQg10]
UWSCを再生させるとPCで他の作業ができなくなり困ってます。
又、窓別に違うUWSCを再生することはできますか?

この腐れに教えて下さい・・・



701 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 11:38:17 ID:9uVCk7/U0]
>>700
よく意味が分かりません
スクリプトを窓別に書けばいいだけじゃないんですか?

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 17:07:03 ID:Ou47XQg10]
ALT+F2キー(再生)押した後PCの操作がすべて取られるので他の作業が
できないのです・・・



703 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 17:12:14 ID:p1dhSGKj0]
色々言いたいことはあるがやっかいなことになりそうなので、一言だけ。

諦めてください

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 17:14:03 ID:oR+RJomT0]
操作を取られないように書けばいいだけ

705 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 17:16:21 ID:kg5KLxKp0]
>>702
IEを操作するのならCOM使うとフォーカス奪われないよ
Windowsフォームを操作するのなら諦めて

706 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 17:31:46 ID:gYr5hc3Z0]
やったことはないのが
仮想PC(VMWare等)上でuwscを動かせば
自分は普通に作業できるのでは?

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 18:37:21 ID:U0BD8E1t0]
>>700
仮想マシンを使うのが簡単。

または、一つ一つの操作を、マウス・キーボードからWindowsAPIだとかを使うように全部変更すれば可能。
だだし、それ調べるのにソートー時間かかる。
WindowsAPIの知識が無いならやめとくべき。


708 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 18:51:10 ID:oR+RJomT0]
MOUSEORGすりゃいいだけだろw
何で仮想マシンになるんだwww

709 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:00:58 ID:gYr5hc3Z0]
>>708
それってさー
例えば、マウスポインタの位置を操作するスクリプトを動かしている最中で
自分はエクセルとかで同じくマウス使っている時に
マウスカーソルの位置がスクリプトによりどこかに飛ばされて作業の邪魔にならないの?

710 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:33:46 ID:kmMJQUqm0]
そうならないように指定すればいい。ってのに
そうならないの?って逆質問するのは馬鹿に見えるからやめたほうがいい

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:39:43 ID:gYr5hc3Z0]
>>710
馬鹿か お前はw

「そうならないように」するための 具体的な >>706>>707の意見が出たんだろ?

そもそも >>700の質問自体が「そうならないように」する方法を問う質問だろうがw
お前、頭が不自由な子か?w

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:44:24 ID:gYr5hc3Z0]
>>710

>>700の用件を満たしていない様に思える >>708に対して
本当に用件を満たしているか問うことが何故馬鹿なんだ?w
お前は頭大丈夫か?w



713 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:48:21 ID:LxZPgn7U0]
必死だなww

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 19:48:51 ID:oR+RJomT0]
>>709
ならないよ

715 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/09(金) 21:11:26 ID:/4uiTXok0]
以下頭の悪さをひけらかすID:gYr5hc3Z0はスルーでどうぞ

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/10(土) 21:25:56 ID:5RFVaUTS0]
>>714
アプリに直接では送る相手が変わってしまって期待通りの動作しなかったりする。
それだったら直接API使った方がマシという。


717 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/10(土) 23:38:46 ID:0l2ZHHwf0]
送る相手が変わる???
送り先指定してんのにどうやったら変わるんだ?

718 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/10(土) 23:56:02 ID:wtsRJKdD0]
716は昨日のID:gYr5hc3Z0だろw
こいつは妄想で適当なことしか書き込まないからスルーしとけ

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/12(月) 03:23:39 ID:A1VFSCeY0]
>>717
相手が変わるって言うか
アプリケーションに送るのとクライアントに送るのとで変わってくるだろ?
ちがうのかな。

アプリケーションに直接送るっていうのは、受け側がWM_CHARを処理しないといけないんだろ?
ゲームのようなやつはそんなの見てないし。

720 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/12(月) 08:10:08 ID:fTsgyzyK0]
>>719
そんな妄想はいいから具体的にスクリプトあげてみてくれよ

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:43:09 ID:kqB6nrSU0]
// 投稿関数はtest15.uwsのもの。スレ覧取得ループはv1をさらに改造。
// キーワードに合致するものを優先的に検索・投稿し、そのほかは余裕があれば2ゲットする。
// 2008/7/4
// スレ覧はSubject.txtをGetして使うように変更。
// それに伴い304エラーのために間隔を開ける必要がなくなり、鯖への負荷も減らせる。
// 2008/07/14 OpenJaneでnewsplusを開いていてsageチェックがはずされていれば投稿し、待ち状態に入る。
// 2008/11/02 FOXの板を回避
// 2008/11/25 3回目の規制で、「二日までなら見逃し」という依頼者からの発言を受けて、
//    日付変更をチェックして自動終了するように変更。
def_dll GetWindow(hWnd,long):long:user32.dll
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ

board = "ニュース速報+"
//Jane本体のID取得
JBID = GetID("", "TMainWnd")

Public ProblemName = "FOX★", "番犬★"
/////////
// 定義
STOPFORM(true)
メモ帳 = Exec("notepad.exe")

板アドレス="mamono.2ch.net/newsplus/"

TEXTBLOCK text24
正論が通らない狂った日本
ttp://ryotaroneko.ti-da.net/e2186226.html // 2ch規制
ENDTEXTBLOCK

Dim TitleWord = "更迭" // text1の投稿対象とするスレッドタイトル
text0 = text2 // そのほかのスレッドへの投稿内容
text = text0 // 投稿テキストにセット

722 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:44:13 ID:kqB6nrSU0]
Dim oHttp // 通信オブジェクト
conturl = "mamono.2ch.net/test/read.cgi/newsplus/" // スレッド保存場所
url=板アドレス + "subject.txt" // 新着監視ページ

PUBLIC errortitles[]="サーバーが見つかりません", _
"ERROR", _
"ERROR", _
"error", _
""
DIM LastThreadNo=0 // スレ番を保存し、2重の書き込み、過去スレへの書き込みを回避する。
/////////
// 処理
// 通信オブジェクト接続
oHttp = CreateOLEObj("MSXML2.XMLHTTP")
// 投稿用ブラウザを起動
IE = CreateOLEObj("InternetExplorer.Application")
IE.visible = True
ID = HNDToID(IE.HWND)
SendSTR( メモ帳, TitleWord + "を処理します。<#CR>", 1, false, false )
LastModified = "Thu, 01 Jun 1970 00:00:00 GMT"
LastThreadNo = 0
sleeptime = 9
Gettime()
StartDay = G_TIME_DD
while 1
sleep(sleeptime)
Gettime()
SendSTR( メモ帳, G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2 , 1, false, false )
ifb StartDay <> G_TIME_DD then
SendSTR( メモ帳, "<#BR>日付変更により終了", 1, false, false )
exit
endif



723 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:45:08 ID:kqB6nrSU0]
// Webページ読み込み
COM_ERR_IGN  //COMエラー無視
SendSTR( メモ帳, " ", 1, false, false )
oHttp.Open("GET", url, True )
SendSTR( メモ帳, ".", 1, false, false )
oHttp.setRequestHeader("If-Modified-Since", LastModified);
SendSTR( メモ帳, ".", 1, false, false )
oHttp.Send("")
SendSTR( メモ帳, ".", 1, false, false )
ifb 200 = oHttp.status Then
SendSTR( メモ帳, ";", 1, false, false )
sleeptime = 3
else
SendSTR( メモ帳, ":", 1, false, false )
sleeptime = sleeptime + 10
SendSTR( メモ帳, " " + oHttp.status + "<#CR>", 1, false, false )
continue
endif
SendSTR( メモ帳, ".", 1, false, false )
LastModified = oHttp.getResponseHeader("Last-Modified")
SendSTR( メモ帳, ".", 1, false, false )
ifb COM_ERR_FLG
SendSTR( メモ帳, ".", 1, false, false )
SendSTR( メモ帳, "COM ERROR<#CR>", 1, false, false )
continue
endif
SendSTR( メモ帳, ".", 1, false, false )
COM_ERR_RET  //エラー処理復帰
SendSTR( メモ帳, " stat:" + oHttp.status + "<#CR>" , 1, false, false )
str = DECODE(oHttp.responseBody, CODE_BYTEARRAY)

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:48:23 ID:kqB6nrSU0]
// IEが終了された場合は連動して終了
if !IDToHND(ID) Then break
// スレッド一覧を処理
ThreadNo = 0
for TCnt = 1 to 50
str1 = token( "<#CR>", str, true, false )
Ifb 1 < Pos("(1)", str1) Then
SendSTR( メモ帳, str1 + "<#CR>", 1, false, false )
// スレ番取得
str2 = CopyB( str1, 1, 10 )
ThreadNo = Val(str2, -1)
if -1 = ThreadNo Then continue 2
//////////////////////////////////////
// 特定のスレッドにのみAAを投稿する。
Ifb Pos(TitleWord, str1) Then
text = text1
break
Else
// デフォルトテキストをセット
text = text0
// 処理しなかったスレ番の保存
//LatestNewList = ThreadNo
Endif
endif
next
///////////////////////////////////////////////
// 未処理の新規スレが残っている場合、投稿する。
// ループの外でやる理由は、一番古いスレから処理するため。
Ifb ThreadNo Then

725 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:49:05 ID:kqB6nrSU0]
// 投稿処理
ret = Cont( IE, conturl, ThreadNo, text, メモ帳)  // text = text0
Gettime()
TS = G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2
ifb ret Then
LastThreadNo = ThreadNo
SendSTR( メモ帳, "●good " + TS + "<#CR>", 1, false, false )
sleeptime = 130
else
SendSTR( メモ帳, "▲err " + TS + "<#CR>", 1, false, false )
sleeptime = 5
endif
Else // Janeの書き込み準備ができていれば投稿
Ifb -1 <> JBID Then
//JCID = GetID("", "TWriteForm")
JCID = GetChldID(JBID)
Ifb JCID Then
Ifb 0 = ChkBtn(JCID, "sage") Then
GetItem( JCID, ITM_ACCCLK, 1)
Ifb Pos(board, ALL_ITEM_LIST[10]) Then
Ifb SaveJane( JBID, JCID ) Then
SendSTR( メモ帳, "〓OpenJaneで投稿" + "<#CR>", 1, false, false )
sleeptime = 130
else
SendSTR( メモ帳, "〓投稿失敗" + "<#CR>", 1, false, false )
endif
Endif
Endif
Endif
Endif
Endif
wend

726 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 01:53:06 ID:kqB6nrSU0]
>>721-725
関数化した部分があるけど長すぎたので省略
Function GetChldID( PID, CID = 0 )
// 投稿処理 ////////////////////
// 戻り値: TRUE:正常、FALSE:エラー
// 引数:
// IE :IEオブジェクト
// conturl :スレの場所
// TNo :スレ番
// text :投稿テキスト
// メモ帳=0 :メモ帳ID
// メモ帳IDはデバッグ用
Function Cont( Var IE, conturl, TNo, text, メモ帳=0)

//////////////////////////////////////////////////////
// 投稿ページを開く
// 引数:IEオブジェクト、アドレス、スレッド番号、投稿テキスト、試行回数、メモ帳ID
// 成功すればtrue、不完全なページならfalseを返す。
Function OpenContPage( Var IE, conturl, TNo, text, LTimes=3, メモ帳=0)

//////////////////////////////////////////////////////
// OpenJaneの投稿処理をする。
// 開いているスレと投稿先が違うと出る警告画面の処理のため関数化。
// _分で処理できなければFalseを返す
// ID:親ウィンドウのID
// IDD:Web ページの保存ダイアログID
// OpenJaneはウィンドウを閉じても非表示で存在している。
// そして投稿窓もダイアログでなく独自ウィンドウクラス。
// なので、制御がややこしい。
// 投稿窓が非表示になるとき、別の子窓が取得できるので、・・・
// 1000レスついてたり書き込みできない場合延々と繰り返してしまう・・
Function SaveJane( ID, IDD, メモ帳=0 )

727 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/13(火) 02:41:28 ID:OFjJkjc60]
2getに加担して鯖の負荷を上げるのは嫌だねぇ。
こういうのだったら使い勝手とか言わないでセカンドマシンでぶん回しておけよ。

…何で2get…ブログ先の人も首を傾げてるんだがなぁ。

728 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 15:27:40 ID:xOT5hdBj0]
uwscで単純な作業複数を、それぞれひとつずつのキーに割り当てることってできますか?
記録と再生でひとつの動作は行えるのですが、
複数のマクロや○+○じゃなくひとつのキーで実行は出来ないのかなと。

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 15:34:16 ID:ENz9kV0Y0]
できるよ

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 16:11:48 ID:rt4k6YB30]
>>728
出来るけど、ショートカットKey絡みならAHKの方が楽だと思う。

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 16:16:45 ID:dFd2Qpc10]
私はAHKでuwscファイルを呼び出すけど


732 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 16:21:26 ID:rt4k6YB30]
>>731
お、同志w
自分も行数あるスクリプトはすぐに面倒になってUWSCで書いてるわ…



733 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 18:00:21 ID:5VRwikzI0]
ある株ソフトにアラーム機能がないので
UWSCで出来たらいいなと思いましたが
どうしたらいいのか分かりません。

そのソフトはシグナルが出たときに
一番上の行に時間やら銘柄やら株価などが更新されていきます。
上昇のシグナルは緑背景に白文字、
下降のシグナルは赤背景に白文字となっており
上昇の緑の時にだけアラームを鳴らしたくて

WHILE TRUE
IFB PEEKCOLOR(887 , 241) = $2F6B55 THEN
SOUND("C:\WINDOWS\Media\notify.wav")
sleep(2)
else
sleep(1)
ENDIF
WEND

分からないなりにやってみたけど
これじゃあ赤いシグナルから緑に変わったときにしか
役に立たない・・・
ボクにも書けそうな簡単なスクリプトあれば教えてください。

734 名前:733 mailto:sage [2009/01/14(水) 21:00:55 ID:5VRwikzI0]
追記

とにかくソフトになにか変化があったらアラームを
鳴らさせるように出来ないでしょうか?

735 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 22:46:19 ID:INWUQKt00]
そこまで聞くならソフト名ぐらい晒せ

736 名前:733 mailto:sage [2009/01/14(水) 22:51:25 ID:5VRwikzI0]
>>735

大人買検知機というソフトです。
www.vector.co.jp/soft/winnt/business/se359706.html

737 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 22:55:16 ID:hOB1qOFr0]
いっこのループと、いっこの条件分岐が出来てるから…
後は、ほしい数だけ条件分岐を作れば出来るよ。

738 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 22:59:56 ID:rt4k6YB30]
>>734
ttp://ochoja.web.fc2.com/uwsct/0610uwsct.html#MakingSupport
UWSCコードの断片生成器
を使わせて貰って一番都合のよいもの(status,str,etc)選んでスクリプト書けば良い。

739 名前:733 mailto:sage [2009/01/14(水) 23:34:18 ID:5VRwikzI0]
>>737
どういう条件分岐作ればいいのでしょう?
peekcolorだけでやるのは無理ですよねえ?

>>738

***** getstr() sendstr() ********************
getstr(id,0,STR_STATIC)="大人買検知機"
getstr(id,0,STR_ACC_STATIC)="時刻"
getstr(id,1,STR_ACC_STATIC)="時刻"
getstr(id,2,STR_ACC_STATIC)="銘柄"
getstr(id,3,STR_ACC_STATIC)="約定値"
getstr(id,4,STR_ACC_STATIC)="出来高"


ちょっとやってみましたが
getstrで更新される文字とれるのでしょうか?
むずかしい〜

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/14(水) 23:39:21 ID:3rpO1RzOP]
>>733

えーと監視する項目の色が緑に変わったときにアラームを鳴らしたいんだよね?
ということは、前回チェックした時の色と今回の色を比較しなければダメだよ。
色は何種類あるの? 赤と緑以外に通常の表示色はある?

それと気になった点を言うと、何秒おきに監視するの? 1、2秒単位で監視する
アルゴリズムになっているようだけど無駄にマシンパワーを食うんじゃない?
30秒おきとか1分おきとか5分おきとかだよね?


アルゴリズムを書くけど スクリプトにする時は文法と変数規約に則して変えてね。
※←は代入の意味ね。

前回の色 ← 通常色
今回の色 ← 通常色

WHILE TRUE
 今回の色 ← 今回の色を取得して変数に代入
 IFB 前回の色と今回の色が違う AND 今回の色は緑
  アラームを鳴らす
 ENDIF
 前回の色 ← 今回の色

 次回チェックまでXX秒スリープ
WEND



741 名前:733 mailto:sage [2009/01/15(木) 00:55:00 ID:tW7kX9XU0]
>>740
緑背景から緑背景の場合もあるから
文字の入る場所も含めて取得する地点を複数にして
判断すればいいのかな

比較ののところがどう記述すればいいのかまったく分かりません。

今のところ1秒でやっても負荷たいしてかからないけど
複数地点にして比較すると相当負荷かかってくるカモですね。
その場合はもうちょっと間隔あけるようにします。

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/17(土) 11:18:45 ID:iMN83Hym0]
// ===
前回の色 = ""

WHILE TRUE
  WHILE TRUE
    今回の色 = (PEEKCOLOR(887 , 241)
     IF !(今回の色 = $白ーい色) THEN BREAK // 白以外ならループ抜ける // !で真偽反転だっけかな;
    今回の色 = (PEEKCOLOR(111 , 222)
     IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・
    今回の色 = (PEEKCOLOR(333 , 444)
     IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・
  WEND

  IFB !(今回の色 = 前回の色) THEN
    // 同じ色ではない場合の処理
    IF 今回の色 = $2F6B55 THEN SOUND("C:\WINDOWS\Media\notify.wav") // グリーンなら
    IF 今回の色 = $レッドオ THEN SOUND("C:\WINDOWS\Media\レッドオ.wav") // レッドなら
  ENDIF

前回の色 = 今回の色
sleep(1)
WEND
// ===
泥くせ;;;




743 名前:733 mailto:sage [2009/01/17(土) 20:56:43 ID:3elNHqC+0]
分からないなりに理解しようとしましたが
色を取得するってところが全然分からない。

今回の色とか前回の色oldcolor newcolor?

744 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/17(土) 23:58:47 ID:70fVoJI80]
>>743
ひょっとして変数が判ってない?
いずれにしろ、UBTrek使ってpeekcolorを検索すれば沢山ヒットすると思う。

745 名前:733 mailto:sage [2009/01/18(日) 00:49:03 ID:V1b5lGQF0]
>>744
単純なpeekcolorの記述は何個か出てきましたが
前回の色と今回の色を比較するような例が見つかりませんでした。

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 01:13:45 ID:WQ5z9x9T0]
>>745
dim color=peekcolor(100,200)

while true
newcolor=peekcolor(100,200)
ifb !color=newcolor
 msgbox("変わった")
 color=newcolor
endif
sleep(0.5)
wend

無限ループなので適当にBreak。
Mouseorg(id,2)使ってwindow指定した方がよいかも。
RGBが少しでも変化すれば反応してしまうので、RGBに分解した方がよいかも。

747 名前:733 mailto:sage [2009/01/18(日) 01:13:47 ID:V1b5lGQF0]
緑、赤とか関係なく
ある一点の色変化があったときに
アラームを鳴らす具体的なスクリプト教えていただけませんか
なんとかそこから発展させてやっていきたいと思いますので。

748 名前:733 mailto:sage [2009/01/18(日) 01:18:03 ID:V1b5lGQF0]
>>746
ありがとうございます
でもまったく反応しないですね。
このままじゃダメなんでしょうか?

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 01:21:04 ID:aouJYoBm0]
>>748
プログラムの基礎から学び直したほうがいいよ
君にはまだ早い

750 名前:733 mailto:sage [2009/01/18(日) 01:29:38 ID:V1b5lGQF0]
あ、反応しましたが
なかなか反応しない感じです。

751 名前:名無しさん@お腹いっぱい。 [2009/01/18(日) 03:18:31 ID:lcf3XQYB0]
皆さんのUWSCを使用する用途は大体何ですか?

自分のPC環境の最適化以外にUWSCというのは
マスターしたとしても他に例えば何に役立つのでしょうか?
例:仕事面 WEB製作面 etc

マジ質問です

752 名前:WTTEkBtZS mailto:xthaterends@yahoo.com [2009/01/18(日) 03:22:58 ID:24LUwixi0]
rybeiddery.awardspace.com/dominos-sub.html dominos sub
maridoctoge.awardspace.com/ruff-ryders-columbus.html ruff ryders columbus
caross.awardspace.com/darren-nadel.html darren nadel
maridoctoge.awardspace.com/ruff-ryders-soccer.html ruff ryders soccer
rybeiddery.awardspace.com/dominos-pizza-nutrition.html dominos pizza nutrition
therybaive.awardspace.com/lenora-jubilee.html lenora jubilee
caross.awardspace.com/nadel-jewish.html nadel jewish
maridoctoge.awardspace.com/ruff-ryders-layout.html ruff ryders layout
therybaive.awardspace.com/jubilee-history.html jubilee history
deadingrain.awardspace.com/facbook.html facbook
therybaive.awardspace.com/red-cedar-jubilee.html red cedar jubilee
caross.awardspace.com/natasha-nadel.html natasha nadel
rybeiddery.awardspace.com/pizza-hut-ottawa.html pizza hut ottawa
caross.awardspace.com/nadel-sarasota.html nadel sarasota
maridoctoge.awardspace.com/bay-ruff-ryders.html bay ruff ryders
maridoctoge.awardspace.com/left-ruff-ryders.html left ruff ryders
caross.awardspace.com/nadel-artist.html nadel artist
maridoctoge.awardspace.com/ruff-ryders-do.html ruff ryders do
caross.awardspace.com/bernard-nadel.html bernard nadel
caross.awardspace.com/fred-nadel.html fred nadel




753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 05:43:43 ID:85r780v+0]
プログラムの何の知識も無いものがuwsc用のスクリプトを
作れるぐらいにったと仮定した場合に、既存のプログラミング言語では何が一番
とっつき易いでしょうか?

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 06:09:29 ID:7B/GQZFQ0]
>>751
仕事面:決まりきった作業、繰り返し作業の効率化
Web製作面:ランダムな操作で想定外行動のチェック漏れ発見(意味あるかは知らない
セキュリティ面:泥棒が侵入してきたとき、クイックメニューから一発でメールで連絡できる。
        ある程度相手が分かってる時便利。
        DOSコマンドでメール送信するのを使ってたけど、コマンドラインにパスワード入れなきゃいけなかったので削除されてしまった。

うpろだのJpeg画像とか、一回ペイントで開いて上書き保存すると、サイズが半分近くになる場合が多い。
だからダウンロードした画像のリストをエクスプローラーで出して、ドラッグとCtrl+Sで更新を繰り返すのとか作った。

あとは、性能は低いけどパスワードクラックとか2Getスクリプトとか
たくさんのID作りたいときに自動登録マクロとか。


755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 06:10:50 ID:7B/GQZFQ0]
STOPFORM(true)
ID = Exec("C:\WINDOWS\system32\mspaint.exe")
while ID = (-1) // 負荷が高いとID拾えないので
sleep(0.1)
ID = GetID("無題 - ペイント")
wend
Repeat; sleep(0.1); Until GetKeyState(VK_CONTROL)
StartX = G_MOUSE_X
StartY = G_MOUSE_Y
sleep(1)
While !GetKeyState(VK_CONTROL)
CLKITEM( ID, "ファイル\新規", CLK_MENU )
sleep( 0.1 )
// Ctrlキーで中断・再開
ifb GetKeyState(VK_CONTROL) then
sleep(5)
Repeat; sleep(0.2); Until GetKeyState(VK_CONTROL)
sleep(1)
endif
MMV( StartX, StartY )
BTN( LEFT, DOWN, StartX, StartY )
EndX = Status(ID, ST_X) + 30
EndY = Status(ID, ST_Y) + 10
MMV( EndX, EndY )
BTN( LEFT, UP, EndX, EndY )
If DlgWait(ID, EndX , EndY) Then Continue
If Status(ID, ST_TITLE) = "無題 - ペイント" Then break
CLKITEM( ID, "ファイル\上書き保存", CLK_MENU )
DlgWait(ID, EndX , EndY)
wend
CtrlWin(ID, Close)
MsgBox("処理が終了しました。")

756 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 06:12:23 ID:7B/GQZFQ0]
// マウス形状が通常の状態が1秒ほどあればタイムアウト。
// その間にダイアログが表示されるかどうかで戻り値が変わる。
// ダイアログが出た場合、OKをクリックする。
// True: 窓出現  False: 窓出ず
Function DlgWait(ID, EndX , EndY)
Result = False
cnt = 0
while cnt < 6
sleep(0.1)
MMV( EndX , EndY )
if MUSCUR() = CUR_ARROW Then cnt = cnt + 1
CID = GetChldID(ID)
Ifb CID Then
sleep(1)
ClkItem(CID, "OK")
Result = True
break
endif
wend
Fend

// 子ウィンドウを探す
// 戻り値:子ウィンドウのID。見つからなければ0。
// PID:親ウィンドウID
// CID:子ウィンドウIDの候補
// GW_ENABLEDPOPUPはWindows2000以降のみでサポート
//
// GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、
// Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。
// メニュー Class:"#32768"
// ダイアログ Class:"#32770"
// ツールチップ Class:"tooltips_class32"

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 06:17:23 ID:7B/GQZFQ0]
Function GetChldID( PID, CID = 0 )
 Ifb CID Then
  Ifb PID = STATUS( CID, ST_PARENT ) Then
   result = CID
   exit
  endif
 endif

 h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP )
 Ifb h Then
  S = Status(HndToID(h), ST_CLASS)
  Select S
   case "#32768"
    Result = 0
   case "tooltips_class32"
    Result = 0
   default
    Result = HndToID(h)
  Selend
 Else
  Result = 0
 Endif
Fend


// エクスプローラーとペイントを使った、Jpeg画像ファイルダイエットスクリプト 2008/10/21
// 使用方法:対象ファイルをエクスプローラーで表示し、ペイントが起動したら、エクスプローラーの
//        ファイル一覧画面の一番下のファイルにマウスカーソルを合わせ、Ctrlキーをクリックする。
// Ctrlキーで中断。
ソースは >>755-757
※エクスプローラーで、ファイルを詳細表示し、表示中ファイルの一番下のやつをクリックすると勝手に一つスクロールする。
 これを使うと簡単に順番に処理することができる。スクロールしない場合は窓の高さを変更する。

758 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 06:25:01 ID:7B/GQZFQ0]
>>753
VBSかな。これもスクリプト言語だけど・・・
次はVB.netかな。

>>750
sleepが0.5秒だから反応は遅いね。


759 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 09:12:15 ID:BRvZ2wPi0]
>>733
とりあえず、最低限
ttp://big.tm.land.to/handbook/uwsc.htm
の内容くらいは自分で理解してから質問してくれぃ。

760 名前:733 mailto:sage [2009/01/18(日) 11:55:00 ID:V1b5lGQF0]
>>759
一応読んでみたのですが

取得した値と新しく取った値を比較
さらに新しく取った値と比較みたいなことは

どこにも書いてないのではないでしょうか?

>>758
これって最初に取得した色と比較してMSGBOXが出るようになってますよね?

ある地点の色を取得して現在の色と比較
さらに取得して新しく取得した色と比較と
これを繰り返していきたいんです。

761 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 12:41:56 ID:O40sJXqz0]
>>760
あなたは日本語言語でちゃんと処理を記述してるじゃないか。
あなたがセンテンスを分割して2行で書いたとおり
uwscで2回比較処理をすればいいじゃないか。

これ以上はちょっと俺は関与することに面白みを見出せないわ
別にアルゴリズム的に難題というワケでもなし。
単なる知識不足のサポートは自助努力で補うといいよ。
…書いたものに駄目だしをされるだけなのは疲れるからね。
 自分で書きなさい。想定がつけば駄目だしをしてあげるから。

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 12:45:57 ID:Xm1Xcjw/0]
自分でやろうって気が少しも感じられないもんな



763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 13:15:24 ID:I+l/Qm3w0]
>>760
自分のやりたいことがそっくりそのまま1から10まで書いてあるわけ無いだろ。
基本的なことは書いてあるんだからそれを理解したなら自分で作れ

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 15:31:11 ID:xwkw1ib70]
>>754
真面目にレスありがとうございます

UWSCで画像を対象にした条件分岐や色々作成した事はあるのですが
(今ではすっかり文法忘れてます)

ルーターにアクセスしてある設定を切り替える、等も
UWSCで可能でしょうか?
PHP等のスクリプトですると難しそうなので・・・

765 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/18(日) 18:34:11 ID:o9RUmICX0]
可能です

766 名前:733 mailto:sage [2009/01/19(月) 15:25:59 ID:V9clvX4k0]
みなさんのヒントを元になんとか完成しました。
またつまづいたらよろしくお願いします。

767 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/19(月) 20:54:27 ID:qcrdC3FS0]
  ハハ お断りします
 (゚ω゚)
_(_つ/ ̄ ̄ ̄/_
  \/___/

768 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 00:58:10 ID:CMylmmuM0]
[Ver4.5]

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 01:37:12 ID:0N/gC0gi0]
高レベル記録…
なんというお手軽システム。

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 10:17:34 ID:Rt1OsezX0]
うう、まだcall文で変数が使えんのか・・・

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 11:22:31 ID:mivuHGw40]
IE_Subってもう入手できないの?


772 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 16:02:13 ID:6xnO4udb0]
一昨日からスクリプト組始めたんですが、どうにも配列変数の使い方(定義を含めて)がわからないので
詳しい方ご教示願います。

例えば変数ABC(x、y)に10*10=100個の変数にX軸Y軸共に1を格納していく場合、
BASICで書くと(うろ覚えですけど。)

FOR Y=0 to 9
FOR X=0 to 9
ABC(X,Y)=1
X=X+1
NEXT X
Y=Y+1
NEXT Y

と、したい所をuwscでは最初にどう定義して配列変数を使っていけばいいですか?
ヘルプ見たんですけど、イマイチイメージがつかめません
お願いします。



773 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 16:09:22 ID:6xnO4udb0]
あ、FOR〜NEXTってX=X+1とかいらないんだっけ?・・・orz

774 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 17:49:05 ID:LpFWL/UM0]
どうって、
DIM ABC[10][10]って定義して
> ABC(X,Y)=1
ABC[X][Y]=1
っていれてくだけでしょ…

775 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/20(火) 18:03:13 ID:6xnO4udb0]
ああ、(x,y)じゃなくて[x,y]じゃないといけないのね・・・helpそういう意味かorz
とんだ勘違いしてました。どうもです

776 名前:名無しさん@お腹いっぱい。 [2009/01/23(金) 08:39:26 ID:n0Gk8YsY0]
複数のスクリプトを連続で起動させるにはどうすればよいですか?
1のスクリプトがおわったら自動的に2をのスクリプト起動、2→3、3→4...という感じです。

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/23(金) 10:36:35 ID:E4bxtYk+0]
>>776
各スクリプトの最後でcall。

もしくは
exec("フルパス\uwsc.exe フルパス\hoge.uws") 
こちらは多重起動禁止だとダメかもしれん。

778 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/23(金) 12:19:14 ID:v1eHViqS0]
>>776
1の頭で2,3,4をcallして
1でprocedureやFunctionを順に呼び出してもいいよ

779 名前:名無しさん@お腹いっぱい。 [2009/01/23(金) 12:30:51 ID:n0Gk8YsY0]
>>777
>>778
ありがとうございました。とても参考になりました。

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/23(金) 14:55:53 ID:uyPNdhnC0]
>>705さんの
>IEを操作するのならCOM使うとフォーカス奪われないよ
これについて理解を深めたいのですがどのあたりを具具れ場良いのでしょうか?


781 名前:705 mailto:sage [2009/01/23(金) 20:41:40 ID:CkpYM4hA0]
>>780
これに関してはググってないからわかんない
ヘルプのじゃ難しい?
スクリプト > スクリプト関数 > COMオブジェクト, IE操作関連

あとはページソースと睨めっこ

782 名前:780 mailto:sage [2009/01/23(金) 22:39:18 ID:aJMC8HA30]
>>781 ありがとうございます。よく読んでみます。




783 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/24(土) 16:24:29 ID:T53k2DPg0]
かなり、基本的なことで恥ずかしいことなのですがどうしても解決できず…

HAZU = GETID("www.***")
ClkItem(HAZU, "事件", CLK_BTN)

上記では、webウィンドウ上のアイテムをくりっくすることができません。
エラーは起きないのですが。。
原因としてはなにが考えられるでしょうか?

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/24(土) 16:35:10 ID:jFu+yqaK0]
left clickではないだろうか。






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

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

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