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

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
http://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.bigcosmic.com/board/s/board.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
2名無しさん@お腹いっぱい。:2014/01/09(木) 13:16:52.53 ID:hFz7Kd3R0
Q.シェアウェア版で「L20が存在しません」「L22が存在しません」とエラーが出て一部機能が動作しない
A.割れシリアルを使った時に出る、ささやかな割れ対策

Q.購入したのに上記エラーが出る
A.ライセンスキーが正しいか確認(ベクターで購入した場合、登録するのは 伝票番号の xxxxxxxxx ではありません)
UWSCをアンインストール後、再インストールして正しい17桁のライセンスキーを入力してください。

●Pro版の追加機能
EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
HTMLを利用した画面関数が使えます。
EXCELシート用関数が使えます。(OpenOffice.org/LibreOfficeの表計算(Calc)に対しても可)
デバッガが付属しています。

●質問したい方へ
「○○作れますか?」→ 可能か不可能かを聞いているのなら答えは「作れる」
「○○が作りたい」→ 自分が作れば?並大抵の事ならググれば似たようなスクリプトや知識が見つかる
「○○作って下さい」→ 依頼スレじゃありません。
過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。

●スクリプトを晒す上での注意
他人が読みやすいようにインデントを付けるように。解らない人はググレ。
(タブインデントは使えないんだぜ 全角スペース等に 変換しておくべし)
言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、
必要な部分を晒すようにする。

●他人の書いたスクリプトを安易に実行しないように。
ハードディスクをフォーマットされたりしても、自己責任。
3名無しさん@お腹いっぱい。:2014/01/09(木) 13:18:09.20 ID:hFz7Kd3R0
4名無しさん@お腹いっぱい。:2014/01/09(木) 19:17:05.72 ID:t9zaTET30
前スレ完走乙
折角なので最近ハマった小ネタを〜

マウス付近にフキダシに情報を表示し続けるscriptを組んでいたのだが
画面外に表示して大きさを調べてから表示位置を調整する必要があったため
負荷が高くて闇雲に呼び出しまくってるとアドレス違反が稀に発生しました
仕方ないのでセマフォを用意すると安定した〜
5名無しさん@お腹いっぱい。:2014/01/09(木) 21:38:34.74 ID:haB4wTeX0
>>2
Q.Windows7以降でうまく動かない・記録できないetc.
A.管理者権限で実行しているか?最新バージョンか?逆にバージョン下げてやってみたか?
6名無しさん@お腹いっぱい。:2014/01/09(木) 21:39:47.55 ID:haB4wTeX0
>>2
538 名前:523[sage] 投稿日:2013/10/31(木) 09:22:37.25 ID:Yb7q90j80
私が購入した、シリアルナンバーの入力を誤っていたのですが、偶然にもその数字が通ってしまい、アドバイスを頂いた割れ対策のエラーがでていたようです。

以下、公式からのお返事です。

登録するのは 伝票番号の xxxxxxxxx ではありません。
ベクターより 17桁のライセンスキーが発行されているはずですので
一度 UWSCをアンインストールしてから 再インストールをして
17桁のライセンスキーを入力してください。

たまたま、伝票番号の xxxxxxxxxx が登録処理を通り
その後に 不正キーの扱いになり、機能制限がかかったようです。
大変に失礼いたしました。

こんなミスをする人はなかなかいないと想いますが、L20のエラーを次回のテンプレのL22の次にでもそっと追加をお願いします。
7名無しさん@お腹いっぱい。:2014/01/10(金) 05:09:31.44 ID:41RWndZ90
AutoIt使えよ
8名無しさん@お腹いっぱい。:2014/01/10(金) 17:28:59.24 ID:eFYZhsdG0
CHKIMGの代わりにImageSearchってのを使えばいいのは判ったが、
リッチ過ぎるGUI機能と膨大な関数群
ウィンドウを特定するのにIDで指定できないとか
日本語コミュニティに乏しいとか
色々と難アリだな。

SLCTBOXじゃヤダヤダMsgBoxでタイムアウトしたいんだい!
とかダダ捏ねてた人はAutoItがいいんじゃないの?
9名無しさん@お腹いっぱい。:2014/01/11(土) 00:32:04.04 ID:Q+oiHFKy0
いちおつ
10名無しさん@お腹いっぱい。:2014/01/11(土) 19:46:09.02 ID:0NPVogb40
try
  print "1 / 0 = " + (1 / 0) //0で除算
except
 print TRY_ERRMSG
endtry

さすがUWSCです!
11名無しさん@お腹いっぱい。:2014/01/11(土) 21:38:00.14 ID:gkfchBzE0
>>10
0で除算すると0になるUWSCの仕様だね
>※UWSCではゼロ割算をエラーとはせずにゼロにします

たしかに余計なエラーチェックが必要ないからUWSCの利点かもしれないね
12名無しさん@お腹いっぱい。:2014/01/11(土) 22:14:38.01 ID:1+B4PGEJ0
0で割っても0を割っても0になるのはいい所
13名無しさん@お腹いっぱい。:2014/01/11(土) 23:07:10.60 ID:aJ5dpwKD0
仕様としてあるんだから問題ない
14名無しさん@お腹いっぱい。:2014/01/12(日) 06:29:11.69 ID:ohMi3ufu0
除算でHELP検索しても仕様ですと書いてあるのは見つからないけどね
15名無しさん@お腹いっぱい。:2014/01/12(日) 06:31:49.29 ID:ohMi3ufu0
あw、割り算でもなく割算で検索すると数学関数の所に書いてあるのかw
UWSCらしいです!w
16名無しさん@お腹いっぱい。:2014/01/12(日) 07:30:22.71 ID:9MnA0nvp0
知ってて常識の会話してる中で
知ったかにわかが混ざってたのか、残念だ…
17名無しさん@お腹いっぱい。:2014/01/12(日) 10:29:27.49 ID:6oRwt0nA0
>>7-8
過去スレでずっと名前は出てきてるね。

AHK は書式がかなり違っててとっつきにくかったけど
AutoIt は UWSC とかなり近いね。
これなら簡単に使えそうな気がする。

ttp://www.biboureq.com/mains/65
> require 'win32ole'
> auto = WIN32OLE.new('AutoItX3.Control')
> auto.MouseMove 100, 100 ,40

Ruby から AutoIt を呼び出すコードがこれだけで使えるらしいから
UWSCからも使えそうだ。

UWSC を呼び出して連携はできないから、そういう場面でも使える。
自動操縦ができない言語でもこれ呼び出したら一通りできるからいいね。
18名無しさん@お腹いっぱい。:2014/01/12(日) 16:40:54.79 ID:R8PPtUR40
VBS(WSH) + AutoItX3.dll
が良いらしい。
たしかに、
メインプログラムを正規の言語で記述できるのは大きい。
19名無しさん@お腹いっぱい。:2014/01/13(月) 17:42:18.18 ID:rxImFF+E0
//<組込み定数>
// TRUE    // 1
// FALSE    // 0
// EMPTY   // 値の無い状態を示す

PRINT "EMPTY = "+EMPTY // 「EMPTY = 」
PRINT "0+EMPTY= "+(0+EMPTY) // 「EMPTY = 0」
PRINT "(EMPTY = 0) = "+(EMPTY = 0) //???
PRINT "(TRUE = 1) = "+(TRUE = 1) //TRUE
PRINT "(FALSE = 0) = "+(FALSE = 0) //TRUE
PRINT "(EMPTY = FALSE) = "+(EMPTY = FALSE) //???
e=EMPTY
PRINT "e=EMPTY; (e = 0) = "+(e = 0) //???
20名無しさん@お腹いっぱい。:2014/01/13(月) 18:36:07.58 ID:sVidVJbm0
>>19
書き方が解りにくい

e = EMPTY
PRINT (EMPTY = 0)  //FALSE
PRINT (e = 0)      //TRUE ←おかしい
PRINT (EMPTY = 0) = (e = 0)  //FALSE ←こうなるw
21名無しさん@お腹いっぱい。:2014/01/13(月) 19:47:48.42 ID:puODNP/60
> PRINT (e = 0)


イコールって比較でも使うけど
代入でも使うんですよね。
UWSCの場合、代入の結果が表示されているのであって、
比較の結果が表示されているわけではないんだな。

e(変数) に0は代入できるので true  だけど
EMPTY(定数)に0は代入できないので false なんだな。

C言語の場合は代入した結果は代入元と同じなんで、=でつなげば同じ値を複数に代入できるけど
それができるのはC言語の比較が==であって=ではなくて区別ができるからなんだな。
22名無しさん@お腹いっぱい。:2014/01/13(月) 19:56:57.83 ID:sVidVJbm0
PRINT (0 = e)  //TRUE
これはどう説明するの?
23名無しさん@お腹いっぱい。:2014/01/13(月) 19:59:54.24 ID:puODNP/60
e = EMPTY
ifb EMPTY = 0
 print "EMPTY = 0"
else
 print "! (EMPTY = 0)"
endif

ifb e = 0
 print "e = 0"
else
 print "! (e = 0)"
endif

ifb (EMPTY = 0) = (e = 0)
 print "(EMPTY = 0) = (e = 0)"
else
 print "! ((EMPTY = 0) = (e = 0))"
endif

結果:
! (EMPTY = 0)
e = 0
! ((EMPTY = 0) = (e = 0))

あれ?
24名無しさん@お腹いっぱい。:2014/01/13(月) 20:16:32.97 ID:puODNP/60
e = EMPTY

ifb EMPTY = EMPTY
 print "EMPTY = EMPTY"
else
 print "! (EMPTY = EMPTY)"
endif

ifb e = EMPTY
 print "e = EMPTY"
else
 print "! (e = EMPTY)"
endif

結果
EMPTY = EMPTY
e = EMPTY


0は EMPTYじゃないからか。

print "EMPTY=" + EMPTY
結果
EMPTY=

ね。0じゃないんだよ。
変数に代入したときに0にもマッチするってだけ。
25名無しさん@お腹いっぱい。:2014/01/13(月) 20:50:24.60 ID:rxImFF+E0
しかも
EMPTY ≠ ""
e=EMPTY
e = ""
26名無しさん@お腹いっぱい。:2014/01/14(火) 01:17:32.28 ID:CfGwPHUV0
>>8
> ウィンドウを特定するのにIDで指定できないとか

ttp://open-shelf.appspot.com/AutoIt3.3.6.1j/html/intro/windowsadvanced.htm
> AutoItはウィンドウハンドル(HWNDs)型のデータをサポートしています。
>
> 例
> $handle = WinGetHandle("Untitled - Notepad", "")
> WinClose($handle)
27名無しさん@お腹いっぱい。:2014/01/14(火) 07:57:35.93 ID:5ARCyu0l0
いつまで他のツールの話する気なんだい?
いい加減スレ違いうざいわ
28名無しさん@お腹いっぱい。:2014/01/14(火) 15:47:20.54 ID:VM06SWRI0
>>26
ありがと。
俺の中でC#+ImageSearch(かOpenCVSharp)+AutoItX3.dllが現実味を帯びてきた。
29名無しさん@お腹いっぱい。:2014/01/14(火) 20:44:35.92 ID:500MjQGH0
少し変数に関して整理しましょうか

1.PRINT "EMPTY = "+EMPTY // 「EMPTY = 」
 EMPTYは値の無い状態を示す

2.PRINT "0+EMPTY= "+(0+EMPTY) // 「EMPTY = 0」
 定数0にEMPTY(値が無い)を足すと0である

3.PRINT "(EMPTY = 0) = "+(EMPTY = 0) //???
 EMPTYと定数0は等しいか? False(等しくない)

4.PRINT "(TRUE = 1) = "+(TRUE = 1) //TRUE
 PRINT "(FALSE = 0) = "+(FALSE = 0) //TRUE
 TRUEと定数1は等しいか? FALSEと定数0は等しいか? True(等しい)

5.PRINT "(EMPTY = FALSE) = "+(EMPTY = FALSE) //???
 ではEMPTYとFALSE(0)は等しいか? False(等しくない) 3と同じ結果

6.e=EMPTY
 PRINT "e=EMPTY; (e = 0) = "+(e = 0) //???
 変数eにEMPTYを代入後、変数eと定数0は等しいか? True(等しい)…
 訳ではなく、たまたまである
 e=EMPTYで初期化された変数eの型をVARTYPE(e)で調べると戻値(VAR_EMPTY(0)//Empty)
 これはDIM eで宣言された初期化されてない変数と等しいので
 一般的に初期化されてない変数の値は不定なので、e=EMPTYで初期化された際
 たまたま0で初期化され、(たまたま)変数eと定数0は等しいと結果になったのですね

 ただ
 e=EMPTY; e=VARTYPE(e,VAR_DOUBLE); e=1; e=VARTYPE(e,VAR_EMPTY); print e; print (e = 0)
 と、やるとTrueになるので0で初期化されるようではあるけど
 初期化してない変数の値は不定と考えておいて間違いはないはず(UWSC内部的な動作でたまたま0で初期化されているだけです)
30名無しさん@お腹いっぱい。:2014/01/14(火) 20:45:21.95 ID:500MjQGH0
7.e = EMPTY; PRINT (EMPTY = 0) = (e = 0)  //FALSE
 (EMPTY = 0) = False, (e = 0) = True
 PRINT False = True なので結果は False(等しくない)となります

8.EMPTY ≠ ""
 これは""=空文字との比較
 e=EMPTY; print e="" 変数型VAR_EMPTYの変数eと""(空文字)は、たまたまTrue(等しい)
 e=""; print e=EMPTY 変数型VAR_BSTRに""(空文字)代入された変数eとEMPTYは、たまたまFalse(等しくない)(内部的にポインタと比較してる?)
31名無しさん@お腹いっぱい。:2014/01/14(火) 21:10:18.31 ID:500MjQGH0
まとめると
e=EMPTY; PRINT "e=EMPTY; (e = 0) = "+(e = 0) //True(等しい)
EMPTYで初期化された変数eと定数0を比較してTrue(等しい)になるのは、たまたまである。です。
32名無しさん@お腹いっぱい。:2014/01/14(火) 21:16:51.01 ID:OCXNnZz+0
e=EMPTY
PRINT (0 <> EMPTY)  //True
PRINT ("" <> EMPTY) //True
PRINT (0 = e)      //True
PRINT ("" = e)     //True
PRINT (EMPTY = e)  //True
33名無しさん@お腹いっぱい。:2014/01/14(火) 21:56:36.36 ID:PSvwHTGC0
for i=1 to 10000
print i
next
これのループの終了までの時間の測り方を教えて下さい。
34名無しさん@お腹いっぱい。:2014/01/14(火) 22:03:15.38 ID:eTT/KhqQ0
>>33

START = GETTIME()

for i=1 to 10000
 print i
next

NOW = GETTIME() -START
35名無しさん@お腹いっぱい。:2014/01/14(火) 23:43:52.84 ID:QQcO3/TH0
>>32
奇っ怪な…www
36名無しさん@お腹いっぱい。:2014/01/15(水) 08:38:41.12 ID:8jDLmwqH0
if お前らの頭 = EMPTY then Reset()
37名無しさん@お腹いっぱい。:2014/01/15(水) 10:42:10.43 ID:+AM4QBfW0
おせーてください。

test1.uws、test2.uws、test3.uwsそれぞれをtest.uwsから以下の通り実行指定します。

test.uws
Exec("C:\Program Files\UWSC\UWSC.exe C:\script\test1.uws", True)
Exec("C:\Program Files\UWSC\UWSC.exe C:\script\test2.uws", True)
Exec("C:\Program Files\UWSC\UWSC.exe C:\script\test3.uws", True)

ここでtest1.uwsが何らかの理由でエラーが出た場合、そのエラーダイアログを「OK」しないと次の2、3へ進んでくれません。

もしtest1.uwsでエラーが発生して停止したらそれはそのままとまり、次の2、3を順に起動するようにはどうしたら良いでしょうか?
38名無しさん@お腹いっぱい。:2014/01/15(水) 10:57:40.90 ID:nE72FDQr0
>>37
call test1.uws
call test2.uws
call test3.uws
39名無しさん@お腹いっぱい。:2014/01/15(水) 11:27:08.48 ID:+AM4QBfW0
>>38
スイマセン…書き忘れていました。

BUSYWAIT:多重定義です
PROCEDURE BUSYWAIT(IE)

上のエラーが出るのでcallは使っていませんでした。
情報不足で申し訳ないですorz
40名無しさん@お腹いっぱい。:2014/01/15(水) 11:35:58.95 ID:nE72FDQr0
>>39
うむ…
41名無しさん@お腹いっぱい。:2014/01/15(水) 11:58:37.80 ID:fDjp7CfM0
何らかのエラーってのが TRY - FINALLY や TRY - EXCEPT でフック可能なら
例外処理でエラーが出たらエラーが出たなりに正常終了スレばいいのではないかな?
42名無しさん@お腹いっぱい。:2014/01/15(水) 12:02:42.81 ID:QYMlf+aG0
>>39
BUSYWAITは別のファイルに出してCALLすれば多重定義は回避できる。
test1.uws、test2.uws、test3.uws それぞれで使っていても、定義が一つのファイルなら問題ない。

多重定義は同じファイルで2回定義したり
別のファイルで同名で定義してCALLしたときに警告が出る。
43名無しさん@お腹いっぱい。:2014/01/15(水) 12:40:02.96 ID:fDjp7CfM0
同名で内容が微妙に異なる可能性もあるけれど
同じ内容ならこれを気にCALLで呼び合う間柄にするのもいいね
でも、エラーの処はフックするなり何らかの対処が必要なのは一緒なのでは?
44名無しさん@お腹いっぱい。:2014/01/15(水) 12:50:20.90 ID:QYMlf+aG0
少なくともバッチで呼ぶのはやめたほうがいい。
いちいちUACのチェックが入るだろ。
まさかUAC無効にしてないよな?

前スレでIEとUWSCをバッチで呼び出すコードを書いたけど
あれはああしないと回避できないから仕方なく。
45名無しさん@お腹いっぱい。:2014/01/16(木) 12:51:11.78 ID:KcTbDjQa0
TESTフォルダ内

aa1.txt
aa2.txt
aa3.txt
...

とaa10.txtまでテキストファイルが入っています。
このテキストファイルの名前を

bb1.txt
bb2.txt
bb3.txt

という風に一括で変更させる為のコードを教えてください
46名無しさん@お腹いっぱい。:2014/01/16(木) 13:16:43.96 ID:vQcrUi3Q0
Flexible Renamer by こんなソフトありませんかスレ
47名無しさん@お腹いっぱい。:2014/01/16(木) 13:44:03.37 ID:w3NSn6Q+0
>>45
DOSCMDでrenameコマンド、ワイルドカード指定で
48名無しさん@お腹いっぱい。:2014/01/16(木) 20:06:04.74 ID:KcTbDjQa0
>>47
ありがとうございます。
解決しました!!
49名無しさん@お腹いっぱい。:2014/01/18(土) 06:40:34.59 ID:fSb9WJSx0
AutoItがよかったんでスペック比較してみた。
ついでに他のも。
足し算と関数呼び出しをやった結果。

速い HSP3.31 = JavaScript (chrom) > VBScript >> AutoIt3 > AHK >> UWSC 遅い

動作環境は Windows8.1 64bit。
AutoIt3 と UWSC はそれぞれ一桁ずつ遅かった。
JavaScript は単純ループではHSPに負けるが、関数呼び出しでは速度の低下がなく逆に速かった。

毎回時刻チェックしてるから時刻の扱いで差がついてる可能性もあるかも。

UWSCはやっぱり桁違いに遅いけど
GetTime()のループで関数呼び出し1万回/秒ほどあるんで
普通のマクロでは十分なスペックではある。
ただ、大量のデータの処理には向かない。
丸ごと読んで正規表現検索するならどの言語でもだいたい一緒・・・じゃないかな。
50名無しさん@お腹いっぱい。:2014/01/18(土) 09:42:35.21 ID:fnM3MnSf0
はてココにしか書いてないのはなぜなんだぜ?
51名無しさん@お腹いっぱい。:2014/01/18(土) 09:48:13.59 ID:JdIOV09D0
UWSCの長所は
「低機能」(≒大量の命令群に圧倒されず比較的敷居が低い)
「日本語」(日本語変数、日本語情報が豊富(というか日本でしか使われてない))
だけ。

枯れてるから安定性もあるかといえば、
クローズドで一人で開発してる限界が垣間見える。
XP相当でXPよりサポート期間が後の Windows Server 2003 では
正常なスクリプトで Syntax Error を吐くなどの2000と同じような不具合がある。

ただ商業化に成功してるので更新か途絶えない見込はあるものの、
この調子だとXPサポート終了後は嬉々として対応を放棄し同じ道を歩むだろう…
52名無しさん@お腹いっぱい。:2014/01/18(土) 14:54:50.02 ID:fSb9WJSx0
>>50
15日から調べながらやってゲームしつつやっと完成したんだぜ。
ゲームしながらじゃないとやっとれん。

AHKはスレもあるし勧められてたけど手を出さなかったんだけど
手を出してみたらやっぱりややこしくてとっつきにくかったよ。
UWSCやAutoItを比較するならAHKもないとなと思って頑張った。

たまに常駐した方がいい使い方を聞いてくる人がいるけど
そういうのはAHKが簡単にできるね。
Windowsの終了イベントを拾えるのはスクリプト言語なのにすごいと思った。

UWSCでも sleep(24*60*60) くらいの長時間のスリープすれば常駐できるけど
扱えるイベントがキーボードだけだし。
GetIDの見つかるまで待機とか言うのもなくはないけど。

待機部分をAHKで書いて呼び出す方法もあるけど
そういうのはCOM呼び出しが出来るAutoItの方が使いやすいのは
IEをEXECできるけどCOM呼び出しの方が簡単だというのと同じ。
53名無しさん@お腹いっぱい。:2014/01/18(土) 15:10:23.07 ID:fSb9WJSx0
>>51
日本語情報だけじゃなくて
日本語で関数名や変数名を使えるのはいいよ。

SciTEAutoIt(専用エディタ)は設定すれば日本語入力・表示できるけど
入力補完がなぜか出てきてEnterすると文字化けするのがうざい。
関数名や変数名もアルファベットじゃないといけないし。

JavascriptだかAHKの説明をぐぐってると日本語を変数名っぽくして説明してるのがあったんだけど
ああいうのはかえって誤解を招くよね。
54名無しさん@お腹いっぱい。:2014/01/18(土) 15:39:47.38 ID:fSb9WJSx0
ああ、あと
SciTEAutoIt のコメント文ってイタリックなんですよね。
日本語をイタリックにしたら何書いてあるか分からんだろと。

C:\Program Files (x86)\AutoIt3\SciTE\Properties\au3.properties
を管理者で起動したメモ帳で開いて
style.au3.1=fore:#008000,italics
からイタリックを削ったらちゃんと読めるようになったんだけど
設定ファイルのどこにコメント文だとわかる情報があるんだと。

# Comment line
style.au3.1=fore:#008000
# Comment block
style.au3.2=fore:#008000,italics

あ、Comment って Comment 書いてあった。
55名無しさん@お腹いっぱい。:2014/01/18(土) 15:42:26.54 ID:fnM3MnSf0
気に入ったらその言語で楽しんだらいい
気に入ったらそのスレで楽しんでたらいいのに
なぜこのスレにしか書いてないの?って安価の答えがゲームってなんだろう
56名無しさん@お腹いっぱい。:2014/01/18(土) 16:05:27.48 ID:fSb9WJSx0
で、これ編集しようとドラッグ&ドロップで開こうとして気が付いたんだけど、
管理者権限でメモ帳開くとドロップできないんだな。
もしかしてUWSCから開いたIEにドロップできなかった理由ってUWSCが管理者権限になってるからかなとか。

試しにIEを管理者権限で起動したらやっぱりドロップ拒否だった。
なるほどな。
・・・やばいじゃん。

管理者権限で起動する話はあるけど
ttp://dobon.net/vb/dotnet/system/asadmin.html
Dim psi As New System.Diagnostics.ProcessStartInfo()
psi.Verb = "runas"

ぐぐった
> CreateProcess()ではUACの権限昇格ができない
> ShellExecute() では子プロセスのコマンドラインとして最大2082文字しか指定できず、
> 子プロセスは権限を引き継ぐ

分からん。

バッチファイルで起動すればドロップできたのは
バッチファイルからIEを起動したからじゃなくて
バッチファイルからUWSCを起動したから・・・じゃないな。

だけど、
UWSCのショートカットを管理者に設定してるから
IEを使うコマンドを使う場合はその設定のないショートカットを用意しておけばいいってことかな。
57名無しさん@お腹いっぱい。:2014/01/18(土) 16:24:57.02 ID:fSb9WJSx0
>>55
AutoItのスレがないんでこっちに。

AHKのスレはあるけど使う気もないのにアドバイスがたくさん来ても困っちゃうし。

ところで、
管理者権限を引き継がないで起動
もしくは管理者権限をはく奪する方法ないかな。


管理者権限とトークンについてぐぐったらこれが出てきたけど
後で見るためにメモ
ttp://www.atmarkit.co.jp/fwin2k/tutor/winsecurity02/winsecurity02_01.html

ttp://eternalwindows.jp/security/securitycontext/securitycontext13.html
> プロセスをSYSTEMとして動作させることは、概念的にはそれほど複雑ではありません。
> まず、既存のシステムプロセスのハンドルを取得し、次にそれを基にシステムプロセスのトークンを取得、
> そして最後にCreateProcessAsUserを呼び出せば、プロセスはSYSTEMとして起動されることになります。

ttp://eternalwindows.jp/security/securitycontext/securitycontext02.html
> プロセスに割り当てられたトークンは、OpenProcessTokenで取得することができます。
58名無しさん@お腹いっぱい。:2014/01/18(土) 16:32:09.34 ID:KENqAOMR0
チラシの裏にでも書いとけよ
59名無しさん@お腹いっぱい。:2014/01/18(土) 16:48:25.11 ID:JdIOV09D0
ココがチラシの裏だよw
気に食わないなら公式掲示板にでも行ってろよ
60名無しさん@お腹いっぱい。:2014/01/18(土) 17:06:00.29 ID:nFAhEH6O0
前も同じ返ししてるキチガイいたよな
同じ奴か?
61名無しさん@お腹いっぱい。:2014/01/18(土) 17:12:11.45 ID:sI/Ery180
スレがないなら作ればいい
スレチの話をズットされてもこっちも見る気もないしうざいだけ
62名無しさん@お腹いっぱい。:2014/01/18(土) 17:32:56.46 ID:fSb9WJSx0
過去スレ落ちてそのまんまのスレを立てても即死するだけだろ。
仮に残ったとしても俺のスレ立て猶予がなくなる。
1388888888 にスレ立てするのは忘れてたけど狙ってんだから。

AutoIt
ttp://pc12.2ch.net/test/read.cgi/software/1277173327/
> 1 名前:名無しさん@お腹いっぱい。[] 投稿日:2010/06/22(火) 11:22:07 ID:dqr8+Nvh0

UWSCよりいいソフトの話はスレチかもしれないけど
UWSCとの速度比較はどこでやってもいいわけだし
>>56 とかモロに質問がちょくちょくあるUWSCの管理者権限の話だし
>>57 はそれを回避するための話で
スレチどころか重要な話なんだけど。

あっ
1390000000
2014年1月18日 08:06:40

なんてこった。
この時間寝てたよ・・・

次は
  1400000000
2014年5月14日 01:53:20

  1408161254
2014年8月16日 12:54:14
63名無しさん@お腹いっぱい。:2014/01/18(土) 22:32:03.53 ID:rMRLn/3q0
作成依頼はYahoo!知恵袋に行けば答えてくれるらしい。依頼厨はこっちへ住み分けしてくれ。
http://chiebukuro.search.yahoo.co.jp/search?sort=16&fr=common-navi&p=UWSC&class=1&flg=3&ei=UTF-8
64名無しさん@お腹いっぱい。:2014/01/18(土) 22:55:43.62 ID:QLdDHYuD0
アプリのプルダウンから特定の項目を選ぶ時に、今までは全部画像認証や座標指定を組み合わせて動作させていましたが
稀にうまく動作しない場合があるので他の案を検討しています。

画像認証は精度が落ちますし、座標指定は画像認証より確実ですが、ウィンドウ位置や大きさを変更した際に誤動作の可能性があります。

何かもっと確実な方法は無いでしょうか?
uwsc プルダウン で検索してもイマイチ思い通りのページが見つからなかったので
良ければ教えて下さい
65名無しさん@お腹いっぱい。:2014/01/18(土) 23:10:20.40 ID:KENqAOMR0
>>64
clkitemじゃダメなの?
66名無しさん@お腹いっぱい。:2014/01/18(土) 23:50:39.05 ID:fSb9WJSx0
>>64
「UWSC メニュー」でググったら出てきたよ

ttp://www.dt8.jp/cgi-bin/adiary/adiary.cgi/0453
1.ChkCtlIDでWM_COMMANDの ID をチェック
2.DEF_DLL で PostMessageA を定義
3.PostMessageA(IDTOHND(Photoshop_id), WM_COMMAND, 20)
  とかで投げる。


でもこれが基本で確実かな。
ttp://www.uwsc.info/sample.html
CLKITEM(GETID("","#32768"),"名前を付けて保存", CLK_ACC or CLK_BACK)
これを成功するまでループ
67名無しさん@お腹いっぱい。:2014/01/18(土) 23:51:34.19 ID:auXyd6tV0
>>64
まず、自分が「プルダウン」と呼んでる物の正式名称は何なのかを調べるべき
候補としては「メニュー」「コンボボックス」「ショートカットメニュー」・・・
68名無しさん@お腹いっぱい。:2014/01/19(日) 00:03:09.35 ID:gnBI9Zal0
>>65
回答ありがとうございます。
clkitem も検索でヒットしていたのですが
(自分の知識不足のせいですが)これが自分が求めているものなのかどうかの判断すら付きませんでした。

けれど、すぐに、「clkitemじゃダメなの?」とレスを頂いたので
こういう場合は普通clkitem関数を使えば良いのだろうと判断できました。
なのでclkitemに絞って調べてみたいと思います。
UWSC以外のプログラムは全く経験が無く、当たり前のような事でも自分にはそれが当たり前だと判断付かないんですが
経験すれば慣れますかね…
回答ありがとうございました。

と書いてたらさらにレス貰えてました。
>>66
>>67
ありがとうございます。
なんだか自分が初心者すぎて場違いな感じでスレ汚ししてしまったかもしれません。
皆様すみませんでした。
69名無しさん@お腹いっぱい。:2014/01/19(日) 01:05:29.52 ID:QKxaX88L0
小学3年生です。
10の倍数を表示するプログラムを作ってるんですが、うまくいきません。
0しか表示できません。なぜでしょうか。for i = 1 to 100 step 10以外で教えて下さい。

hitoketa=0
hutaketa=0
for i = 1 to 100

hitoketa=hitoketa + i

if hitoketa=10 then hitoketa=0 and hutaketa=hutaketa+10

print hutaketa

next
70名無しさん@お腹いっぱい。:2014/01/19(日) 01:28:16.14 ID:GNqc537N0
>>69
hutaketa の表示をやめて、hitoketa を表示させてみればわかる
71名無しさん@お腹いっぱい。:2014/01/19(日) 01:45:19.67 ID:e/9KxLem0
>>69
× if hitoketa=10 then hitoketa=0 and hutaketa=hutaketa+10


ifb hitoketa=10
 hitoketa=0
 hutaketa=hutaketa+10
endif

それと>>70
72名無しさん@お腹いっぱい。:2014/01/19(日) 02:42:55.34 ID:6IwQWLbm0
小3って既に割り算やってたっけ
73名無しさん@お腹いっぱい。:2014/01/19(日) 14:03:22.56 ID:QKxaX88L0
>>70
thx
車輪の再発明をやろうと思ったんだ
暇だったから
でも無理だった
74名無しさん@お腹いっぱい。:2014/01/19(日) 15:23:55.48 ID:e/9KxLem0
>>73
車輪の再発明とか大げさなんだよ。

誰だって最初は ”Hello! World.” 

今やっとLuaのループが動いた。
単純ループなら VBScript と同じだった。
関数呼び出しが速いけどJSやHSPのが速かった。

ただ、時間を os.date("%S") で取ればそうだけど
os.date()(yy/mm/dd hh:mm:ss)で比較するとVBS以下にまで遅くなった。
文字数が増えるとこんなにも遅くなるということか。

そうすると言語ごとにちょっと違う仕様が影響したかもしれないな。

・・・math.floor(os.clock ()) でやったらHSPを超えたぞ。
やっぱり数値だと速いんだな・・・普通は。

ちなみに、DOSコマンドのバッチでやると3桁だった。
速そうに見えるんだけど違うんだなあ。


速い  Lua(数値) > HSP3.31 = JavaScript (chrom) > Lua(文字) > VBScript >> AutoIt3 > AHK >> UWSC >>>> DOSコマンド  遅い

基本的に秒数を文字で比較してるけどUWSCはGetTime()だから数値のはずなんだけどあれ?

os.clock ()はアプリに割り当てられたCPU時間だからちょっと有利か。
でも、逆転するほどの差はないはず。
75名無しさん@お腹いっぱい。:2014/01/19(日) 16:46:30.85 ID:R5Pi6Hu90
毎日IDをNGに入れるの面倒臭いからコテつけてくれないかな
76名無しさん@お腹いっぱい。:2014/01/19(日) 20:24:07.75 ID:YKmQwxPiP
文字列の検索と取得教えて下さい
aaa1
bbb1
ccc1
ddd1
eee1
aaa2
bbb2
ccc2
ddd2
eee2

テキストファイルにaaa〜eeeの情報があり
bbb〜dddの部分を取得して別ファイル作りたいのですが
posでbbb1を探し出してからddd1までをクリップボードに取得したいのですが
どなたか教えて下さい
windowsxpsp3
uwsc4.8apro
よろしくお願いします
77名無しさん@お腹いっぱい。:2014/01/19(日) 20:50:42.02 ID:/6q1zOi50
>>76
sendstr(0, betweenstr(fget(fid, F_ALLTEXT), "bbb1<#CR>", "ddd1"))
78名無しさん@お腹いっぱい。:2014/01/19(日) 20:54:20.79 ID:e/9KxLem0
開始位置 = Pos("bbb1", 文字列)
長さ = Pos("ddd1", 文字列) + length("ddd1") - 開始位置 )
sendstr(0, copy( 文字列, 開始位置, 長さ )
79名無しさん@お腹いっぱい。:2014/01/19(日) 20:55:24.43 ID:e/9KxLem0
閉じカッコミスった
80名無しさん@お腹いっぱい。:2014/01/19(日) 21:03:22.31 ID:YKmQwxPiP
>>77〜79さん
betweenという関数使ってみます
お忙しいなかありがとうございました
81名無しさん@お腹いっぱい。:2014/01/20(月) 11:13:41.20 ID:ysyaj7Nb0
                            |`ゝ
                          _//´
                     |`ゝ  / :;/'
                   _//´  /@,;)ゞ
                 / :;/'     ̄
                /@,;)ゞ             |`ゝ
                 ̄             _//´
  /\___/\                   / :;/'
/ /  u ヽ ::: \                 /@,;)ゞ
|.u(●), 、(●)、 |                  ̄
|  ,,ノ(、_, )ヽ、,, u |  にぼしが追ってくる、
| u ,;‐=‐ヽ   .:::::|         たすけて
\  `ニニ´u .:::/
/`ー‐--‐‐―´´\
82名無しさん@お腹いっぱい。:2014/01/20(月) 11:23:27.83 ID:lVxNNuOfP
お世話になります
読み込むファイルの容量から40ファイルは新規作成するはずなのですが
3ファイル(うち1つは空ファイル)を作ったところでエラー
:Can't be written in
中断しますか? はい いいえ
が出てきて はい を選択するまで何回でもまた同じエラーが出ます
結果は先に書いた通り空ファイルが一つと二つの書き込み完了ファイルができます
いいえ で続行すると別ファイルが二つできます
このままでも20回ほど いいえ を押せばその読み込んだファイル分は終了するんですが
エラーを無くして完全自動にしたいです
どなたかよろしくお願いします
tes3x = fopen("c:¥hoge.txt",f_read)
tes333 = fget(tes3x,f_alltext)
tes333 = replace(tes333,"<img","検索<img")
i = 1
while i < 60
tes222 = betweenstr(tes333,"検索","extended",i)
doscmd ("type nul > c:¥mytes.txt")
nm1 = "c:¥mytes"
nm2 = ".txt"
id = fopen(nm1 + i + nm2,f_read or f_write)
fput(id,tes222)
fclose(tes3x)
fclose(id)
i = i + 1
wend
ここまで。
昨年の2ch情報漏洩から2chブラウザがおかしくなり
この書き込みはスマホで手入力しました
スペルミスあるかもですが
わかる方よろしくお願いします
83名無しさん@お腹いっぱい。:2014/01/20(月) 11:48:01.21 ID:luwiI7V60
>>82
fclose(id, true)
84名無しさん@お腹いっぱい。:2014/01/20(月) 11:58:25.47 ID:KvrTbQay0
>fclose(tes3x)

ループ中で何度も実行してるから悪さしてるんじゃないの?fget()のあとでいいと思うのだが
85名無しさん@お腹いっぱい。:2014/01/20(月) 12:04:59.97 ID:lVxNNuOfP
>>83
>>84
今、pcで他の作業やっているので空き次第試してみます
ありがとうございました
86名無しさん@お腹いっぱい。:2014/01/20(月) 12:25:21.54 ID:lVxNNuOfP
連投すいません
>>83さん
>>84さん
まさにそれでした
fclose(id,true)に直しましたら
今、目の前で快適に動作しています
本当にありがとうございました!
87名無しさん@お腹いっぱい。:2014/01/20(月) 16:42:59.01 ID:GTroRiA80
そろそろUWSCを卒業してもうちょっと高等な言語を学びたいんだけど、何がオススメ?
88名無しさん@お腹いっぱい。:2014/01/20(月) 17:38:28.52 ID:7F1VyyvD0
C#.NET または VB.NET または JavaScript
89名無しさん@お腹いっぱい。:2014/01/20(月) 18:36:11.11 ID:EF+AdMbO0
>>87
UWSC からなら AutoIt がよさげ。
言語も似ているし、機能も包括してる。
AutoItX3 てのが ScriptControl として COM 呼び出しもできる。

AHK や HSP も、DLL で実行できるけど WSH や HTA からは利用できない。

COM 呼び出し出来る言語は Javascript, VBScript, Perl, Ruby, Python, PHP など。
AutoIt や Lua も COM 呼び出しの実行環境がある。
COM 呼び出し出来るということは WSH として実行できるということ。

お前ら、wsh使ってますか? Part8
ttp://toro.2ch.net/test/read.cgi/win/1292764835/

EmEditorのマクロを様々なActiveScriptで書いてみる
ttp://emeditor.web.fc2.com/EmEditor_Macro_ActiveScript.html
90名無しさん@お腹いっぱい。:2014/01/20(月) 20:08:12.99 ID:7F1VyyvD0
自動操作に絞ったらそうだが、
高等な言語を、といったのだから、
より標準的でより万能でより使用人口が多く
より良質な情報源があり上等な開発環境のある
言語を探してるんだろ。
91名無しさん@お腹いっぱい。:2014/01/20(月) 20:17:13.26 ID:7F1VyyvD0
UWSCはクローズドでプロプライエタリなソフトなくせに
商売が地道過ぎて開発規模が小さい。
商売がでっかくて成長し続けいずれはgoogleかMicrosoftに
買収される勢いなら安心できるんだが、
ぶっちゃけumiumiさん一人が開発放棄したらそこまでだからな。
そんな先の見えないシステムの習得にあまり時間かけられんだろ。
UWSCは初心者に優しそうな顔しながら実のところ、
MSDNに書いてあることを知ってるプログラマ前提な説明不足だらけだからな。
MSDN読むぐらいなら最初からVB.NETやC#.NETにしとけよ、
その後でUWSC使う分には苦労なかろう。
92名無しさん@お腹いっぱい。:2014/01/20(月) 21:05:19.36 ID:BiXfXl900
>>87が「UWSCから卒業する」「高等な言語を学びたい」というのの意味次第ではなかろうか
つまり
Windowsやソフトを操るのに、UWSCより高度なことをしたい
のか
操るよりも、自前のソフトウェアを作って処理したい
のか
UWSCを凌駕するHyperUWSCを開発したい
のか
手続き型言語や関数型言語などの言語構造を研究したい
のか
あるいはその他
93名無しさん@お腹いっぱい。:2014/01/20(月) 22:29:45.59 ID:1CGPTXdm0
よくわからんがvzのマクロ思い出した
94名無しさん@お腹いっぱい。:2014/01/20(月) 23:02:20.81 ID:EF+AdMbO0
>>90
.net もいいと思うよ。
リッチな開発環境も無料で使えて開発効率もいい。

ただ、ActiveScript だってマイクロソフトが提供していて広く使われている環境で
マイクロソフトの公式情報だけでなく、数多くの解説サイトやサンプルコードが公開されてる。

Windows には標準で Windows Script Host の実行エンジンとして CScript.exe と WScript.exe がついてて
言語として JScript と VBScript が使える。
JScript はおまえも推奨してる JavaScript とほぼ同じで Web でも使えるし、WSH でも使える。


もちろん、本格的にやるならプログラマ需要のある C# や VB.net もいいとは思う。
だけど、本格的にやるならこんなところで聞かないだろ。

UWSC とか抜きで考えれば SmallBasic を勧めたことがある。
ttp://www.slideshare.net/jsakamoto/clrh56-lt

でもちょっとググってみたら F# ってのがいいらしい。

【.NET】F#について語れ2【OCAML】
ttp://toro.2ch.net/test/read.cgi/tech/1304185609/

F#本体が20MBだから入れようと思ったら .net Framework を入れろと言われた。
やっぱやめた。

powershell でも試してみるか。
95名無しさん@お腹いっぱい。:2014/01/21(火) 00:19:56.77 ID:eTiSG6u70
お世話になります。

aaa = aaa - 1
if (aaa > 0) THEN FOR I = 1 TO aaa
命令文A
NEXT//


aaaが2以上の場合、
aaaより1低い回数だけ命令文Aを実行したいのです。

aaaが1の場合はなにもしないことを目指していますが、
何故か、aaaが1のときでも1度実行されてしまいます。

何処が間違っていると思うのです…。
短い文なので、根本的になにかを勘違いしている気がします。
ご教授頂ければ嬉しく思います。
96名無しさん@お腹いっぱい。:2014/01/21(火) 00:32:02.95 ID:WUodYDqS0
ifb 〜 endif を使え
それと
×「ご教授」 ○「ご教示」
97名無しさん@お腹いっぱい。:2014/01/21(火) 00:48:10.43 ID:zQb3nc9g0
>>95

ifb aaa >= 2
 
 bbb = aaa - 2
 for Z = 0 TO bbb
  命令文A
 NEXT

endif
98名無しさん@お腹いっぱい。:2014/01/21(火) 00:54:58.55 ID:eTiSG6u70
>>96-97
いけました!
ありがとうございます!
ifとifbの違いがわかりました。
99名無しさん@お腹いっぱい。:2014/01/21(火) 00:58:22.90 ID:KMylcBoT0
いつかのバージョンからif-endifでもブロックとして
使えるようになってるはずだけど変わらずifb使ってる?
100名無しさん@お腹いっぱい。:2014/01/21(火) 01:03:28.92 ID:zQb3nc9g0
回答しといてアレだけど、実は俺ifとifbの違いを知らない
つかほとんどifbしか使ってなくて処理が1つしかない時だけ記述を少なくするためにifを使う感じ
THEN も一度も書いたことない

ifbじゃなくてifを使わないとダメって状況あるの?
教えてエロい人
101名無しさん@お腹いっぱい。:2014/01/21(火) 01:10:56.03 ID:HOzTnHds0
ない
完全にコーディングルールとして
できればどちらかに統一していた方が可読性が高いよねってだけ

個人的にはケースバイケースで書き方を変えているケースの方が
処理の追加時に影響が出やすいと考えているので
自分がコーディングルールを決めれる時は
1命令でもコメント行が居るケースもあるだろって説得して
ブロック文にさせてる
102名無しさん@お腹いっぱい。:2014/01/21(火) 01:15:07.77 ID:BxRfsXVA0
break とかするときはブロックにするより if then の1行で書いた方が見やすいから出来るだけ1行にしてる。
103名無しさん@お腹いっぱい。:2014/01/21(火) 01:19:49.00 ID:eTiSG6u70
自分はマクロメディアというツールを使っていた時は
いつもifだったので
そもそもifbというコマンドの存在を知らず、
UWSCでもifを使っていました。
IFはIFなんだから、これでいけるだろーって。
まさか、条件文が2種類(ifとifb)もあるとは…

今回は皆様、ありがとうございました。
104名無しさん@お腹いっぱい。:2014/01/21(火) 01:21:29.29 ID:ejuan4S00
ifbなんて過去の遺物をわざわざ使う必要ないよ
今はどんな時でもifでおk
105名無しさん@お腹いっぱい。:2014/01/21(火) 01:24:47.10 ID:ejuan4S00
if文を2行以上に渡って書く時はendifで閉じろよって話
106名無しさん@お腹いっぱい。:2014/01/21(火) 01:27:06.55 ID:zQb3nc9g0
なるほど
一応フラグの切り替えとかEXITとかの特定の処理のみifを使って
感覚的にifとifbとの差別化をはかっていたつもりだったけど
確かにチームとかだとみんなが分かり易いように統一したりするほうがいいんだろうね
107名無しさん@お腹いっぱい。:2014/01/21(火) 07:03:59.75 ID:0NyHEQbX0
IFBはENDIFで閉じない限り必ずエラーになるという「長所」がある。
よって一行IF文とブロックIF文を混在させたい場合はIFBにメリットがある。
IFBが過去の遺物と捨て去るほどUWSCは洗練された言語ではないので。
108名無しさん@お腹いっぱい。:2014/01/21(火) 08:29:38.38 ID:lItqfFL40
いつ頃からか構文的にはifbもifで記述OKになったけど

if 条件
if - then break
endif

だと見栄えが悪いから

ifb 条件
if - then break
endif

にした方が見やすいから複数行の時はifbで書く癖付けてるが、文句あるか?
109名無しさん@お腹いっぱい。:2014/01/21(火) 11:48:51.07 ID:1HBGrXpcP
FC2ブログをUWSCで投稿できる方おられましたら教えて下さい

投稿タイトルと本文にコピペしたいのですがわかりません

自分がやってダメだったのは下記です
SCKEY("ほげほげぬるぽ日記 - FC2 BLOG 管理ページ - Windows Internrt Explorer",IEFrame",VK_CTRL,V)

これではエラーになりタイトルにも本文にも書くことができませんでした
どなたかわかる方おられましたらよろしくお願いします
110名無しさん@お腹いっぱい。:2014/01/21(火) 12:15:46.77 ID:nivr9+Iq0
SCKEY(GETID("ほげほげぬるぽ日記 - FC2 BLOG 管理ページ - Windows Internrt Explorer",IEFrame"),VK_CTRL,V)
じゃなかろか
111名無しさん@お腹いっぱい。:2014/01/21(火) 12:18:39.40 ID:nivr9+Iq0
それと、タイトル欄と本文欄へのフォーカス制御はどうなってるんだ?
112名無しさん@お腹いっぱい。:2014/01/21(火) 14:11:27.25 ID:1HBGrXpcP
>>110〜111さん
レスありがとうございました
そそ、それなんです
フォーカス合わせてコピペ2回して保存ボタンクリックをしたいんです
uwsc_PROのRecIEで記録すると
コピペしたい部分は下記のようになっていました

IESetData(IE,"タイトルテスト","entry[title]")//TEXT

IESetData(IE,"本文TEST記事","entry[body]")//TEXTAREA

RECIEで記録したソースはコピペできないので使えませんでした
タイトルにフォーカス合わせてコピペ
次に本文にフォーカス合わせてコピペ
やりたいです
どなたかご存知の方おられましたらよろしくお願いします
113名無しさん@お腹いっぱい。:2014/01/21(火) 16:27:58.75 ID:s1XS30sW0
素の低レベル保存でやればいいんじゃないかな
114名無しさん@お腹いっぱい。:2014/01/21(火) 16:44:48.36 ID:1HBGrXpcP
>>113
レスどもです
カメラ記録は座標とバーチャルキーの記録なのでちょっと…
IEのショートカットキーでそこに合わせるにはタブキー入力60回以上なので
直接貼り付けできないか模索してます
115名無しさん@お腹いっぱい。:2014/01/21(火) 18:18:28.97 ID:HOzTnHds0
コピペと一言ですましてるけれど
晒しているコードだけだとペーストしかやる気配がないよね
手動でコピー済って事なのかな?
コピー済なら GETSTR(0) でクリップボード内の文字列にアクセス出来るよ
116名無しさん@お腹いっぱい。:2014/01/21(火) 19:53:33.40 ID:s1XS30sW0
コピペってコピー&ペーストの略なんだが
それを判ってての説明ならあまりにも説明不足だぞ。

タイトルをコピペしたいというけど
コピペはあなたが思いついた手段であって
本当にしたいことはタイトルの文字列を取得したいんだろ?
それってクリップボードにコピーするしか手段ないの?
htmlってのはテキストファイルだぞ。
117名無しさん@お腹いっぱい。:2014/01/21(火) 20:06:58.76 ID:1HBGrXpcP
ファイル指定して全テキスト取得して
それから必要な部分だけ切り出してるんですが
これコピーとは言いませんか?
あとはペーストですが
窓の指定方法がわかりません
雑談したいなら他のスレでどうぞ
回答者以外にいちいち答えるのが面倒くさい
何回も回答以外の事でレス求めるのは雑談でしょ
あいにく雑談する気はない
118名無しさん@お腹いっぱい。:2014/01/21(火) 20:44:40.59 ID:WUodYDqS0
情報不足過ぎるし、知識不足だし、態度も悪い
119名無しさん@お腹いっぱい。:2014/01/21(火) 20:49:53.52 ID:bXYB/qfJ0
どこが雑談だか
120名無しさん@お腹いっぱい。:2014/01/21(火) 21:30:43.73 ID:1HBGrXpcP
情報不足?
FC2ブログの投稿する時のタイトルと本文のペースト
これでわからないなら回答できないだろ
つまり、わからない奴が回答者ぶるのは荒らしと一緒
そこまでして威張りたいのかね
やれやれガキばっかりだな
121名無しさん@お腹いっぱい。:2014/01/21(火) 21:44:44.69 ID:v32KlZNF0
何をやろうとしてるのかもいまいち伝わってこないのでまずは日本語の勉強からしてきましょう
というかそもそもこのスレはお前の質問に答えるためにあるわけじゃないぞ?
122名無しさん@お腹いっぱい。:2014/01/21(火) 22:56:49.03 ID:n4txXu/r0
文章も流れも空気もちゃんと読んでないけど、ヘルプ見れば解決な話?
123名無しさん@お腹いっぱい。:2014/01/21(火) 23:09:52.66 ID:b0LzACQY0
化けの皮剥がれるw
124名無しさん@お腹いっぱい。:2014/01/21(火) 23:17:16.63 ID:1HBGrXpcP
そりゃわかんないだろ
わかる人にしか答えられない質問だ
無理に答えなくていいから。
いつもの流れだ
期待してないからいいけど
回答できない奴が無理矢理答える必要ない
そういう人が回答者ぶると余計に混乱する
わからないなら答えない
質問を理解してもらう為にひーこらレスしてられるかよ
意味わからない奴は答えられないから説明しても無駄だからしない
回答しても無駄とか言う人は最初から回答しなくていいから。
125名無しさん@お腹いっぱい。:2014/01/21(火) 23:31:36.54 ID:bXYB/qfJ0
舌足らずな自分を棚に上げてそれかい
126名無しさん@お腹いっぱい。:2014/01/21(火) 23:37:22.43 ID:HOzTnHds0
てか
IESetData(IE,"タイトルテスト","entry[title]")//TEXT
この部分を動作させるとペーストされないのは当たり前なんだけれど

そちらの環境だとどうなるの?
entry[title] に タイトルテスト って表示されるよね?
これは RecIE で script を作成した時に試しに使った文字列じゃない?

単純にこの行までにクリップボード内に文字列が入っているなら
IESetData(IE,GETSTR(0),"entry[title]")//TEXT
でタイトルテストじゃなくてクリップボード内の文字列になる筈

でもね、これってマジでHELPに書いてあるレベルなのよ
もしココで躓いているなら試行錯誤は全くしてないって事なのよ

だから皆 entry[title] に タイトルテスト って表示されないケースなんだろうなって思って
情報を知るために逆質問してるのさ
127名無しさん@お腹いっぱい。:2014/01/22(水) 00:16:26.10 ID:wywm5bri0
案の定、仕様後出し山盛り案件で
自分がフリーライダーであることに疑問を抱かないモンスターだったな。
もうエサ与えちゃダメだぞw
128名無しさん@お腹いっぱい。:2014/01/22(水) 00:30:57.71 ID:QEtTxZqM0
梯子を外すのも面白いもんだ
129名無しさん@お腹いっぱい。:2014/01/22(水) 01:01:42.94 ID:VTYLbJ340
スケジュール設定についての質問です。
複数のスケジュールによる行動を記録したのですが、
もし、あるスクリプトが処理中に
別のスクリプトの時刻が来た場合はどうなるのでしょうか?

スケジュールの式が
(YMDNN MOD 11)= 10
だとして、
本日の20時00分から起動する予定だったとします。
ところが別のスケジュールによるスクリプトが起動していた場合…。

20時00分〜20時00分59秒までに前スクリプトが終わった場合と、
20時01分以降に前スクリプトが終わった場合について教えてくださると嬉しいです。

また、単純に
(YMDNN MOD 11)= 10
(YMDNN MOD 9)= 4
など、別々の式で起動時間が被ってしまった場合などはどうなるのでしょうか?
130名無しさん@お腹いっぱい。:2014/01/22(水) 01:09:32.97 ID:Sm21TkfQ0
sleepで検証すればいいかと
そのうえで結果を添えて「お前らもこうか?」なら釣れる気がするな
131名無しさん@お腹いっぱい。:2014/01/22(水) 01:09:48.91 ID:7RakxvAN0
フレーム越しのアクセスがセキュリティ対策でブロックされてるのが原因かと思ったら
皆が予想していない位に低レベルな質問だったので、逆に気付けないパターンだったw
132名無しさん@お腹いっぱい。:2014/01/22(水) 01:11:00.60 ID:oUrpUm8w0
スクリプトの書き方によって変わる
並列処理させているかさせていないか
133名無しさん@お腹いっぱい。:2014/01/22(水) 01:25:48.53 ID:hwGC7+er0
ぶっちゃけ文体が同じなので・・・
134名無しさん@お腹いっぱい。:2014/01/22(水) 04:26:49.43 ID:EXbpLBm/P
>>126
ありがとう
やっとできました自動投稿
クリップボードてGETstr(0)でいけたのか
ヘルプでIEsetの端から端まで読んだけど書いてない
ダメなヘルプだ、全然ヘルプになってない
コピペなんか基本なんだからしっかり説明してもいいくらいだ
クリップボードを変数に入れたら
IEset get(0)のやり方はできない
嘘だと思うなら試してみな
IESet 変数ならいけた
自分は課金者だからダメなところはしっかり批判します
もちろんUWSCは気にいったからお金払った
ヘルプがダメ過ぎる
あのヘルプじゃ基本的な事すらできない
135名無しさん@お腹いっぱい。:2014/01/22(水) 04:36:22.16 ID:EXbpLBm/P
それから好きでブログ書いてる連中はなんでログインまでしか書かないんかね
UWSCは簡単だ簡単だって宣伝してベクターのアフィリ目的の責任感の無い連中だ
宣伝する人は多々居てるが
UWSCと言うよりプログラミングの初心者の壁
大きな大きな壁だがGoogleで検索しても誰も説明できていない
インチキツールはあるみたいだが実際には役に立たない
初心者が挫折していく大きな壁とは
IDと窓名の調べ方
わかる人にはわかるんだろうが
初心者にはちんぷんかんぷん
Googleしてみてもわずかしか説明ページはなく、しかもインチキばっかり
インチキツールまでだしてやがんのw
ヘルプ見ても窓名取得はわからない
どこが簡単なんだ
簡単簡単なんでも簡単
そういう嘘の釣り針で
わずかなアフィリを稼いで情けない奴らだ
136名無しさん@お腹いっぱい。:2014/01/22(水) 05:30:48.84 ID:Rl+hWwZn0
そこまで言うのならお前がそういうサイト作れよ
137名無しさん@お腹いっぱい。:2014/01/22(水) 08:18:11.12 ID:Sm21TkfQ0
またゆとりか
どうでも良いことを大声で
138名無しさん@お腹いっぱい。:2014/01/22(水) 08:19:00.48 ID:+Ad42BzC0
UWSCでPC自動化して稼いでいるアラサー(独女)ですが何か?
http://unmeino-rashinban.com/

ほい

つかこんなんググればいくらでも出てくるぞ
お前ら視野狭すぎ
139名無しさん@お腹いっぱい。:2014/01/22(水) 12:26:09.92 ID:QEtTxZqM0
>>135
窓名なら窓に書いてあるだろでっかく。

ttp://technet.microsoft.com/ja-jp/library/hh849832(v=wps.620).aspx
> このコマンドは、メイン ウィンドウ タイトルを持つすべてのプロセスを取得し、プロセス ID とプロセス名の表形式で表示します。
> get-process | where {$_.mainWindowTitle} | format-table id, name, mainwindowtitle -autosize

>>138
げん玉とか俺もやろうと思ったけどIP固定だから1件(一日0.1円とか)しか登録できなかったからあきらめたんだが。
140名無しさん@お腹いっぱい。:2014/01/22(水) 13:37:19.86 ID:EXbpLBm/P
>>139
お前は自分の世界が、世界の人並みだと思ってるのか
大きな勘違い
そんなサイト普通の人は知らないし
でっかく書いてるってお前が思っても
なにがなんやら、さっぱりからん
ブログ投稿する時に
ログインIDの窓の名前
メールアドレスの窓の名前
パスワードの窓の名前
ログインボタンの名前

ログイン後に
タイトルを入力する窓の名前
本文の名前
カテゴリー選ぶ時のボタンの名前
サフミットする時のボタンの名前
こういうのは世界標準化しないのかね
お前みたいなプログラミングで何かやってやろうって魂胆がある奴しか調べない
手っ取り早く「簡単なuwsc」をやってみるが
見事にアフィリエイターに騙された
結局、窓の名前がわからないからRecIE目当てに有料版を購入するはめになる
お前らプログラミングコジキは嘘つくし
誇大表示多いし卑しい
わずかなお金で嘘を平気でつくようになるとは
いったいどんな育てられ方したらお前みたいになるんだ?
でっかく書いてるはずの窓名で初心者はみんな挫折していく
おかしいなあ
でっかく書いてるのにね
でっかくってどれくらいでっかく書いてるの?
トヨタや任天堂みたいに知名度は無いの?
おかしいなあ初心者は挫折していく。
141名無しさん@お腹いっぱい。:2014/01/22(水) 13:41:04.23 ID:oUrpUm8w0
RecIEなんてなくたって窓の名前くらい調べられるが?
http://www.uwsc.info/sample.html#n15
↑公式のサンプル
142名無しさん@お腹いっぱい。:2014/01/22(水) 13:54:52.37 ID:EXbpLBm/P
>>141
公式のサンプル見てわかる人間ならUWSC買わない
「簡単」を信じて買ってみただけ
実はヘルプはわかりにくく、唯一の解説本小林シンヤ氏のウィンドウズマクロテクニックはExcelの自動化などを主に書いてあり
そういうのはVBAのサンプルが大量に出回っているから、はっきり言って
UWSCとマクロテクニック本は「簡単」って言葉で釣ってるだけ
そんなサンプル役に立たない
実際直ぐに役立つなら昨日なんでそれ出さなかったの
それで窓の名前でてきてもなにがなんやらさっぱりわからない
昨日言ったインチキツールのうちの一つだ
そのサンプルがわかりやすいなら釣り師ブロガーはなぜ釣り針にしない
インチキツールだから自分でもわからない
つまり他人に説明できないからだろ
そんな初心者には使えないインチキツールを出してくるとは
お前やっぱり頭お菓子過ぎるw
143名無しさん@お腹いっぱい。:2014/01/22(水) 13:55:33.19 ID:QEtTxZqM0
>>140
Windows の画面の設定画面にタイトルバーと言う名前が出ていて
この画像なら黒くなっているんだけどそこに書いてある文字がウィンドウタイトルなんですが
http://www.mtblue.org/pc/img/speed_up_xp_4.png

これを分からない人には UWSC は無理だよ。
HSP とか VisualStudio 有料版 使っとけ。

プログラミング初心者だけどHSPを勉強しようと思う
http://toro.2ch.net/test/read.cgi/tech/1384170422/
144名無しさん@お腹いっぱい。:2014/01/22(水) 14:04:15.72 ID:QEtTxZqM0
>>140
> こういうのは世界標準化しないのかね

お前みたいなプログラミングで何かやってやろうって魂胆がある奴がいたずらするから
アカウント登録などではその対策がされているんだが。

ま、俺もUWSCでアカウント登録しまくったけど。
145名無しさん@お腹いっぱい。:2014/01/22(水) 14:09:17.17 ID:QEtTxZqM0
ところで、痴ほう症って原因が分かって薬もできてて効果も実証されてるって昨日か一昨日のテレビで見たよ。

そんで、誰にでも効果があるのが運動することなんだって。
能を刺激するからなんだけどプログラミングしてみるのもいいかもね。
ただ、プログラミングでは ID:EXbpLBm/P みたいに怒りが有頂天に達するから
逆によくない場合もあるんだけど、ストレス耐性がつけば Windows 8 のスタート画面にも耐えられるかもしれない。
146名無しさん@お腹いっぱい。:2014/01/22(水) 14:12:34.00 ID:EXbpLBm/P
>>143
そんな忠告しらねーよ
コジキブロガーは「簡単」を売り文句にUWSCを宣伝するが
簡単でもないよ
簡単とは、今ダウンロードして3分後には使えないと「簡単」なんて言葉使っちゃダメ
ちょっとWEB操作やろうと思えばとんでもなく検索しまくり
「簡単」しか書いていないページが95%
残りの5%の中で自分のやりたい参考があるか調べていく
そもそもUWSCヘルプがダメ過ぎるのが大問題
やりたい事を探す為に恐らく自分の孫くらいのガキにペコペコして
あげくに何十回も見たインチキツールの紹介された
でっかく載ってるってのも嘘で普通の一般人は全く知らない
「じぇじぇじぇ」とか「倍返し」とか「今でしょ」とか
それくらい有名ならないと他人様に「でっかく書いてる」なんて言わない方がいい
いったいお前は何処でどうやって育てられたんだ
わずかなお金で嘘つくのはよくないぞ
コジキが身についてるからわからんかw
147名無しさん@お腹いっぱい。:2014/01/22(水) 14:15:15.04 ID:QEtTxZqM0
>>146
だからさあ
ボケ老人はゲームでもやってろ。

俺もスクリプト書いてる合間にやってんだこれ
http://bombermine.com/#/play/

Server は TeamPlay EU ね
148名無しさん@お腹いっぱい。:2014/01/22(水) 14:24:44.59 ID:EXbpLBm/P
コジキアフィリエイターが「簡単簡単」と宣伝するが
ちょっとだけやりたい事でも大量に検索しなければならない
それがUWSC
ヘルプがまともな日本語使ってないからわかりにくい
初心者は公式または2chで質問しないと先に進めない
これはヘルプが悪いから。
質問が多い=ヘルプの出来の悪さ
結局、顔も見たことない孫みたいなガキにペコペコしてみるが
回答以外の話ばっかり
こいつら本当どんな育ち方したのか?
質問の仕方が悪いとか態度が悪いとか
くだらん回答者ぶるくらいなら何も書くなよ
育ちの悪さはレスでわかるね
コジキブロガー必死過ぎる
結局、UWSCは謎的な宣伝ばかりが先走り
使ってみたら、他のプログラミングの方が早い
なぜか、ちょっとだけの事にとんでもなく労力かかる
主に質問の労力
他のプログラミングでサンプル探した方がよっぽど早くて簡単だな
149名無しさん@お腹いっぱい。:2014/01/22(水) 14:26:06.48 ID:QEtTxZqM0
うちにはテレビがないから「じぇじぇじぇ」とか「倍返し」とか「今でしょ」とか言われても誰のセリフなのか分からないよ。
あまちゃんとかぜんぜんかわいくなくないからしらね。

アフィ目的だからエロとか無料とか簡単で釣るのは当たり前だろ。

無料のエロが簡単に見れるサイトを紹介してやるよ。
ttp://say-move.org/comesearch.php?q=&sort=toukoudate&genre=anime&sitei=&mode=&p=1

動画をファイルに保存するのは FireFox が簡単

FireFox  http://www.mozilla.jp/firefox/

インストールしたら上記ページのアドオン検索で「flash video downloder」を検索して「インストール」をクリック。

動画サイトで動画再生が始まったら↓ボタンに色が付くからクリックしてメニューの一番上(動画名)を選んで「quick download」を選択。

動画再生はVLC Playerを入手し、コーデックは「k本的」でググったとこのコーデックを入手してインストールしたら再生できるようになるよ。

ほら、これを実行して本当にに簡単かどうか確かめてみてよ。
150名無しさん@お腹いっぱい。:2014/01/22(水) 14:32:53.66 ID:EXbpLBm/P
>>149
俺もテレビはほとんど見ないが
知らないとは
また嘘とハッタリか
テレビ見ない俺も知ってるのにね
それからここはお前みたいなコジキが張り付いてるからダメなんだ
UWSCを潰したいなら張り付いてればいいよ
変わった奴だ
そんな動画の情報はここでやらなくてもいいだろ
それくらい爺いの俺でも知ってる
何を自慢したいのか知らんが
お前は人を不愉快にさせるから
わからないなら回答者ぶるな
糞勘違いレスコジキ
151名無しさん@お腹いっぱい。:2014/01/22(水) 14:38:41.23 ID:QEtTxZqM0
前スレからこのスレの始めにかけてIE窓にドロップできんとか言ってたのは
>>149 の動画の FLVURL って出る奴が >>149 のツールでダウンロードできないから
自動化しようと思ってのことなんですよ。

ツールが使えれば簡単。
使えない部分をUWSCでやろうとしてんの。
これが正しいUWSCの使い方。

もちろんアドレスを2ちゃんねるに書き込んでリンクをクリックすればダウンロードできるんだけど
ドラッグ&ドロップでできれば簡単でしょ。
ちょっとの手間を節約するために頭をひねってスクリプト書いてんの。

別に書き込んでればいいじゃんと思うかもしれないけど
動画ファイルをJPEGに偽装したのがあって
そういうのはクリックすると専用ブラウザが丸ごとダウンロードしちゃうんで。
いやまあUWSC使わなくてもちょとのHTMLでドラッグ&ドロップでリンクは作れましたよ。
だけどタイトルを入力しないとファイル名がアレなんでそこをUWSCで自動化したいなって。

だけどUWSCでダウンロードしようと思ってもファイルがないとか言われる動画があるんだよね。
やっぱり簡単にはダウンロードさせてくれないのが多い。

ボタンクリックするのもめんどくさいけど
Youtubeとかは一旦移動しないといけないし動画形式がたくさんあるから自動で選択するのに頭を使うからちょっと手を付けてない。
152名無しさん@お腹いっぱい。:2014/01/22(水) 14:39:55.74 ID:QEtTxZqM0
ダウンロード専用アプリでページを表示させる奴があって
あれならどこの動画でも保存できるとは思うんだけど
あんな大げさな奴は入れたくないんだよね。

裏でアフィサイトを開きまくってるに決まってるから。
153名無しさん@お腹いっぱい。:2014/01/22(水) 14:44:52.82 ID:rO9Bm9Cj0
さすが末尾P
育ちの悪さがうかがえる
154名無しさん@お腹いっぱい。:2014/01/22(水) 14:51:34.95 ID:RpltczZW0
自分のオツムの弱さを人のせいにしちゃダメだよ
文句言うなら親に言いなさい
155名無しさん@お腹いっぱい。:2014/01/22(水) 15:15:48.49 ID:4DoAKu2g0
脳障害失せろ
156名無しさん@お腹いっぱい。:2014/01/22(水) 15:27:18.52 ID:EXbpLBm/P
質問は選ぶ
回答はとんでも回答
でもデカイ顔して回答者ヅラ
キチガイだな

>>152
動画を保存させるソフトはいくらでも売ってるだろ
今はストリーミングやゲームも保存できる
なんでも対応のソフトは無いが
2〜3本ソフト買えばどんな動画でも保存できる
せっこいアフィリしてる奴は金が無くてソフト買えないのか?
大変だねw
157名無しさん@お腹いっぱい。:2014/01/22(水) 15:31:48.50 ID:4DoAKu2g0
キチガイ「キチガイだな」
158名無しさん@お腹いっぱい。:2014/01/22(水) 15:37:50.61 ID:rO9Bm9Cj0
要領をえない質問ながらもなんとか回答してくれた人に対し
自分の求める答えではなかったからといってとんでも回答と言い放つその態度
何様のつもりだ
159名無しさん@お腹いっぱい。:2014/01/22(水) 15:42:12.54 ID:QEtTxZqM0
>>156
> 動画を保存させるソフトはいくらでも売ってるだろ
情弱自慢かよ

> 今はストリーミングやゲームも保存できる
オンラインゲームを保存して何の意味が?

だいたいツールなら何でもあるみたいに言ってるならなんでUWSCなんか使おうと思ったんだよ。
ブログツールならいくらでもあるだろ。

なくても使ってる人にクレクレメールでも送ったらいいんじゃね?
金払ってくれるんなら喜んでくれるだろ。
160名無しさん@お腹いっぱい。:2014/01/22(水) 16:01:19.13 ID:EXbpLBm/P
>>158
ほらでた回答者ヅラ
お前が回答したのはどれ?
回答もしてないのにこの態度
社会人不適格だな

>>159
自動投稿ツールなんて作者がアップした時点だけで
使えなくなったのばっかり
使える自動投稿なんてねえよ
お前こそ情報弱者丸出し
よくそんなオツムで回答者ヅラできるなw
質問選んで質問者を罵倒するだけだから
誰でも回答者できるかw
情けない奴らだ
161名無しさん@お腹いっぱい。:2014/01/22(水) 16:05:23.69 ID:4DoAKu2g0
社会人不適格の奴「社会人不適格だな」
162名無しさん@お腹いっぱい。:2014/01/22(水) 16:06:17.46 ID:4DoAKu2g0
今時アフィリブログの記事を真に受けて課金しちゃう情弱 「お前こそ情報弱者丸出し」
163名無しさん@お腹いっぱい。:2014/01/22(水) 16:06:47.85 ID:4DoAKu2g0
情けない奴 「情けない奴らだ」
164名無しさん@お腹いっぱい。:2014/01/22(水) 16:10:49.77 ID:Rl+hWwZn0
何を勘違いしてるのか知らんがここは質問スレじゃない
「善意」で回答してあげてる奴もいるけどな
165名無しさん@お腹いっぱい。:2014/01/22(水) 16:12:18.94 ID:EXbpLBm/P
だいたい答える義務の無い人間が善意で答えるスレなのに
善意者気取る割には回答しない
つーか回答できない内容まで回答しようとして質問者を罵倒する
全然善意じゃないよね
ただの罵倒屋だ
回答者ヅラしながら回答しない奴ばっかり
たまに質問者が来たら寄ってたかって馬鹿扱い
そもそもUWSCのヘルプが悪いからこうなる
ヘルプがしっかりしてればここの偽善者も少なくなるのに
回答者ヅラが楽しくてやめれないんだろ
インターネット中毒だ
誰かれ構わずターゲットを見つけてレス要求
まともに取り合わなければ豹変して罵倒する
ヘルプがわかりにくいからこうなる
UWSCより他のプログラミングでサンプル探した方早いし
回答者もこんな威張らない
166名無しさん@お腹いっぱい。:2014/01/22(水) 16:19:09.84 ID:EXbpLBm/P
UWSCの回答者さまー
評判悪いよw
なんで威張り散らすの?
UWSCの回答者は少ないから上から目線が身についてるからか
他のプログラミングで回答者してくれる方は手に負えない質問までは回答しない
だから罵倒なんてありえない

ここの質問者さんへ
UWSCの習得には多大な労力がいる
こんなキチガイ連中をなだめながら回答待ちするくらいなら
サンプルの多い言語を始めなさい
絶対にその方が早い!
167名無しさん@お腹いっぱい。:2014/01/22(水) 16:19:53.08 ID:4DoAKu2g0
などと意味不明は供述をしており
168名無しさん@お腹いっぱい。:2014/01/22(水) 16:24:03.57 ID:rO9Bm9Cj0
ヘルプに文句があるならこんなとこで喚いてないで作者に言えよ
169名無しさん@お腹いっぱい。:2014/01/22(水) 16:26:50.62 ID:4DoAKu2g0
    ドッカーン!
     (⌒⌒⌒)
     |||
    _____
   /:::::::::::::::::::::::::\
 /:::::::::::::::::::::::::::::::::::\
 |:::::::::::|_|_|_|_|_|.   ID:EXbpLBm/P
 |_|_ノ∪ \,) ,,/ ヽ
 |::( 6  ー─◎─◎ )
 |ノ  (∵∴∪( o o)∴)        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |   <  ∵   3 ∵>      <   わからないなら回答者ぶるな
/\ └    ___ ノ   ムッキー!! \_____________________
  .\\U   ___ノ ヽ
    \\____)  ヽ       
170名無しさん@お腹いっぱい。:2014/01/22(水) 16:28:26.10 ID:QEtTxZqM0
>>160
> 自動投稿ツールなんて作者がアップした時点だけで
> 使えなくなったのばっかり

そりゃフリーソフトと違ってサンプルソースって意味合いがあるからね。
Webサイトの仕様が変更されれば使えなくなって放置とか普通。
動かなくなったらご自分で変更ドゾーってことだよ。

>>165
> そもそもUWSCのヘルプが悪いからこうなる
でもググればいくらでも出てくる時代なんで

> 回答者ヅラが楽しくてやめれないんだろ
> インターネット中毒だ
だからさっさと質問しやがれ

> UWSCより他のプログラミングでサンプル探した方早いし
まあそうだな。

> 回答者もこんな威張らない
そもそも無視するしな。
171名無しさん@お腹いっぱい。:2014/01/22(水) 16:33:36.71 ID:EXbpLBm/P
ご覧の通り
回答者ヅラのキチガイ連中は
回答以外のレスに夢中です
UWSC習得に物凄い労力が必要なのは
こいつらから聞き出すのが大変な労力ってこと
サンプルの多い言語を始めたほうがいい
言葉使い?
態度?
何を言い出すんだこいつらw

サンプルの多い言語なら
そんなの気にしないで勉強できる
UWSCは言葉使いや態度が肝心な言語だキチガイのご機嫌取るのは疲れるぞ
初心者は回答をこいつらから聞き出すより
サンプルの多い言語始めなさい
172名無しさん@お腹いっぱい。:2014/01/22(水) 16:37:42.35 ID:EXbpLBm/P
ほらまた嘘きたー
FC2のタイトル窓名と本文窓名がいくらでも出てきたのか
お前の検索ツールは何よ?
Google、Yahoo、じゃ出てこないぞ
いくらでも出てくるって嘘ばっかりこくなキチガイ
お前みたいな嘘つきコジキが回答者ヅラするからダメなんだ
つーかお前なんか回答したの?
どれよ
レス番言ってみ。
173名無しさん@お腹いっぱい。:2014/01/22(水) 16:41:16.92 ID:EXbpLBm/P
>>172
>>170へのレスです
アンカーしてなかった

つまり>>170は常習的な嘘つきコジキだ
嘘ばっかり平気で書いてるキチガイ
どこに、FC2のタイトル窓名が出てたの?
いくらでも出てくるとか嘘ばっかり
こいつマジキチガイ
自分の主張の為なら平気で嘘つく奴
174名無しさん@お腹いっぱい。:2014/01/22(水) 16:45:42.07 ID:EXbpLBm/P
>>170
こういう嘘つきがUWSCの回答者ヅラしてる奴の正体だ
質問者を罵倒する為なら平気で嘘つく
こういうキチガイから回答もらおうとするより
他のプログラミングでサンプル探した方が早いし気楽
嘘つきキチガイのご機嫌取りながら
UWSCにしがみつくのは時間の無駄
嘘つきあかん!
175名無しさん@お腹いっぱい。:2014/01/22(水) 16:46:24.47 ID:QEtTxZqM0
サンプルが一番多いのは Javascript。
Javascript のないWebページはほとんどない。

Web系ということで Perl も多いがサーバー向け。

ローカルで多いのは VBAやVBScript。
MS Office のドキュメントについてくる。

機能が少なくてよければ bat ファイル。
全てのWindowsで動いてる。

上記でマウス操作ができるのは VBA+DLLだけ。

PowerShell でも Invoke すれば DLL を利用できるらしいので
PowerShell だけで自動操縦ができそうなのでサンプル探し中。

PowerShell は bat や WSH の後継だと思うけど bat の10倍速かった。
UWSCには速度で劣るけど Windows に標準搭載。
UWSCからも呼び出せるからもっとうまく使えるといいなって。
176名無しさん@お腹いっぱい。:2014/01/22(水) 16:55:02.51 ID:hwGC7+er0
PowerShellは結構いいよね
特に気に入っているのは大量のファイルの整理が強いこと
データベース感覚で絞り込みやマッチングが出来る
アプリで最終操作を行うためにUWSCに情報を渡す時も結構簡単と重宝してますわ
177名無しさん@お腹いっぱい。:2014/01/22(水) 17:50:13.73 ID:v1EiTbsq0
予想以上のキチガイでワロタw
高々数千円を一回きり払ったくらいで得意先面の思い上がりが醜いw

お前の望みを叶えたいならLANCERで発注でもしとけ
発注額の相場はコレですぐ判るだろ
http://www.lancers.jp/work/search?keyword=UWSC

自分の望み通りの回答が欲しかったら、
スキルもないのに自分のやりたいことを実現したかったら、
相応の金を出せや。
カネがないなら諦めるかもっと真摯に謙虚に独学しろ
178名無しさん@お腹いっぱい。:2014/01/22(水) 18:08:09.26 ID:EXbpLBm/P
>>168
UWSCのヘルプには問題あるね
自分はここで事実を書いてるだけ
お前はここの管理者か?
なんでUWSCスレでUWSCの話題がダメなの?
UWSCの不利な事は書かせないつもりなの?
ここはUWSCの宣伝掲示板じゃないぞ!

初心者の皆さん
UWSCは簡単に自動化できるツールと言うのは何回も見たことあると思います
それはアフィリエイターの宣伝ですよ
フリーウェアで有名なサイトの実話を話します
有料版に切り替えると宣伝者にはお金が入るんです
だから初心者には「簡単!簡単!」と説明して無料版をダウンロードさせる
しかし、無料版ではできる事が限られていて
慣れてくるに従い「ID」や「ウィンドウ名」などを変更して使いやすくしたくなります
UWSCは「ID」や「ウィンドウ名」について詳しく説明していません
なぜなら、有料版のRecIEを使えばIDや窓名はわかります
つまり、IDや窓名の取得方法を教えないのが金儲けに繋がるからです
お金儲けと言ってもわずかな金額です
しかしUWSCを宣伝する人にはRECIEこそが頼みの綱
簡単にIDや窓名は教えないです
知りたければ有料版って事です
有料版を買ってみましたがRecIEだけですね納得したのは。
初心者の皆さんはサンプルの多い言語始めなさい
わずかなお金の為に平気で嘘をつく連中に期待しながゴマすりながら
回答待ちするのは神経すり減らしますよ
回答者の多いサンプルの多い言語がいいよ
179名無しさん@お腹いっぱい。:2014/01/22(水) 18:14:11.46 ID:QEtTxZqM0
今、メール自動返信ツールが必要になったから数十万円貸してくれという詐欺があるって
テレビで特集やってるような気がする。
180名無しさん@お腹いっぱい。:2014/01/22(水) 18:22:33.16 ID:EXbpLBm/P
初心者の皆さん!
>>177
UWSCを取得する為には、こういうキチガイの
ご機嫌取りながらUWSCの質問をしなければなりません
質問の仕方が悪いとか態度が悪いとか
他のプログラミング言語では考えられないくらい横柄な回答者が多いです
なぜならばUWSCを他人に教示できるレベルの人間は少ないからです
UWSC自体がヘルプが未熟で他のプログラミングをある程度使いこなした方でしか理解できません
こういうキチガイでも他のプログラミング言語では多分、普通に会話できるんでしょう
しかし、UWSCは個人が作り上げた特殊なソフトなので回答者が少ない
必然的に彼らは質問者を選び横柄な態度を取るようになりました
中には回答者のふりをしながら回答はしない
憂さ晴らしの為だけにここを覗いている輩も居てます
こういうキチガイのご機嫌取るのは疲れますよ
サンプルの多い、回答者の多い言語を始めなさい
UWSCはカメラモードで簡単に記録再生できますが
サイトは自動化を嫌いメンテナンスします
そしたらカメラモードはエラーばかりで役に立たなくなり
結局、自分でソース書く事になります
それなら最初からサンプル、回答者の多い言語がいいのでは?
よく考えてみなさい
181名無しさん@お腹いっぱい。:2014/01/22(水) 18:27:54.30 ID:Rl+hWwZn0
>憂さ晴らしの為だけにここを覗いている輩も居てます

お?自己紹介か?
182名無しさん@お腹いっぱい。:2014/01/22(水) 18:36:50.62 ID:EXbpLBm/P
>>181
ほらまた釣れたキチガイ自己中回答者
こうやって人を小馬鹿にするのが趣味の奴が多いのも問題ですね
先に書いたようにUWSCのヘルプでは初心者には理解できません
それをわかっているからこいつらは横柄な態度を取るんです
こんなキチガイ気分屋のご機嫌取るより他の言語を学んだ方が早いし身になる
回答者のふりをしながら様子見て
手に負えない質問なら消えるんですよ
こいつらは。
183名無しさん@お腹いっぱい。:2014/01/22(水) 18:43:17.37 ID:4DoAKu2g0
学ぶために他人の機嫌を取って質問しなきゃならないと思い込んでるゴミ

これがゆとりか
184名無しさん@お腹いっぱい。:2014/01/22(水) 18:47:47.45 ID:RpltczZW0
初心者だったら記録で使うだろ
スクリプトを書こうってのは初心者とは言わないと思うぞ
185名無しさん@お腹いっぱい。:2014/01/22(水) 19:02:23.97 ID:wc38QTtA0
>>178
>フリーウェアで有名なサイトの実話を話します
>有料版に切り替えると宣伝者にはお金が入るんです
これはUWSCでは見たこと無いなぁ
ほかのソフトと混同して、憶測で物を書いてはダメだよ
186名無しさん@お腹いっぱい。:2014/01/22(水) 19:31:07.42 ID:EXbpLBm/P
>>183
これがゆとりか
自分の世代は先に書いた
人のレスを読まないのに攻撃だけはするんだね
情けない奴だ

>>184
こいつもゆとり
UWSCのカメラモードでは役に立たなくなりソース書く事になると先に書いた
読まないのに攻撃だけはするんだね
上のキチガイと同じだ

>>185
それはお前が知らないだけじゃないの
誰でも知ってる大手フリーウェアサイト
そこで有料版が売れれば報酬貰える
ソフトによって貰えるパーセントが違う
UWSCのパーセントは知らないが
プロレジ5%シェアレジ3%と書いてある
俺の勘違いかね
なんでそんな自身満々なの?
ウミウミさんかなw
そこで売れたからと言ってウミウミさんに全額入るのかね
もし、ユーザーが払った金、一円も減らずにウミウミさんに入るなら俺の勘違いだな
しかし、3%もしくは5%貰えるとASPと契約してる人はどっから金を貰えるのかね
お前こそ憶測でもの言うな
187名無しさん@お腹いっぱい。:2014/01/22(水) 19:32:09.14 ID:4DoAKu2g0
キチガイは自分のゴミみたいな連投に全て目を通してもらえてるという前提でレスしてるのかw
さすがキチガイw
188名無しさん@お腹いっぱい。:2014/01/22(水) 19:35:21.50 ID:4DoAKu2g0
ぶっちゃけアフィリブログの内容を真に受けて信じちゃったり
騙されてネットでファビョリまくってるような情弱おじさんにはインターネッツは無理だよ

顔真っ赤おじさんそろそろ黙ってよ
189名無しさん@お腹いっぱい。:2014/01/22(水) 19:52:28.34 ID:EXbpLBm/P
ぷw
何を書こうが変わらない
UWSCのヘルプで初心者は挫折する
それがわかってるから回答者のふりしてクソ生意気な態度で質問者を煽る
回答しないのに回答者ヅラしてる奴は居てる
回答しないなら煽るのも無しだろ
その辺りがUWSCは特殊なんだな
回答者が少ないから回答者ヅラして好き放題に煽れる
つまり回答できない回答者ヅラしたレスコジキ
こいつらにゴマすりながら回答待ちするくらいなら
サンプルの多い、回答者の多い言語始めた方がよっぽど早い
ここは回答者ヅラしたレスコジキだらけ
初心者は質問しない方がいいよ
煽られた上に回答もなしだぞ
ここはガキの溜まり場だからな
わずかな金の為に平気で嘘つくカスも常駐してるので要注意
平気で嘘つくからなw
190名無しさん@お腹いっぱい。:2014/01/22(水) 19:55:51.73 ID:EXbpLBm/P
嘘つき回答者が目立つUWSCより
サンプルの多くて回答者の人数多い言語を始める方が早くて簡単!
191名無しさん@お腹いっぱい。:2014/01/22(水) 19:57:29.61 ID:oUrpUm8w0
レス飛びまくりワロタ
お前らいつまでヘルプも理解できない程度の知能のやつの相手してるんだよ
192名無しさん@お腹いっぱい。:2014/01/22(水) 20:00:51.88 ID:wc38QTtA0
>>186
>誰でも知ってる大手フリーウェアサイトそこで有料版が売れれば報酬貰える
それはVectorの話だね

>有料版に切り替えると宣伝者にはお金が入るんです
勘違いしてるのはここだね
宣伝者にはお金は入らないよ


ちなみに俺は作者の人じゃないよw
193名無しさん@お腹いっぱい。:2014/01/22(水) 20:04:49.56 ID:wywm5bri0
UWSCのヘルプが未熟で、
初心者に優しそうな外面していながら
実のところプログラミング初心者お断り
それに反感を持つところまでは共感するぞ。
それ自体に反対する者も少なかろう。
だが今、
そのお断り姿勢が、
コイツのようなクレーマーを跳ね除けるのに
成功しているのを見てフクザツな気分だわw
世の中、お前みたいな人格障害者が
沢山いるもんなぁ。
194名無しさん@お腹いっぱい。:2014/01/22(水) 20:10:32.29 ID:EXbpLBm/P
>>192
そりゃ契約しないで宣伝してる人には金は入らない
契約して宣伝してる奴も居るだろ
お前やっぱり知らないでレスしてたんだ
ここは回答者ヅラしたシッタカ君ばかりだなあ
お前の事だよシッタカ君
195名無しさん@お腹いっぱい。:2014/01/22(水) 20:19:16.81 ID:QEtTxZqM0
むかつくならむかつくでいいけど、なんで粘着してるんだろ。
196名無しさん@お腹いっぱい。:2014/01/22(水) 20:23:41.10 ID:Sm21TkfQ0
最近の義務教育や高校は過保護なんだなあ
197名無しさん@お腹いっぱい。:2014/01/22(水) 20:30:06.47 ID:7RakxvAN0
ヘルプをスラスラ理解するには、WindowsAPIでGUIアプリ作れる程度じゃないと厳しいよ
そうじゃないとウインドウの種類やクラス名すら分からないだろうし

言語仕様的には、VB/VBA/VBSがある程度使える人が対象かな
細かい説明しなくてもBASIC系言語は既に理解してる人

APIに関してはC言語、COMに関してはWSH、IEに関してはJavaScript
それぞれ、かじる程度でも経験ないと……

ぜんぜん初心者向きじゃないのに、なぜか大量に初心者が流れ込んでくるw 原因はブログなのか?
198名無しさん@お腹いっぱい。:2014/01/22(水) 20:34:11.73 ID:f8p9vxQm0
伸びてると思ったら火病っちゃったのか
199名無しさん@お腹いっぱい。:2014/01/22(水) 20:36:24.12 ID:oUrpUm8w0
初心者が来るのは録画機能の所為だと思うわ
そこから一つ段階上げ様としてスクリプトに手を出すが基本が全くないからググってコピペの技術だけ覚える
それでも動いちゃうのがUWSC
そんなこんなで今度は自分がやりたいことを一からスクリプト組もうとして挫折して内容が入ってない頭でこういうとこに来ちゃう
200名無しさん@お腹いっぱい。:2014/01/22(水) 20:37:53.79 ID:EXbpLBm/P
質問の仕方が悪いとか態度が悪いとか
質問者を煽るのはUWSCとパールくらいだろ
ともに謳い文句は初心者に優しい
パールはServer側の事をやるので職人気質みたいなのが居てるな
全体的に回答者の質は悪い
更に回答者の質が悪いのがこのUWSC
パールの連中は答えを持ちながら焦らして遊んでる
いざとなればいつでも速攻で回答してくれるレベルの人も多数居てる
だがUWSCはタチ悪い
答えを持ってるふりだけして
実は回答者ヅラしてる奴もわかってないんだな
なんでこいつは回答しないのに偉そうにしてるのって奴が多い
回答者ヅラしたキチガイレスコジキの巣窟
201名無しさん@お腹いっぱい。:2014/01/22(水) 20:47:52.79 ID:wywm5bri0
回答者の質が悪いのでUWSCはオススメできません。
深入りする前にUWSCは捨てて、
もっと良いスクリプトに乗り換えると良いでしょう。
ライセンス料を返金して欲しいなら
ココに書いても無駄ですので
支払先と交渉しましょう。
では、さようなら。
202名無しさん@お腹いっぱい。:2014/01/22(水) 20:48:16.48 ID:QEtTxZqM0
>>200
お前にぴったりの言語はこれだ

日本語プログラミング言語『なでしこ』スレ5
ttp://toro.2ch.net/test/read.cgi/tech/1252060267/
203名無しさん@お腹いっぱい。:2014/01/22(水) 20:57:16.49 ID:Sm21TkfQ0
マジで半端ねえな
知識をタダで教えて貰えて当然って考えがあるとここまで人間が歪むのか
文化的乞食と名付けよう
204名無しさん@お腹いっぱい。:2014/01/22(水) 21:01:41.72 ID:wywm5bri0
いやいや乞食は恵んでもらうために低姿勢になることを忘れない。
乞食をバカにしないで貰いたい。
この場合はさしずめ知のひったくり犯とでも名づけたい。
ってか俺がネトウヨなら絶対アレと決め付けるわw
205名無しさん@お腹いっぱい。:2014/01/22(水) 21:03:11.33 ID:QEtTxZqM0
生活保護の人はみんなこのくらい高飛車だよ
206名無しさん@お腹いっぱい。:2014/01/22(水) 21:04:22.54 ID:Sm21TkfQ0
あ、mouse Recorderっていう、ちょっとしたプログラミングも記録もできるソフトがあるよ
フリーとシェアがあるしUWSCと近いものがある
言語も独自の命令文で特に事前の知識が要らなかった気がする
207名無しさん@お腹いっぱい。:2014/01/22(水) 21:23:57.16 ID:wc38QTtA0
>>194
もう一度書くけど、憶測で書いてはダメだよ
208名無しさん@お腹いっぱい。:2014/01/22(水) 21:35:44.93 ID:7RakxvAN0
EXbpLBm/Pにはむしろ AutoIt3 をお勧めしたいな
へんに日本語で質問できる場所があるから他人を頼ろうとする
サンプルコードは多いけど英語オンリーだったりすると、自分で解決する癖が身に付く
209名無しさん@お腹いっぱい。:2014/01/22(水) 21:42:33.10 ID:hwGC7+er0
殺伐としたスレになんとなく自作関数をペタリ
UWSCってヘルプだけでも使えないってのは同感だけど
調べる楽しみもあるんだけれどなぁ

//ファイル(フォルダ)をごみ箱へ移動
Procedure RecycleBox(inFile)
 //定数宣言
 Const ssfBITBUCKET = 10 //ごみ箱

 oFSO = CREATEOLEOBJ("Scripting.FileSystemObject")

 If oFSO.FileExists(inFile) = False And oFSO.FolderExists(inFile) = False Then
  Print "指定されたファイル(フォルダ)が有りません"
  Exit
 EndIf

 oSA = CREATEOLEOBJ("Shell.Application")
 oRB = oSA.Namespace(ssfBITBUCKET)
 oRB.movehere(inFile)

 While oFSO.FileExists(inFile) = True Or oFSO.FolderExists(inFile) = True
  //移動待ち
  Sleep(0.5)
 WEnd
FEnd
210名無しさん@お腹いっぱい。:2014/01/22(水) 22:25:28.05 ID:Sm21TkfQ0
なぜ完了通知や戻り値を
211名無しさん@お腹いっぱい。:2014/01/22(水) 22:39:08.96 ID:hwGC7+er0
自作だから不都合がない程度でいいのさーってノリ
たしか movehere には戻り値ないよね
非同期実行の筈だし
なのでカツカツにチューニングする気もないので
実行直後に同期させるためにループしてたりします
まぁ、話の種にでもして下さい
212名無しさん@お腹いっぱい。:2014/01/22(水) 23:45:54.47 ID:EXbpLBm/P
>>207
逆に聞きたいんだが
なんで憶測だと断言できるの?
ASPのマーチャントにベクターがあって
その条件見たら
プロレジとシェアがあって
5%と3%だった
ベクターからUWSCもダウンロードできるから
そうなのかなと憶測してたけど
UWSCは紹介しても紹介料貰えないの?
ベクターがマーチャントやってるのは間違いない
UWSCが範囲内かどうかは知らない
ただ、プロレジがいくらシェアレジがいくらとか書いてあったら
UWSCもそうなのかなって思った
UWSCが範囲外って根拠はあるの?
自分が見たマーチャント情報ではUWSCが範囲内なのか範囲外なのかはわからない
そもそもプロレジシェアレジの範囲内範囲外があるのかもわからないから
ひとくくりに紹介料が発生するのかと思った
あなたそこはわかるの?
断言してる根拠は?
213名無しさん@お腹いっぱい。:2014/01/22(水) 23:50:13.98 ID:EXbpLBm/P
>>207
無料版、有料版があるUWSCを紹介して
そのダウンロードした人が有料版にしても紹介料が発生しない根拠はあるの?
214名無しさん@お腹いっぱい。:2014/01/23(木) 02:26:01.38 ID:xV89Dvhu0
はげしく頭悪いな
難癖つけてきたお前に
UWSCで紹介料が発生する証拠を挙げる義務があるんだ

そうでなければ

お前がUWSCを強請りたかって
やめて欲しくなったUWSCが
手打ち金を払いたくなると期待していると
思っていない根拠があるの?

と返すしか無いわ
215名無しさん@お腹いっぱい。:2014/01/23(木) 06:56:20.38 ID:efqiYtAa0
>>212
>逆に聞きたいんだが
>なんで憶測だと断言できるの?

>ASPのマーチャントにベクターがあって
>その条件見たら
>プロレジとシェアがあって
>5%と3%だった
>ベクターからUWSCもダウンロードできるから
>そうなのかなと憶測してたけど

自分で憶測してると書いてるよね

あと気になったのは>>146
>「簡単」しか書いていないページが95%
>残りの5%の中で自分のやりたい参考があるか調べていく
95%、5%という数字はどこから出てきてるの?
この数字は憶測じゃないのかな


>自分が見たマーチャント情報ではUWSCが範囲内なのか範囲外なのかはわからない
>そもそもプロレジシェアレジの範囲内範囲外があるのかもわからないから
>ひとくくりに紹介料が発生するのかと思った
>あなたそこはわかるの?
自分もわからないから少し調べてみた、これだね。
ベクター・アフィリエイトプログラム
http://www.vector.co.jp/affiliate/
で、紹介URL貼っているページがあるのか調べると、確かにあるね。
これは自分が悪かった、実際に紹介料が貰えるのかまでは確認してないけれど、
よく確認せずに>>192で「宣伝者にはお金は入らない」と書いてしまい申し訳ない。
216名無しさん@お腹いっぱい。:2014/01/23(木) 17:57:01.86 ID:JA0VKnv90
// EXbpLBm/Pの言うことにも一理ある。つまりは↓のようなことではないかな?

UWSC="difficult"
if UWSC="difficult" then UWSCValue="使えない"
while UWSC="difficult"
A="AKB48"
fukidasi(copy(A,3,1)+copy(A,1,2)+copy(A,1,1)+(val(copy(A,4,1))/2)+copy(A,5,1)+UWSCValue)
wend
217名無しさん@お腹いっぱい。:2014/01/23(木) 18:09:02.15 ID:8VCmq+Jt0
ワロタ
218名無しさん@お腹いっぱい。:2014/01/23(木) 19:05:35.16 ID:0mUs3IWf0
馬鹿は馬鹿でも馬鹿なりの姿勢があるだろ頑張ろうって考えがなく、短絡的に責任転嫁し自分を正当化、
さらに気にくわない都合の悪い一切をインチキなどと悪党呼ばわり。無知を晒すのみならず世間を知らぬ無恥を正義と盲信し、
なんら義務や責任のないスレ民をひと括りにして批判し、俺を救えない、予め救える仕組みを置いてないお前らは無知無能とのたまう。

早い話、彼はきっと「発達障害」なんだろうな。
219名無しさん@お腹いっぱい。:2014/01/23(木) 19:14:03.51 ID:8VCmq+Jt0
こういうの見るとなんか考えてしまうな。

「服役囚の4分の1が知的障害者」が意味するもの
ttp://engawa.2ch.net/test/read.cgi/poverty/1390466897/
220名無しさん@お腹いっぱい。:2014/01/23(木) 19:30:09.67 ID:m9iBI6+k0
>>218
発達障害だけでそんな風にはならないよ。
むしろここまで行くのは変な教育受けてるわ。
発達障害がかわいそう。
221名無しさん@お腹いっぱい。:2014/01/23(木) 22:42:40.30 ID:8VCmq+Jt0
PowerShell 自体は遅かったけど
PowerShell で C# のコードを書いて測定したら Lua の4倍速かった。
関数呼び出しでの速度低下もない。

コードを書くときは開発環境がないと大変だけど
ちょっと書き換える程度ならいちいち開発環境入れずに動かせるからイイネ。

それを UWSC から呼び出すとなぜか速度が半減してる。
ループは C# コードの中だけなんだけど。


んでこれ見てみて。
衝撃的。
ttp://sssslide.com/www.slideshare.net/junichia/windows-powershell-30-windows-server-2012
222名無しさん@お腹いっぱい。:2014/01/23(木) 23:28:00.35 ID:xV89Dvhu0
そもそもAPIだとかCOMだとか、
GUIなど介さず他のプログラムによって
操作されることが出来るようにわざわざ作られてるからな。
それをUWSCで操作しようという発想が「筋が悪い」のだよね。
逆に言えば、
APIやCOMなどインターフェースを外部に公開していないGUIプログラムを
どうしても仕方なく無理やりに動かす分にはUWSCは使えるわけだ。
その無理矢理の究極が、画像認識による操作なんだよ。
CreateObjectしてそのメソッドを呼んで操作できるなら、
UWSCである必要が全く無く、ドット書いたらインテリセンスで
メソッドの候補が出てきてスペルミスしようがない総合開発環境で書くべきだろ。
あくまで個人の感想ですが。
223名無しさん@お腹いっぱい。:2014/01/23(木) 23:51:29.62 ID:GTznJeCk0
概ね同感

自分の場合はデフォルトのブラウザがFireFoxってのもあって
POSAAC()の使用頻度が鰻登り状態だけど
最終手段としてCHKIMG()があるのはやっぱり良いよね

どっちが速いかはPOSAAC()の速度を考えると正直微妙なんだけれど
レイアウト変更に強い検索用画像を用意するのもそれなりに面倒なので重宝してます
224名無しさん@お腹いっぱい。:2014/01/24(金) 00:30:52.19 ID:jBEg7G540
>>221
thx スゲー解り易かった
225名無しさん@お腹いっぱい。:2014/01/24(金) 21:52:48.63 ID:mNBc/Uum0
オブジェクト指向のマクロはないの
226名無しさん@お腹いっぱい。:2014/01/24(金) 22:24:43.79 ID:7Hk+pCgM0
staticなclassしか扱えないと考えればuwscでも
227名無しさん@お腹いっぱい。:2014/01/25(土) 20:12:33.90 ID:LaskbSvT0
頭が悪い俺にこれはかなりきついん
慣れでどうにかなるもんなのか
228名無しさん@お腹いっぱい。:2014/01/25(土) 23:35:15.82 ID:OBnZpyyH0
慣れてたら
そりゃどうにかなるさ
229名無しさん@お腹いっぱい。:2014/01/26(日) 07:18:03.76 ID:D+ZlczWCP
慣れっつーか、UWSCはヘルプ見ながら必要な関数並べるだけのパズルで
ある程度のことできちゃうから、オンゲーの操作を自動化してーとかなら
修得とか難しく考えなくても、休日半日潰して集中して作ればおk。
覚えなくていいんだ。ヘルプ見ながら当てはめてきゃいいんだ。
何ヶ月後かに久しぶりに自分でソース見ても、コメがなきゃ理解できねー
とかそんなんでいいんだよ。
230名無しさん@お腹いっぱい。:2014/01/26(日) 14:20:09.27 ID:PNIlBxxc0
UWSCってスレッド呼び出しした直後の関数内でしかフキダシ(バルーン)表示は保護されないのね
平行して起動した別スレッドのフキダシ表示のために再利用されて最後のしか表示さなくなるのか
マウス付近や画面端に『複数の』情報をフキダシ(バルーン)表示する関数作りたいのに地味に面倒くさいな

ミューテックスで資源の排他制御は最低限にして関数の階層化は諦めて展開させていくしかないか〜

For i = 25 To 100 Step 25
 THREAD Fukidasi_th(i)
 Sleep(0.1)
Next
MSGBOX(”おわり”)

Procedure Fukidasi_th(x)
 Fukidasi("hogehoge", x, x) //保護される
 FukidasiP("hogehoge", x + 100, x + 100)) //保護されない
 While True
  Sleep(1)
 WEnd
FEnd

Procedure FukidasiP(inStr, x, y)
 Fukidasi(inStr, x, y) //※この関数を抜けた後、再利用対象になってしまう
 Sleep(0.5)
FEnd
231名無しさん@お腹いっぱい。:2014/01/26(日) 14:24:13.77 ID:PNIlBxxc0
あー
泥臭いけれど関数の階層化は諦めなくてもいいか
Fukidasi関数に渡す引数を計算する関数だけ階層化して
表示部分はスレッド直下に持ってくればいけそうな予感が・・・
試してきます

別の視点で何かあれば意見が貰えると嬉しいです
232名無しさん@お腹いっぱい。:2014/01/26(日) 15:01:36.81 ID:JIxRkmBm0
そのヘルプを見ないといけないところがうざい
テキストなのに重すぎるんだよヘルプは
233名無しさん@お腹いっぱい。:2014/01/26(日) 18:12:12.66 ID:Rfr/VjE80
嫌なら使うなゴミ
お前みたいなゴミに使ってくれと頼んだ覚えは無い
234名無しさん@お腹いっぱい。:2014/01/26(日) 19:22:44.22 ID:Vco/dxQT0
>>231
俺は「最終的にFUKIDASIを呼び出す関数」を呼び出す時だけTHREADで呼び出してたから気づかなかったよw
そもそも呼び出す時に一々直接THREADで呼び出したら6文字余計で面倒くさいし戻り値も戻らないじゃん?
function myFukidasi(...)
  ...
  thread threadMyFukidasi(...)
  ...
  result=true
fend
235名無しさん@お腹いっぱい。:2014/01/26(日) 19:54:28.55 ID:gP4cXDtx0
チラ裏

吹き出しは各スレッドに1つずつ存在(非表示の状態も含む)
同一スレッド内では、FUKIDASIを複数回呼び出しても、
表示内容・位置・表示状態が変化するのみで、同じ吹き出しが使い回される
スレッドが終了すれば吹き出しも消滅する
236名無しさん@お腹いっぱい。:2014/01/26(日) 20:12:06.19 ID:Vco/dxQT0
>>230
を走らせてみたが、
あるスレッド関数内から別の関数を呼ぶと
呼び出し元スレッド外になるのかねぇ?
だとしたら原因不明のバグの温床になるので要注意だね
237名無しさん@お腹いっぱい。:2014/01/26(日) 20:23:01.76 ID:jPDfi09b0
FA = ""
FB = ""
FUKIDASI (FA + "<#CR>" + FB)
238名無しさん@お腹いっぱい。:2014/01/26(日) 20:58:02.58 ID:PNIlBxxc0
>>234
目的別に関数を作りたい性格なので
マウス付近にフキダシを作る関数
再帰呼び出しでマウス付近にフキダシを作りづつけて指定時間になると透明度を使って消えていく関数
画面四隅にフキダシを作る関数
とかを作っている最中に気づいたんですよ

フキダシ一つならそれぞれの関数は安定動作するんだけど
上の理由で別スレッドから呼び出すと賞味期限が短すぎてUWSCに再利用されてしまうのです
239名無しさん@お腹いっぱい。:2014/01/26(日) 21:24:27.06 ID:PNIlBxxc0
>>235
自分もその認識でしたがちょっとだけ違うみたいです
Fukidasi_th をループさせるとわかりやすい挙動になりました

>>236
FukidasiP内でプロセス番号やスレッド識別子を表示すると呼び出し元の番号を返してくるんですよね
でも GETID(GET_FUKIDASI_WIN) を表示させるとスレッド番号関係なく再利用されるみたいなんです
なのでフキダシ表示固有の問題と思われます

For i = 25 To 100 Step 25; THREAD Fukidasi_th(i); Sleep(0.1); Next
MSGBOX("おわり")

Procedure Fukidasi_th(x)
 tmpStr = ""
 For i = 1 To 5
  tmpStr = tmpStr + i + "<#CR>"
  Fukidasi(tmpStr, x, x); Sleep(0.5) //保護される
  FukidasiP(tmpStr, x + 100, x + 100); Sleep(0.5) //保護されない
 Next
 While True; Sleep(1); WEnd //無限ループ
FEnd

Procedure FukidasiP(inStr, x, y)
 Fukidasi(inStr, x, y); Sleep(0.5) //※この関数を抜けた後、再利用対象になる
FEnd
240名無しさん@お腹いっぱい。:2014/01/26(日) 21:31:18.82 ID:gP4cXDtx0
IdToHnd(GetId(GET_BALLOON_WIN)) でウインドウハンドル追ってみたけど変だね
サブルーチン側(FukidasiP)では、最も始めに作られた吹き出しのハンドルが常に返ってくる
threadで直接起動された関数内では、各スレッドに別々のハンドルが使い回されてる
つまり、「サブルーチンを抜けたら」じゃなく、
サブルーチン側ではスレッド固有の吹き出しにはアクセスできてないようだ
241名無しさん@お腹いっぱい。:2014/01/26(日) 21:40:15.27 ID:eBqxjJ810
あやふやで申し訳ないけれど、thread+fukidasiのウィンドウハンドルに関しては何処かのVerUpのときに
アレ?と思った時があったような…
まぁ大事にならなかったから自分は流したけれど、もし時間あるようなら少し前のUWSCで試してみてくださいませ
242名無しさん@お腹いっぱい。:2014/01/26(日) 21:41:23.09 ID:gP4cXDtx0
少し訂正
最も始めに作られた吹き出しではなくて、
メイン以外のスレッドで最初に作られた吹き出し
243名無しさん@お腹いっぱい。:2014/01/26(日) 22:08:40.60 ID:PNIlBxxc0
>>241
情報有り難うございます
今日はちと難しいですが後日確認してみます

>>242
確かに!
よく見ると保護されると思ってたフキダシも再利用される仲間に入ってますね

これ面白い(変な)のが Fukidasi_th のループ内の FukidasiP をコメントアウトすると
4つ全て正常に表示されるんですよね
なので変になるトリガーはやっぱり FukidasiP 内の Fukidasi って事なんだと思います

ミッションクリティカルとは言えない満足度部分の話に返答有難うございました
244名無しさん@お腹いっぱい。:2014/01/26(日) 22:15:22.04 ID:Z6+zdfqy0
いや〜クリティカルでしょ
UWSC自体がミッションクリティカルな用途に向かないってことになって
これで商売してる人たちは困るんじゃね?
UWSCでスレッドは極力使うべきではない、が結論になるだろうね。
作者本人も嫌々実装してるみたいだしさ。
245名無しさん@お腹いっぱい。:2014/01/27(月) 08:30:05.48 ID:idj/QKWv0
これ便利?

指定したウェブサイトをスクレイピングしてAPI化してくれるサービス「kimono」
http://20kaido.com/archives/7516578.html
246名無しさん@お腹いっぱい。:2014/01/27(月) 16:34:32.85 ID:DVOVeKR20
質問よろしいですか?

画像認識を順番に20個ぐらい一気にやってるのですが、少し時間がかかってしまいます
時間短縮したいところです

画像の大きさは、できるだけ大きい方が判定時間は短いのでしょうか?

例えば、100×100 の範囲内で判別する際に、使用する画像サイズが10×10のものよりも
20×20の方が時間短縮できるのでしょうか?

それもと逆に、サイズは小さい方がいいのでしょうか?

どなたかお答え頂けると助かります
よろしくお願いします<(_ _)>
247名無しさん@お腹いっぱい。:2014/01/27(月) 16:48:40.02 ID:d2UZsXlG0
実測して比べればいい
248名無しさん@お腹いっぱい。:2014/01/27(月) 17:32:07.11 ID:DVOVeKR20
おっしゃるとおりですね
今自分で、時間計れるプログラム書いてやってみました

結果、大きいものの方が画像認識の時間は短かったです

ケースバイケースかもしれませんが、私が簡単にやってみた結果です

自問自答でした
お騒がせしました<(_ _)>
249名無しさん@お腹いっぱい。:2014/01/27(月) 17:38:42.74 ID:egjgCvHv0
大きいほうがいいということはないと思うけど
仮に大きくても小さくても左上の1点で判定できるとすると、
大きいほうが検索範囲が狭くなるので速くなるかも。

同じ大きさの箱に違う大きさの箱を入れると可動範囲が違うという理屈。

検索範囲は絞った方がいいし、
出来るだけ似た色のない部分を選んだ方がいい。
250名無しさん@お腹いっぱい。:2014/01/27(月) 18:29:57.93 ID:5FA4uFKW0
>>248
テスト結果載せてくれてありがとう。
多分大きいと、最初の数ドットでマッチしなかったら、画像の大きさ分飛ばして離れた所から検索再開するんだろうね。
ボイヤー-ムーア文字列検索の画像版みたいな
251名無しさん@お腹いっぱい。:2014/01/27(月) 18:35:08.84 ID:egjgCvHv0
画像の出る座標が決まっているなら
その座標をきちっと出して比較すれば
1回の比較で判定するから速いよ。
252名無しさん@お腹いっぱい。:2014/01/27(月) 18:56:14.55 ID:5FA4uFKW0
253名無しさん@お腹いっぱい。:2014/01/27(月) 19:19:00.81 ID:N8NWaelk0
画像認証は左上から右下にかけて認証していくから
大きさの他に、x軸y軸の位置によっても時間は変わるね

>>251さんも言ってるけど、認証の場所が決まってるなら範囲指定したほうが早くなるよ
254名無しさん@お腹いっぱい。:2014/01/27(月) 20:40:10.35 ID:DWbFoMN50
>>250
そんなわけないだろ
255名無しさん@お腹いっぱい。:2014/01/27(月) 20:51:03.92 ID:qKp6iFC50
UWSCって普通にパターンマッチだろ
256名無しさん@お腹いっぱい。:2014/01/27(月) 23:28:51.06 ID:1TsAUcuU0
画像ファイルが16x16と100x100で計測してみた
もちろん一致箇所を全て調べあげるモードで
検索範囲が500x500の場合
 全く一致しそうにない画面では、100x100の方が約4%速い
 一致しそうでしない画面では、100x100の方が約60%遅い
範囲が100x100の場合
 どちらも差は1%以下でほぼ同じ
257名無しさん@お腹いっぱい。:2014/01/28(火) 00:15:21.57 ID:zaAZ0Ms00
比較回数は画像が大きいほど狭くなり有利に働く。(不一致の条件が同じ場合)
(500-16)^2=234256
(500-100)^2=160000
160000/234256≒0.68

検索範囲が小さくなるとキャッシュに入りきるので速くなり、時間的な差は小さくなる。
(大きい画像をキャッシュに読み込むのと、小さい画像を何度も比較するのはCPUから見て大差ない)
500^2*4=1000000≒1M
100^2*4=40000≒40k
16^2*4=1024=1k
4バイト=32ビット(色数)

Core i のキャッシュメモリ
1次 32k×2×コアごと
2次 256k×コアごと
3次 3MB、6MB など
258名無しさん@お腹いっぱい。:2014/01/28(火) 06:15:43.45 ID:j8Rno8mqP
つまり、問題は画像の大きさでなく
範囲は絞れるだけ絞っとけってことですね。
259名無しさん@お腹いっぱい。:2014/01/28(火) 08:40:34.64 ID:zaAZ0Ms00
検索範囲は絞るべきだけど
画像も小さいほうがいい。

最初のドットで違っていればいいけど
真っ白な画面に周辺部が白い検索画像だと
かなりの量で一致するから不一致の判断するまでに結構CPU食うことになる。

一致する色が全然ないとわかっているならいいけど。
260名無しさん@お腹いっぱい。:2014/01/28(火) 11:09:20.23 ID:zaAZ0Ms00
作ってみたけど反応遅すぎて使いにくい。
// マウス座標上の色がウィンドウ中にいくつあるか調べる。
// 4096以上あるとUWSCがエラーを出して中断するので4096個目が存在する場合は True を返す。

stopform(true)

MOUSEORG(0)
画像名 = "temp.bmp"
while true
 sleep(0.1)
 ID = GetID(GET_FROMPOINT_WIN)
 MOUSEORG(ID)

 gx = G_MOUSE_X; gy = G_MOUSE_Y

 x = gx - STATUS( ID, ST_X )
 y = gy - STATUS( ID, ST_Y )
 c = PEEKCOLOR( x, y )
 r = c and $FF
 g = (c and $FF00) / $100
 b = (c and $FF0000) / $10000

 SaveImg( 画像名, ID, x, y, 1, 1, )
 sleep(0.2)
 num = ChkImg( 画像名, 0, 0, 0, STATUS( ID, ST_WIDTH ) , STATUS( ID, ST_HEIGHT ), 4096 )
 ifb num = false
  num = ChkImg( 画像名, 0, 0, 0, STATUS( ID, ST_WIDTH ) , STATUS( ID, ST_HEIGHT ), -1 )
 endif

fukidasi("x:" + format(x,4) + " y:" + format(y,4) + " 個数:" + num + "  R:" + format(r,3) + " G:" + _
  format(g,3) + " B:" + format(b,3) + "  タイトル:" + STATUS( ID, ST_TITLE ))
wend
261名無しさん@お腹いっぱい。:2014/01/28(火) 14:56:47.70 ID:3o4fu6V40
>>260
遅いって、もしかしてAeroONでやってるのか?
chkimgやpeekcolor使うときはAero切るのが普通だぞ
262名無しさん@お腹いっぱい。:2014/01/28(火) 22:57:32.59 ID:zaAZ0Ms00
>>261
Windows8.1使ってるんだけど
Windows7のようなOFFにするオプションがショートカットのプロパティにない。

Sleep を長くとってるけどそれでもラグがある。
どうもファイルの保存が遅いっぽい。
しばらくしないと正しく検索されない。

マウスを動かして
色は即時正しく拾ってるのに
個数がしばらくしないと合わない。

Windowsの不具合でないんなら
ChkImg がファイル名でキャッシュしているせいで即時反映されないのかも。

ファイル名を毎回変えれば即時反映されるかもしれないけど
それだとWindowsのディスクキャッシュの恩恵を受けれない。

これの場合は画像ファイルである必要はないから
自分で一点一点比較すればいいけど
UWSCのループじゃ遅いから
PowerShell+C#呼び出したらいいかな。
個数を受け取るだけだから簡単だろう。
263名無しさん@お腹いっぱい。:2014/01/28(火) 23:38:45.24 ID:3cukstCM0
ファイルに書き出さずにクリップボード使えばいいと思うけどなあ
264262:2014/01/30(木) 11:43:00.28 ID:fFL6VXlc0
最初、サーチ部分だけを C#の LockBits で書こうと思ったが、PowerShell の呼び出しに2秒以上かかるからあり得ん。
ついでに DOSCMD 測定したら 0.5秒くらいだった。
PowerShell だけでやる場合は Win32API の呼び出しが必要だったけどちょいめんどいしここに書き込んだら文句出るしちょっとパス。
AutoItX を使うと API 部分が簡単になる。具体的には 「Get-AU3WinPos -WinHandle ハンドル」で矩形が取れる。
だけど AutoItX には _WinAPI_WindowFromPoint がないから自前で API を使わないといけない。

PowerShell でクリップボードを使うには STA で起動しないといけないとかでちょっとパス。
メモリマップドファイルは UWSC がバイナリを扱うのが面倒なのでパス。(サンプルコードはあった)

ttp://blogs.gine.jp/taka/archives/1359
UWSC で↑のコードを試したらなんかクリップボードにセットはダメだったんだけど
クリップボードからのゲットだけは出来た。
UWSCでマウス座標+ウィンドウ矩形を取得して クリップボードを経由して PowerShell + C# で画像処理+表示 ならスムーズにいけそうだ。

と言うところまでなんとかいけた。
まあ、引っかかってる部分を PowerShell 、C#、API でやれればいいだけなんだけどよく分からん。
265名無しさん@お腹いっぱい。:2014/01/30(木) 20:30:09.86 ID:purLBSFN0
START = GETTIME()

の括弧って何ですか?
よくサンプル見ると()って書いてあるんですがわからなくて
266名無しさん@お腹いっぱい。:2014/01/30(木) 21:02:14.39 ID:IvlwzC640
>>265
関数
267名無しさん@お腹いっぱい。:2014/01/30(木) 21:09:20.96 ID:y3aMB4UG0
>>264
速度の足を引っぱってるのはスクリーンキャプチャ部分でしょ。たぶん
260を少し改良してみた ttp://codepad.org/IYfIfpj5
268名無しさん@お腹いっぱい。:2014/01/31(金) 00:31:52.90 ID:07hakmjS0
何曜日 = G_TIME_WW  
print (何曜日)

金曜なのに俺6が出るんだけど何で?
269名無しさん@お腹いっぱい。:2014/01/31(金) 00:36:21.53 ID:MFR5sfOn0
>>268
G_TIME_WW が6だからだろうな
270名無しさん@お腹いっぱい。:2014/01/31(金) 00:39:35.11 ID:07hakmjS0
>>269
いや、それは分かってるんだけど、金曜日なら5じゃないの?って話よ
お前アスペだろw
271名無しさん@お腹いっぱい。:2014/01/31(金) 00:45:22.37 ID:R6dtp9WO0
>>270
お前んちのカレンダーは何曜日から始まってるんだ?
272名無しさん@お腹いっぱい。:2014/01/31(金) 00:48:46.24 ID:MFR5sfOn0
白地がアスペ呼ばわりか。
273名無しさん@お腹いっぱい。:2014/01/31(金) 00:52:37.35 ID:07hakmjS0
G_TIME_WW・・・曜日(0:日曜….6:土曜)

いやいや、ググっても土曜が6って出てくるよ
カレンダーは日曜からでいいんでしょ?
だったら金曜は5じゃん
274名無しさん@お腹いっぱい。:2014/01/31(金) 01:08:26.79 ID:07hakmjS0
日月火水木金土
_______
零一二三四五六_値 
一二三四五六七_順番

0〜6で土曜日が6なんだから金曜で6が返されるのが疑問なんだけど
説明できる人いる?
275名無しさん@お腹いっぱい。:2014/01/31(金) 01:09:47.43 ID:gPAFqnQP0
端末の日時がおかしいとかだったらモニター叩き割るぞ
いややめてよ
276名無しさん@お腹いっぱい。:2014/01/31(金) 01:14:51.78 ID:Tjacb1G/0
>>268
G_TIME_WW変数は、GETTIME関数の実行によって値が設定される
未設定状態の値が6なんでしょ。たぶん
つまりGETTIME関数を呼び出しもせずに参照したからそうなった
277名無しさん@お腹いっぱい。:2014/01/31(金) 01:18:00.74 ID:MFR5sfOn0
>>276
まさか、GETTIME() 使わずにG_TIME_WW だけなんて…?
278名無しさん@お腹いっぱい。:2014/01/31(金) 01:21:00.14 ID:07hakmjS0
>>276
あーそういう事か、分かった
279名無しさん@お腹いっぱい。:2014/01/31(金) 01:24:23.76 ID:07hakmjS0
最初に24時間表記で出てくるのか確かめるために
GETTIME()
G_TIME_HH
で0が出て、次に

G_TIME_HH
だけで0が出たからそのまま使える気になってHHをWWに変えてたわw
280名無しさん@お腹いっぱい。:2014/01/31(金) 01:25:21.33 ID:81GFpszH0
まあ、時々やらかすよね。
特に環境変数だとか特殊変数を参照するだけの他の言語を使ってるとどんどん忘れていく。
だけどそういう言語って参照するたびに違うタイミングで呼び出すから同時に使わないと日付変更線をまたいでしまう。
281名無しさん@お腹いっぱい。:2014/01/31(金) 01:35:59.43 ID:07hakmjS0
最にテストしたのが0時台で、正しい値と同じ値が出てきた事
さらに今日が金曜で1だけずれてた事

そのせいで言われるまで、関数を呼んでないっていう単純な見落としに気付かなかったわ
282名無しさん@お腹いっぱい。:2014/01/31(金) 01:57:55.69 ID:ijFkpQpY0
今までは下記のプログラムでアプリを自動化してたのですが、アプリを2つ起動したら誤作動するようになってしまいました
調べてみると、GETIDで取得できるタイトル、クラスが全く同じなのが原因かと思うのですが、まずその点は合っていますか?
またその場合だとGETALLWINを使えば回避できるような感じなのですがこのプログラムに付け加えるならどんな感じになるでしょうか。
宜しくお願い致します。

wnd_id = GETID("アプリ名","あいうえお")
ifb wnd_id = -1 then
MSGBOX("起動していません")
exitexit
endif
MOUSEORG(wnd_id, 2)

while TRUE

if GETKEYSTATE(VK_ESC) then exit
IFb CHKIMG("000.bmp")
sleep(1)
Kbd(VK_NUMPAD0,CLICK,80)
Kbd(VK_1,CLICK,80)
sleep(3)
endif

wend
283名無しさん@お腹いっぱい。:2014/01/31(金) 02:44:41.96 ID:Zrylv4320
自動操作するスクリプトの方も複数起動してそれぞれ対応させたいだけなら
起動後に対象ウインドウを選択したら良いと思うよ
左クリックで指定すると問題があるなら
GETKEYSTATE を任意のキーに変更して GETID を GET_FROMPOINT_WIN にしてみるのもいいかもね

半自動じゃなくて完全自動化したいなら
スクリプト毎にどのウインドウを担当するか連携するコードも必要になるから
正直めんどくさい

Repeat
 GETKEYSTATE(VK_LBUTTON)
 Repeat
  Sleep(0.001)
 Until GETKEYSTATE(VK_LBUTTON)
 wnd_id = GETID(GET_ACTIVE_WIN)
Until !(STATUS(wnd_id, ST_TITLE) = "アプリ名" And STATUS(wnd_id, ST_CLASS) = "あいうえお")
284名無しさん@お腹いっぱい。:2014/01/31(金) 03:00:45.36 ID:Zrylv4320
最後のUntilの !() はあったらダメだわw
あと ST_TITLE の条件自体が必ずしもアプリ名と一致しないケースもある除外した方がいいかも
なので最終行だけ訂正〜

Until STATUS(wnd_id, ST_CLASS) = "あいうえお"
285名無しさん@お腹いっぱい。:2014/01/31(金) 03:01:08.21 ID:ijFkpQpY0
>>283
早速の回答ありがとうございます!
アプリを2個起動させて片方はバックグランドで完全自動化でもう片方は自分で操作しようと思ってます
自動化させたい対象ウィンドウを左クリックで指定は簡単で良いですね!
気になるのは教えて頂いたスクリプトはバックグランドで動いてくれるでしょうか?
いま出先なので帰宅後試してみようと思います
286名無しさん@お腹いっぱい。:2014/01/31(金) 03:23:27.75 ID:Zrylv4320
多分ウインドウを指定した後の話をしているんだと思うけれど
>>283 は対象のウインドウを人が指定する必要があるから完全自動化じゃないよ

後はヘルプのその他項目-予約語の下の方に
GETKEYSTATE で使う仮想キーの一覧があるから後は頑張れ
287名無しさん@お腹いっぱい。:2014/01/31(金) 05:06:16.17 ID:81GFpszH0
もうちょっと早く >>267 を見とけばよかった。
動かそうとしたら IMG_FORE がエラーになって動かないんでバージョンチェックしたら2年前の 4.8d を使ってた。
最新版で動かしたら軽かった。

最新版を使っても、Apsaly ってエディタを対象にすると、自分のは Apsaly が再描画しまくってCPU食ってるんだけど
IMG_FORE つきだと静かなもんだ。
これもあってか >>267 のは軽い。

なんだか自分が馬鹿みたいだ。

ただ、Windows 8.1 で新しいUWSCのヘルプが開けない。
左のツリーは出るけど右の説明が出ない。
やっぱ XP の環境は必要か。

ヘルプ読めと言われてる人はヘルプが開けない環境だったりするのかな。
288名無しさん@お腹いっぱい。:2014/01/31(金) 05:27:36.29 ID:Zrylv4320
追加DLが必要な古い形式を使い続けるのはチトアレだとは思う

Windows ベースのプログラムでヘルプを開くときのエラー:「機能は含まれていません」または「ヘルプはサポートされていません」
https://support.microsoft.com/kb/917607/ja

これみると8.1用もあるけれどダメなの?
289名無しさん@お腹いっぱい。:2014/01/31(金) 09:11:23.82 ID:81GFpszH0
>>288
そう言えばそういうのありましたね。
入れて再起動したけど現象変わらず。

そう言えばXPのDLLを持ってくる方法があったっけ。
ライセンス違反とか言う話だけど。
290名無しさん@お腹いっぱい。:2014/01/31(金) 09:20:53.83 ID:/yIUpJ9P0
>>287
>Windows 8.1 で新しいUWSCのヘルプが開けない。
これは自分も最初ハマったなw

win7、win8、OS標準機能で解凍するとヘルプが読めない場合があるとのこと
なので自分は +Lhaca を使って解凍してるよ

ヘルプが見れない  #n3
http://www.uwsc.info/faq.html#n3
291名無しさん@お腹いっぱい。:2014/01/31(金) 09:38:30.30 ID:81GFpszH0
>>290
おお
まさにそれでした。

警告出てOKしてるからまさかブロックされてるとか思わなかった。

これは新規の人にはネックだよなー
自分は古いバージョンで見れるから困ってはなかったけど。
292名無しさん@お腹いっぱい。:2014/01/31(金) 16:10:24.82 ID:V8964nIs0
ID:07hakmjS0 は、自分の無知未熟を棚に上げて
他人様をアスペ呼ばわりした誤ちについて詫び無しか?
そういう奴は永遠に自分の凡ミスが原因のバグを出し続けて改めず成長しない。
293名無しさん@お腹いっぱい。:2014/01/31(金) 20:32:00.14 ID:clHdQNqo0
>>292
まぁ、良いじゃない。本人恥ずかしくてあれから出てこれないみたいだから…
精進すると良いと思うんだよ。
294名無しさん@お腹いっぱい。:2014/01/31(金) 20:42:23.92 ID:07hakmjS0
>何曜日 = G_TIME_WW  
>print (何曜日)
>金曜なのに俺6が出るんだけど何で?

に対して

>>268
>G_TIME_WW が6だからだろうな


このやり取り見てどう思う?どう見てもアスペだろ
あれ見て268が真面目にレスしてたと思うのならお前もアスペだわ

どうせ、質問レスに対して煽りたいだけの一心でスレに張り付いてるっていう典型的なゴミだろ
ねぇ、お前も本当にあのレス見て>>268が真面目にレスしたと思ったの?答えてみろよw
本人がID変えて自演してんのか?と疑っちゃうくらいお前の言ってる事おかしいわ
295名無しさん@お腹いっぱい。:2014/01/31(金) 20:57:55.24 ID:07hakmjS0
>>292

>何曜日 = G_TIME_WW  
>print (何曜日)
>金曜なのに俺6が出るんだけど何で?

ってのは金曜日の値について質問してる、と通常誰でもわかるだろう書き方をしてあるのに

>>268が言ってるのはつまり
「右辺が6だから左辺が6なんだろw」
って事で、これで真面目にレスしてると思ったお前は>>268以上のアスペかキチガイだろ
296名無しさん@お腹いっぱい。:2014/01/31(金) 21:01:34.46 ID:07hakmjS0
大体さ>>292


I>分の無知未熟を棚に上げて
>他人様をアスペ呼ばわりした誤ちについて詫び無しか?
>そういう奴は永遠に自分の凡ミスが原因のバグを出し続けて改めず成長しない。


どこ目線で語ってんだよw
特大ブーメランやめろよ
これこそお前の事だろ、もうこういう奴本当に情けないわ…
297名無しさん@お腹いっぱい。:2014/01/31(金) 21:56:28.98 ID:Zrylv4320
そういえばフキダシの件で前バージョンで試してみてらという
アドバイスに習って公式HP行ってみたんだけど Ver4.9 までしかないのね
因みに動作の方は残念ながら特に変わりませんでした

あと気になったのが Ver4.9a の更新履歴に
・複数スレッドにてBALLOONを出した時 GETID(GET_BALLOON_WIN)が別スレッドのBALLOONを返すのを修正
ってのがあったんだけど
この修正内容が最初のフキダシはスレッドを跨って再利用する挙動なのかも?
でもフキダシの取り合いは実際問題発生するので対処して欲しいですね
298名無しさん@お腹いっぱい。:2014/01/31(金) 23:40:17.62 ID:gPAFqnQP0
ID:07hakmjS0 のレス一覧には
ごめんどころかありがとうもないね
この間の発達障害の人か
299名無しさん@お腹いっぱい。:2014/01/31(金) 23:42:49.07 ID:V8964nIs0
発達したくても出来ないなら発達「障害」だが
発達する意欲がなく然るべくして発達しないのだから
同情の余地はない。
300名無しさん@お腹いっぱい。:2014/01/31(金) 23:51:25.94 ID:07hakmjS0
お前らってありがとうとか言われたくてスレに常駐してるの?
ここはUWSCの話をするスレだろ?

なんで勝手にスレを私物化して自分ルール作ってんだよw

あー発達障害のゴミかwwwww
301名無しさん@お腹いっぱい。:2014/01/31(金) 23:52:34.53 ID:07hakmjS0
単にツールの話をするだけのスレなのに

なぜか他人に自分ルールを押し付ける自分がどういう人間なのかわかってないんですね〜www

んんん?WWWwwwwwwwwwwww
302名無しさん@お腹いっぱい。:2014/01/31(金) 23:54:51.93 ID:07hakmjS0
なんで書き込んだ瞬間無意味な煽りレスを受けた俺が

礼を言ったり謝ったりすると思ったの?wwww

あー他人と関わりが無いオタクでマニアの人格障害だから仕方ないのかww


んんんん〜〜?WWWWWWwwww


ゴミばっかwwwww
303名無しさん@お腹いっぱい。:2014/01/31(金) 23:57:24.44 ID:07hakmjS0
なんで何も悪い事してない俺が謝るんだよw

でお前ら本当にさ、

>何曜日 = G_TIME_WW  
>print (何曜日)
>金曜なのに俺6が出るんだけど何で?

に対して

>>268
>G_TIME_WW が6だからだろうな


この>>269のレス見てが真面目にレスしてたと思うの?ww
だったら仕方ないわ。アスペの集まりかここww
304名無しさん@お腹いっぱい。:2014/01/31(金) 23:58:58.95 ID:07hakmjS0
>何曜日 = G_TIME_WW  
>print (何曜日)
>金曜なのに俺6が出るんだけど何で?

に対して

>>268
>G_TIME_WW が6だからだろうな



これでアスペだろって指摘した俺を叩くとかあり得ないだろw
頭おかしい奴の集まりかここwww
305名無しさん@お腹いっぱい。:2014/01/31(金) 23:59:44.94 ID:07hakmjS0
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
アスペがアスペレスしてアスペ指摘されたら別のアスペがアスペを庇う図式かwwww
306名無しさん@お腹いっぱい。:2014/02/01(土) 00:01:31.45 ID:5Q2Q8heA0
>>298
どうやら当たりのようだw
307名無しさん@お腹いっぱい。:2014/02/01(土) 00:25:41.44 ID:MmjdV5wD0
恩を仇で返すのは朝鮮人の魅力のひとつ
308名無しさん@お腹いっぱい。:2014/02/01(土) 03:11:00.34 ID:8C/zV6qA0
下記のスクリプトを動かして、
しばらくするとクリックする位置がずれることがあります。
一度ずれると、以降ずれっぱなしです。
スクリプト動作中は一切マウスキーボード操作してません。
while True
BTN( LEFT, CLICK, 500, 100, 0 )
sleep(60)
wend
原因わかる方、いますでしょうか。

クリックする場所はブラウザのフラッシュ内の画面で
最初はヌルヌルなんですが、長時間放置するとカクカクします。
309名無しさん@お腹いっぱい。:2014/02/01(土) 08:20:27.11 ID:0gOamBix0
抽出 ID:07hakmjS0 (16回)

お前にUWSCを使う資格は無い、消えろ
310名無しさん@お腹いっぱい。:2014/02/01(土) 08:39:26.58 ID:MmjdV5wD0
>>308
失礼ですが、ID:07hakmjS0の人ですか?
クリックズレに関しては前スレでいくつか話題があったと記憶してます
311名無しさん@お腹いっぱい。:2014/02/01(土) 10:23:41.84 ID:NZrsfoVqP
超初心者です。質問させてください。無料版のUWSCを使っています
コンボボックスのことなんですがそれに入れる配列の要素数に制限ありますか?

100項目くらい入れたいのですが
DIM hairetu[100]

SLCTBOX(SLCT_CMB,0,"SLCT_CMB",hairetu[])
312名無しさん@お腹いっぱい。:2014/02/01(土) 10:26:55.29 ID:NZrsfoVqP
途中で送信してしまいました
続き
やり方が悪いのか30個くらいまでしか表示されません
なにかいい方法ありますか?
313名無しさん@お腹いっぱい。:2014/02/01(土) 10:44:19.95 ID:eS4G9urg0
>>312
ヘルプに
>SLCT_STR   // 戻り値を項目名で返す (他の種別に付加して使用)
>SLCT_NUM   // 戻り値を位置数で返す (他の種別に付加して使用)
>※ 項目数は最大31まで (SLCT_STR、SLCT_NUM の場合は制限なし)
と書かれてるのでSLCT_STR、SLCT_NUMを付加するといいですよ

SLCTBOX(SLCT_CMB or SLCT_STR,0,"SLCT_CMB",hairetu[])
314名無しさん@お腹いっぱい。:2014/02/01(土) 10:45:23.14 ID:NZrsfoVqP
度々すいません
SLCTBOX(SLCT_LST + SLCT_STR,0,"SLCT_LST",hairetu[])
で解決できました。失礼しました
異様に長くなっていまうのが気になりますが
315名無しさん@お腹いっぱい。:2014/02/01(土) 10:46:20.97 ID:NZrsfoVqP
>>313
どうもありがとうございました
316262:2014/02/02(日) 01:18:41.78 ID:G2b5w4Yh0
せっかくなんで PowerShell (+C#)だけで書けるかやってみようと思ったら
キャプチャが不完全動作するところまでに今日までかかったよ。

C#コード呼び出しとか
Win32API 呼び出しとか
サンプルはたくさんあるんだけど
構造体データを受け取るにはいろいろな型を使い分けないといけなかった。

自分でどうにもならんから PS スレで質問中
317名無しさん@お腹いっぱい。:2014/02/02(日) 02:12:19.24 ID:i95xpOSW0
tempの中のファイル名だけではなくフォルダ名も出力するにはどうしたらいいでしょうか?
この状態だとフォルダ名は表示されないので…

for i=0 to GETDIR("C:\temp","*.dat")-1
  print GETDIR_FILES[i]
next
318名無しさん@お腹いっぱい。:2014/02/02(日) 02:19:29.53 ID:G2b5w4Yh0
print "C:\temp" + "\" + GETDIR_FILES[i]
319名無しさん@お腹いっぱい。:2014/02/02(日) 02:28:58.66 ID:sQfg5thD0
>>317
ヘルプによると
ファイル指定: ワイルドカード(*, ?) によるファイル名指定
         "\" を指定するとディレクトリ名の取得

なので、こっちの(例)を使えば良いのでは?
// D:ドライブのディレクトリ木表示
ディレクトリ("D:", 0)
procedure ディレクトリ(dd, lve)
  lve = lve + 1
  for i=0 to GETDIR(dd,"\")-1
  sps = ""
  for s=2 to lve;  sps = sps + " ";  next   
    print sps + GETDIR_FILES[i]
    ディレクトリ(dd+"\"+GETDIR_FILES[i], lve)
  next
fend
320名無しさん@お腹いっぱい。:2014/02/02(日) 02:36:14.88 ID:G2b5w4Yh0
そっちのフォルダだったか。
これは恥ずかしい。
321名無しさん@お腹いっぱい。:2014/02/02(日) 02:37:52.89 ID:Ty2m85et0
それは指定ディレクトリ内のサブディレクトリを探す方法だじぇ〜

質問の意図そもものが親ディレクトリを追加して表示したいなら >>318 が正しいと思うよ
因みに GETDIR 単体では再帰的に検索す方法は無いので
そういった話なら "\" を使いながら結果の配列を連結していく関数とかが必要になるかな
322名無しさん@お腹いっぱい。:2014/02/02(日) 02:40:57.06 ID:Ty2m85et0
ってちゃんと再帰呼び出ししてるね
おれも恥ずかしいw
323名無しさん@お腹いっぱい。:2014/02/02(日) 02:42:21.84 ID:i95xpOSW0
>>318-319
迅速な対応有難うございます
なかなかうまくいかなかったのでDosCmdで出力させました
因みにこの出力結果をエクセルに一括入力する方法などはありますでしょうか
現在コードは
 
 print DosCmd("dir <#dbl>C:\tempt\*.*<#dbl> /s /b")
324名無しさん@お腹いっぱい。:2014/02/02(日) 03:10:42.76 ID:G2b5w4Yh0
>>323
CSVで保存して読み込ませるか
TAB+改行で作ったテキストを貼り付ける。
DosCmdの結果には改行コードが入ってるからそのまま貼り付けるだけ。

ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&log=ON&cnt=2
ttp://www.officepro.jp/excelvba/cell_select/index3.html
> 指定したワークシートがアクティブでない場合にはエラーとなります。
> その為、ワークシートを指定する場合には先にワークシートをアクティブにしてから「Activate」メソッドを実行して下さい。
325名無しさん@お腹いっぱい。:2014/02/02(日) 03:25:33.62 ID:sQfg5thD0
>>323
最初っからEXCEL VBAのDIR関数を使うのは駄目ですかね?
326名無しさん@お腹いっぱい。:2014/02/02(日) 10:58:45.50 ID:Phb6UovV0
EXCELなんて2000の頃から
EXCEL単体でVBAで完全に全自動操作できるのに…
操作の記録・再生・コード自動生成まで出来るのに…
327名無しさん@お腹いっぱい。:2014/02/02(日) 16:59:44.20 ID:HrXM0WUi0
>>326
他ソフトと連携させるためUWSC
328名無しさん@お腹いっぱい。:2014/02/02(日) 19:50:20.20 ID:+NymUC5T0
せっかくExcel操作の有償版があるんだからUWSCで完結したいよね
ExceVBAで組んどいてUWSCで呼び出せば良い気はするが
329名無しさん@お腹いっぱい。:2014/02/02(日) 20:21:15.89 ID:t6QNS5NN0
EXCELだって幾らでも他ソフトと連携できるし、
あまりにも万能なんでマクロウィルスの問題が発生して
マクロ付スプレッドシート開くときは警告が表示されるなんて
苦肉の策が施されるぐらいなんだよね。

まぁUWSCの低レベル関数やウィンドウ操作関数に相当することを
VBAでやらせようと思ったら最初の1回は確かに面倒だろうね。
画像判定に関しては、手軽さにおいてUWSCは優秀。
(もっとも、操作相手がEXCELなどのCOM操作出来る物であれば全くの不要だが)

逆に、散々繰り返される質問の、文字列操作、日時判定、ファイル操作、VBAは大得意だからねぇ。
どんだけUWSCと格差あるか判ってないでUWSC選んじゃってるプログラミング初心者、多すぎ。

ちなみにVBAからUWSC呼び出すならUWSCって引数をPARAM[]で受け取れるからね。
(まぁ EXCEL VBA から AutoitX3.dll 呼び出したらUWSC要らずだけど)
330名無しさん@お腹いっぱい。:2014/02/02(日) 20:26:25.44 ID:Ty2m85et0
自分の練度と環境のポリシーの範囲で好きなのやればいいのさ
331名無しさん@お腹いっぱい。:2014/02/02(日) 20:56:00.32 ID:i95xpOSW0
>>324-325
ありがとうございました
もう少し勉強します
332名無しさん@お腹いっぱい。:2014/02/03(月) 01:01:58.02 ID:raqv463a0
そういえばUWSCってショートカットの設定をOFFに出来ないのかね
基本使わないので正直暴発されると困るのでOFFにしたい・・・
INI消しても初期値を上書きするんだよなぁ
仕方ないから暴発しなさそうなキーを登録を登録してるが確実とはいえない安心できん
333名無しさん@お腹いっぱい。:2014/02/03(月) 01:35:33.08 ID:8UGpsQvK0
2014/02/03 UWSC Ver4.9c、 Pro版と Free版をリリースしました。
334名無しさん@お腹いっぱい。:2014/02/03(月) 03:14:32.34 ID:raqv463a0
Ver4.9c の更新履歴ではフキダシに触れてなかったけれど少し触っているのかな?
今まではFirefoxのツールチップとの最前面争いに負けていたんだけどこのバージョンだと勝てる
335名無しさん@お腹いっぱい。:2014/02/03(月) 06:11:28.60 ID:QGRfVLzS0
そんなに気になるなら聞いてみれば
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=5202
336名無しさん@お腹いっぱい。:2014/02/03(月) 06:59:34.73 ID:/Q3lq+iOP
>>332
.uwsを関連づけたあとはもう本体を起動することなんて
ほとんどなくて気にしたことなかったなぁ。
337名無しさん@お腹いっぱい。:2014/02/03(月) 14:13:02.38 ID:DbS3gwq50
PowerShell への移植は
32bitで動かさんと WindowFromPoint が使えんと分かってあきらめることにした。

そもそもスクリプトの利点はどんな環境でも動く事なのに
スクリプトエンジンが 64bitだと動かないとかじゃしょうがない。

やっぱり餅は餅屋
買春は慰安婦に限るわ。
338名無しさん@お腹いっぱい。:2014/02/03(月) 17:10:45.38 ID:eFOfANh70
>RESIZE関数にて SAFEARRAYの値が正しく返せないパターンがあるのを修正
まじかよどんなパターンだったんだよ
339名無しさん@お腹いっぱい。:2014/02/05(水) 21:31:26.16 ID:GwCGdSjl0
if GETKEYSTATE(VK_ESC) then exit
id = GETID("EmEditor")
mouseorg(getctlhnd(id, "EmEditorView"), 2)
While True

〜キー操作(省略)〜

Wend

これでEmEditorにキー操作送ってたんだけど、ホットキーで再生/一時停止繰り返してると大元のキーボード入力がバグる(alt,shift押しっぱ状態)
ユーザー切り替えでログオン画面まで戻れば回復するけど、なんでそんなことになってるかもわからん

んで色々試してみたらmouseorgの一行が問題みたいでこれがなけりゃバグらないんだけど、これがないと裏で仕事してくれない
誰かコピペしか出来ない俺を助けて!
340名無しさん@お腹いっぱい。:2014/02/05(水) 21:49:06.37 ID:UFAMHlzg0
固定キー機能が有効になったんじゃねーの
341名無しさん@お腹いっぱい。:2014/02/05(水) 21:55:48.61 ID:4EI8FKuK0
無限ループ中にキー操作をしているにもかかわらず
再生と一時停止をホットキーに頼っているからじゃね?
一般的にユーザ操作は使っていない資源で行ったほうが安全だよ(このケースだとマウス)

それとエディタがアクティブになったら自動的に一時停止した方が良いかもね
裏で仕事させたいならそのほうがトラブル少なくなると思うよ
342名無しさん@お腹いっぱい。:2014/02/05(水) 22:26:32.54 ID:GwCGdSjl0
>>340
固定キー機能はショトカ含めて無効化させてるから違うと思う

>>341
ループに関しては問題無いと思う
mouseorg(getctlhnd(id, "EmEditorView"), 2)を消して試したらループ中でもなんでも症状は現れなかったし

書き方とか順番が悪いんかな
343名無しさん@お腹いっぱい。:2014/02/05(水) 23:22:20.52 ID:GwCGdSjl0
if GETKEYSTATE(VK_ESC) then exitの位置間違ってたけど別に関係なかった
解決してないけど、このEscちゃんと活用して止める時はEsc、開始はショトカで一応やっていくことにした

もっと勉強したがええな アドバイスありがとう
344名無しさん@お腹いっぱい。:2014/02/06(木) 07:09:29.10 ID:5vvG3hpu0
サブルーチンとメインルーチン?で同じ変数を使用出来ないんですか?

メインで変数を指定する
サブに飛ばして数値を入力
って感じがしたいんですが・・・。
345名無しさん@お腹いっぱい。:2014/02/06(木) 07:17:24.54 ID:5vvG3hpu0
すみません。自己解決しました
変数と言うものがあったのですね・・・。
346名無しさん@お腹いっぱい。:2014/02/06(木) 07:39:11.94 ID:5vvG3hpu0
宣言と言うもの でした。
347名無しさん@お腹いっぱい。:2014/02/06(木) 07:58:04.78 ID:5vvG3hpu0
結局出来ませんでした;_;

SLCBOXでa-jを選択

aを選択した場合は
HENSU=aとしてサブルーチンに飛ばしたいです。

しかし、このままではサブルーチンが変数を読み取らず、
PUBLICを使ってみたら、aを選択してもHENSUはjになってしまいました。

どうにか出来る方法はないものでしょうか
昨日から作り始めたもので素人で申し訳ないです
348名無しさん@お腹いっぱい。:2014/02/06(木) 08:03:53.91 ID:X3bMgbm60
丸投げせずにそのコード貼ってみたら?
349名無しさん@お腹いっぱい。:2014/02/06(木) 08:18:12.01 ID:5vvG3hpu0
初めて作ったので説明などなくてすいません。
簡略化するとこんな感じなのですが
select slctbox(slct_btn,0,"選択","あ","い","う","え","お")

case slct_1
public HENSU="あ"
sabu

case slct_2
public HENSU="い"
sabu

case slct_3
public HENSU="う"
sabu

case slct_4
public HENSU="え"
sabu

case slct_5
public HENSU="お"
sabu

selend

procedure sabu
id=exec("notepad")
sendstr(id,HENSU)
fend
これであを選択しても メモ帳にあが貼り付けられるようにしたいです。
350名無しさん@お腹いっぱい。:2014/02/06(木) 08:51:01.47 ID:gHEKJzau0
select slctbox(slct_btn,0,"選択","あ","い","う","え","お")

case slct_1
sabu("あ")

case slct_2
sabu("い")



selend

procedure sabu(HENSU)
id=exec("notepad")
sendstr(id,HENSU)
fend

これでいんじゃない
351名無しさん@お腹いっぱい。:2014/02/06(木) 08:55:52.53 ID:5vvG3hpu0
>>350
素早い返答ありがとうございます!!
知識が足りずまだよく理解出来てませんが望み通りの結果になりそうです!

これで続きが作れます
本当にありがとうございました!
352名無しさん@お腹いっぱい。:2014/02/06(木) 08:56:23.99 ID:jjkRJtsr0
ソースの最初で
public HENSU してselectの中のpublicを外してもいけると思う
353名無しさん@お腹いっぱい。:2014/02/06(木) 09:12:52.63 ID:5vvG3hpu0
出来ました!
様々な方法があるんですね
理屈が全然分からないですが、続きの作成頑張ってみます
皆様ありがとうございます
354名無しさん@お腹いっぱい。:2014/02/06(木) 12:26:03.00 ID:y29iCufH0
まるでUWSCからプログラミング始めちゃった残念な人たちの避難所だなココはw
355名無しさん@お腹いっぱい。:2014/02/06(木) 13:59:00.98 ID:5vvG3hpu0
残念な人で申し訳ないんですが、
アプリの実行中いつでもESCで終了できるようにしたいです。
ALT+F2と同じ動作です。

設定から変更できるのは知っているのですが、マクロに組み込みたいです
if GETKEYSTATE(VK_ESC) then exit
をすべての行に入れ込むくらいの知識しかないので力を貸してください
356名無しさん@お腹いっぱい。:2014/02/06(木) 14:07:06.07 ID:eXbN1NyW0
SETHOTKEY
exitexit
357名無しさん@お腹いっぱい。:2014/02/06(木) 14:14:31.72 ID:jjkRJtsr0
別threadでループさせればいい
詳しくは頑張って調べて
358名無しさん@お腹いっぱい。:2014/02/06(木) 15:48:19.93 ID:5vvG3hpu0
>>356
すいません;;よくわからなかったです><

>>357
こんなのあったんですね!
知識が足りず今ようやく出来ました!

ありがとうございました!
359名無しさん@お腹いっぱい。:2014/02/06(木) 20:58:21.49 ID:y29iCufH0
それいい方法だな、当たり前だったんだろうけど。
仮想マシン上で走らせて放置だったから気にしてなかったは
360名無しさん@お腹いっぱい。:2014/02/06(木) 22:22:21.44 ID:sSnbxpdn0
でも有償版のデバッガがスレッドにちゃんと対応していないから
デバッグが終了したコードでした方がいいかも
361名無しさん@お腹いっぱい。:2014/02/06(木) 22:56:33.79 ID:/qbyPig+0
このスレ読むだけでも同じようなこと言われてるのに
362名無しさん@お腹いっぱい。:2014/02/07(金) 06:09:15.02 ID:orwjDsU70
IESetDataはIEにデータをセットする方法ですよね
これをクロームやfirefoxなどにする場合どういったやり方や関数がありますか?
SENDSTRとかになるんでしょうか?
363名無しさん@お腹いっぱい。:2014/02/07(金) 06:38:27.92 ID:XwiTxRHa0
なります。
理由は、COMがないからです。

同様に、MS標準のHTAもCOMがないのでDOMアクセスできません。
364名無しさん@お腹いっぱい。:2014/02/07(金) 18:33:16.50 ID:Db6e2zWy0
画像認識を使って優先順にクリックしたいのですが、初回起動時は問題なくいずれかの画像をクリックするんですが、2回目以降はelse以下を反映し、また初回起動時と同じ動作を繰り返します。
2の画像を探しなければ以下11・6・7・8・9・1の順に検索し、いずれもなければ10をクリックし、また2の検索に戻るというイメージです。
あちこちサイトを見てはいますが明確な答えがない(気付かない)です
どなたか教えて下さい

以下、作成した物
=====================
While True
sleep(2.5)
if (CHKIMG("2.bmp",0)=true)
btn(left,click,g_IMG_X,g_IMG_Y)
sleep(2.5)
elseif (CHKIMG("11.bmp",0)=true)
btn(left,click,g_IMG_X,g_IMG_Y)
sleep(2.5)
elseif (CHKIMG("6.bmp",0)=true)
btn(left,click,g_IMG_X,g_IMG_Y)
sleep(2.5)
elseif (CHKIMG("7.bmp",0)=true)
btn(left,click,g_IMG_X,g_IMG_Y)
sleep(2.5)
以下優先度順に同配列
else
CHKIMG("10.bmp",0)
btn(left,click,g_IMG_X,g_IMG_Y)
sleep(2.5)
endif
365名無しさん@お腹いっぱい。:2014/02/07(金) 18:56:38.54 ID:MnVNRLI40
dim 順位[7]= 2,11,6,7,8,9,1,10
while true
  for i= 0 to 6
    ifb CHKIMG(順位[i]+".bmp", 0)= true
      btn(left, click, g_IMG_X, g_IMG_Y)
      sleep(2.5)
      continue
    endif
  next
  CHKIMG(順位[7]+".bmp", 0)
  btn(left, click, g_IMG_X, g_IMG_Y)
  sleep(2.5)
wend
366名無しさん@お腹いっぱい。:2014/02/07(金) 19:00:25.30 ID:y11Ep+y40
>>364
答えなんてものは存在しない
人それぞれやり易い方法でやるのがプログラミングってもんだぜ

dim img[] = "2.bmp", "11.bmp", "6.bmp", "7.bmp"
while True
  Sleep(2.5)
  for i=0 to Resize(img)
    if ChkImg(img[i]) then break
  next
  if i > Resize(img) then ChkImg("10.bmp")
  Btn(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  Sleep(2.5)
wend
367名無しさん@お腹いっぱい。:2014/02/07(金) 19:05:43.93 ID:Wk/HdE7F0
ループ用変数をループ外で使うのは好きじゃない
368名無しさん@お腹いっぱい。:2014/02/07(金) 19:34:05.24 ID:Db6e2zWy0
>>365>>366
ありがとうございます。
参考にまた勉強します
369名無しさん@お腹いっぱい。:2014/02/07(金) 19:58:16.70 ID:nzYjMBP40
dim imgNums[] = 2,11,6,7,8,9,1

while true
  for idx=0 to resize(imgNums)
    if clickImage(imgNums[idx]+".bmp") then continue 2
  next
  clickImage("10.bmp")
wend

//clickImageぐらい自作しようよ
function clickImage(lBmpName)
  result=false
  sleep(2.5)
  if !chkimg(lBmpName) then exit
  btn(left, click, G_IMG_X, G_IMG_Y)
  result=true
fend
370名無しさん@お腹いっぱい。:2014/02/07(金) 21:37:23.65 ID:Db6e2zWy0
教えてもらって今まで格闘してました
どうやら初回画像認識→クリック→画面自動更新となると2回目以降に画像が認識されないみたいです。
画像に問題があるかと思い、個別にチェックしたのですが初回起動時に限っては全て認識出来ていました。
しかしながら一番優先度が低い画像だけはしっかり何時でも認識されるのはなぜ?
結果いまだ完成せずorz
371名無しさん@お腹いっぱい。:2014/02/07(金) 21:49:04.81 ID:WdBr+Ff80
break入れてみたら?
372名無しさん@お腹いっぱい。:2014/02/07(金) 23:33:15.40 ID:yo5yAacZ0
更新後の画面の画像は本当に同じものなのかい?
373名無しさん@お腹いっぱい。:2014/02/07(金) 23:35:12.04 ID:nzYjMBP40
>>370
画像のチェックっていっても初回と2回目の画像が完全一致するかどうか確認した?
小さい画像なら800%ぐらいに拡大すれば見比べできるけど、そうじゃなきゃ
初回と2回目の画像を別の画像であるものとして保存してChkImgのテストするしかないね。
374名無しさん@お腹いっぱい。:2014/02/07(金) 23:43:21.41 ID:RL/aQb9g0
マウスポインタが乗って、別の画像(影付き等)になってたりとかよくあるよね
昔のわたすの失敗です
375名無しさん@お腹いっぱい。:2014/02/08(土) 02:56:25.27 ID:2BxDkq3G0
>>370です
解決しました…
文章自体は程度は低いものの間違えてはいませんでした。
ご指摘頂いた通り、画像が視覚的には分からないのですが変わっているようでした。
パターンが数種類用意されているのか、Lvが上がると変わるようでその都度画像保存作業を強いられる感じです
これは自分にはちょっと厳しいです

いい機会なので別の手も勉強してみます。
ご回答下さった皆様ありがとうございました
376名無しさん@お腹いっぱい。:2014/02/08(土) 04:59:57.32 ID:B01RoXxt0
現在ストップウォッチを作っているのですがコンマ00調度でエンターを押すマクロとかってどう作ればいいですかね?
377名無しさん@お腹いっぱい。:2014/02/08(土) 05:08:57.92 ID:QGLZcda70
WindowsはリアルタイムOSじゃないので厳密な精度は期待してはいけないのです
378名無しさん@お腹いっぱい。:2014/02/08(土) 05:51:19.48 ID:tU1NDN0c0
>>376
実行優先度を上げればこれでいけるんじゃね?
while GetTime() <= 目標時間
 Sleep(0.001)
wend

GetTime()の戻り値は秒なんで、開始をコンマ000に合わせないと無理だけど。


start コマンドで起動して

実行優先度を上げ
/HIGH

実行されるCPUコアを物理限定にしたりすることでさらに精度は上がるかも。
/AFFINITY
ttp://anago.2ch.net/test/read.cgi/software/1278083626/876-877
379名無しさん@お腹いっぱい。:2014/02/08(土) 09:04:01.73 ID:EhEy/4dt0
>>376
素直に作るとこんな感じかな

while true
 gettime()
 ifb G_TIME_ZZ=0
  //kbd(VK_RETURN)
  break
 endif
wend

実際には他のプログラム等々で負荷が掛ってたりしてG_TIME_ZZ=0が取得できないことが多々あるから
ifb G_TIME_ZZ>=999 or G_TIME_ZZ<=3あたりで幅を持たせた方がいい場合があるかも
あとbreakでループを抜けない場合、処理速度の速いPCだとG_TIME_ZZ=0が数回ヒットする
可能性があるからその場合の処理も必要かも
380名無しさん@お腹いっぱい。:2014/02/08(土) 09:17:43.49 ID:EhEy/4dt0
サンプル作ってみたけど、意外と0丁度でいける感じかな
Core 2 Duoマシンで裏で動画流してたりすると0.003くらい進む感じ

gettime()
fukidasi(timer(input("エンターを押したい「分」を入力して下さい",G_TIME_NN+1)),0,0,,,,,$00FF00)
sleep(5)
exitexit

function timer(minute)
 result=""
 while true
  gettime()
  fukidasi(G_TIME_NN+"."+G_TIME_SS+"."+G_TIME_ZZ,0,0)
   ifb G_TIME_NN=minute and 0<=G_TIME_ZZ
    //kbd(VK_RETURN) //コメントアウト
    result=G_TIME_NN+"分"+G_TIME_SS+"秒"+G_TIME_ZZ+"で押しました"
    break
   endif
  sleep(0.001)
 wend
fend
381名無しさん@お腹いっぱい。:2014/02/08(土) 10:49:20.92 ID:B01RoXxt0
>>379
あれですな>>379は理解できるけど>>380は僕の中だと高度でところどころなにしてるかわかりませんな
少し勉強しますぜ
382名無しさん@お腹いっぱい。:2014/02/08(土) 13:31:42.78 ID:u0AXUkyQ0
public gStartSecAndMSec; public gNowSecAndMSec
public gFlgTerminateThreadFukidasi=false
public gFx=100; public gFy=100

fukidasi("[ENTER]で計測開始", gFx, gFy); waitEnterKey(); fukidasi()
gStartSecAndMSec=getNowSecAndMSec()
thread threadFukidasiShowNowSecAndMSec(); waitEnterKey(); gFlgTerminateThreadFukidasi=true
msgbox(getPastSecAndMSec(gStartSecAndMSec)); exitexit

procedure threadFukidasiShowNowSecAndMSec()
while !gFlgTerminateThreadFukidasi
gNowSecAndMSec=getPastSecAndMSec(gStartSecAndMSec)
fukidasi(gNowSecAndMSec, gFx, gFy); sleep(0.2)
wend
fend
procedure waitEnterKey()
getkeystate(VK_RETURN)
while !getkeystate(VK_RETURN)
sleep(0.001)
wend
fend

function getNowSecAndMSec()
lStartSec=gettime()
result = round(lStartSec + G_TIME_ZZ / 1000, -3)
fend
function getPastSecAndMSec(lStartSecAndMSec)
lStartSec = int(lStartSecAndMSec)
lStartMSec = lStartSecAndMSec - lStartSec
lNow = gettime()
result = round(lNow - lStartSec + (G_TIME_ZZ / 1000) - lStartMSec, -3)
fend
383名無しさん@お腹いっぱい。:2014/02/08(土) 13:59:53.20 ID:u0AXUkyQ0
改良

public gStartMSec
public gFlgTerminateThreadFukidasi=false
public gFx=100; public gFy=100

fukidasi("[ENTER]で計測開始", gFx, gFy); waitEnterKey(); fukidasi()
gStartMSec=getNowMSec()
thread threadFukidasiShowNowMSec(); waitEnterKey(); gFlgTerminateThreadFukidasi=true
msgbox(getNowMSec()-gStartMSec); exitexit

procedure threadFukidasiShowNowMSec()
  while !gFlgTerminateThreadFukidasi
    fukidasi(format((getNowMSec()-gStartMSec)/1000, 7, 3), gFx, gFy); sleep(0.2)
  wend
fend
procedure waitEnterKey()
  getkeystate(VK_RETURN)
  while !getkeystate(VK_RETURN)
    sleep(0.001)
  wend
fend

function getNowMSec()
  lStartSec = gettime()
  result = lStartSec * 1000 + G_TIME_ZZ
fend
384名無しさん@お腹いっぱい。:2014/02/08(土) 14:28:09.95 ID:HrERNxWy0
汚い変数名
385名無しさん@お腹いっぱい。:2014/02/08(土) 15:10:37.07 ID:u0AXUkyQ0
>>384
変数名の添削頼むわw
Flgは直したほうがいいんだろうけどIsは違うからDoにするの?
386名無しさん@お腹いっぱい。:2014/02/08(土) 15:40:16.52 ID:QGLZcda70
計測後からキー押下までのタイムラグをどう評価してるんだ?
00になってから押下を読んでたらタイミング的にズレてるぞ
387名無しさん@お腹いっぱい。:2014/02/08(土) 16:11:10.54 ID:u0AXUkyQ0
>>386
>>383のこと?msgbox表示時にgetNowMSec()が呼ばれた時点で実際の計測が行われるね。
キー押下はsleep最小単位時間で監視してるから、CPU専有しない限りのベストエフォートな反応だと思うよ。
msgboxに表示するミリ秒を単位変換し忘れてるけど

fukidasiの現在秒表示は別スレッドで行っておりほとんど影響を与えない。
表示更新を人間が認識できる以下のインターバルで行っても無意味なので適当な間隔で表示。
0.15秒のほうが良かったな。
組み込みなんかだと表示処理は計時処理に比べ膨大な処理時間を喰うのでこんな感じ。

あ、gettime()後にG_TIME_ZZの値が更新されて繰り上がって0になるかもって?
G_TIME系の値はgettime()実行時点の値で凍結するでしょ?
じゃないと>>268みたいなことは起こらないw
388名無しさん@お腹いっぱい。:2014/02/08(土) 16:24:36.78 ID:bYDcVwMl0
すいません、質問させて下さい!
コンボボックスの現在選択されているものによって動作を変えたいです
IFBを使うのはわかったんですが、コンボボックスの内容をどうやって取得すればよいのでしょうか・・・。
389名無しさん@お腹いっぱい。:2014/02/08(土) 17:37:18.04 ID:5yip1DTh0
>>385
せっかくUWSCなんだから変数名はオール漢字でで行けよ、素人かよ
390名無しさん@お腹いっぱい。:2014/02/08(土) 17:37:30.40 ID:ppoOvbDR0
冗長すぎる名前は読みにくい
391名無しさん@お腹いっぱい。:2014/02/08(土) 17:42:33.23 ID:5yip1DTh0
procedure threadFukidasiShowNowSecAndMSec()
procedure 板吹見今秒和秒()

こっちのほうがいいだろ、見た目もカッコいいし意味も分かり易い
392名無しさん@お腹いっぱい。:2014/02/08(土) 17:57:18.42 ID:u0AXUkyQ0
これは流行る
393名無しさん@お腹いっぱい。:2014/02/08(土) 18:04:15.43 ID:QGLZcda70
>>387
別にサンプルを貶める気は無いよ
要求がコンマ00秒「位」にキーを押下で良いのであれば正直どのサンプルでも概ねおkだしね
実際問題としての質問者の実際の意図もコンマ00秒「位」に押下なんだろうし
ただOSの仕組み上精度は保証されないよって質問者に理解して欲しいだけさ
394名無しさん@お腹いっぱい。:2014/02/08(土) 18:20:43.99 ID:u0AXUkyQ0
public 開始毛秒大域
public 線程吹出終了指令大域=false
public 吹出横位置大域=100; public 吹出縦位置大域=100

fukidasi("[回車鍵]開始測量", 吹出横位置大域, 吹出縦位置大域); 回車鍵入力待(); fukidasi()
開始毛秒大域=現在毛秒取得()
thread 線程吹出現在毛秒表示(); 回車鍵入力待(); 線程吹出終了指令大域=true
msgbox(秒書式取得(現在毛秒取得()-開始毛秒大域)); exitexit

procedure 線程吹出現在毛秒表示()
  while !線程吹出終了指令大域
    fukidasi(format((現在毛秒取得()-開始毛秒大域)/1000, 7, 3), 吹出横位置大域, 吹出縦位置大域); sleep(0.15)
  wend
fend
procedure 回車鍵入力待()
  getkeystate(VK_RETURN)
  while !getkeystate(VK_RETURN)
    sleep(0.001)
  wend
fend
function 現在毛秒取得()
  lStartSec = gettime()
  result = lStartSec * 1000 + G_TIME_ZZ
fend
function 秒書式取得(毛秒局所)
result=format((毛秒局所)/1000, 7, 3)
fend
395名無しさん@お腹いっぱい。:2014/02/08(土) 18:22:21.00 ID:tU1NDN0c0
>>378 は条件ミスってるけどね

while GetTime() < 目標時間
 Sleep(0.001)
wend
// GetTime() = 目標時間 となったタイミングでここに来る。



目標時間は時刻か時間差
str = "2014/02/08 18:18:00"
目標時間 = GetTime(0, str)

目標時間 = GetTime(1 / (24*60*60) ) // 1秒後
396名無しさん@お腹いっぱい。:2014/02/08(土) 18:24:45.12 ID:tU1NDN0c0
>>388
ヘルプ キーワード GETITEM ITM_LIST    // リストボックス、コンボボックス

例)
// リストボックスに在る物を全て表示する
id = GetID("Form1")
for i = 0 to GetItem(id, ITM_LIST, 1)-1
  print ALL_ITEM_LIST[i]
next
397名無しさん@お腹いっぱい。:2014/02/08(土) 18:26:41.62 ID:u0AXUkyQ0
>>393
タダのストップウォッチかと思ってたはwww

>>376
質問者の言うストップウォッチってもしかして、
プログラムがカウントダウンしていって、
コンマ00ちょうどで他のアプリに対してエンターキーを送信するのかw
そりゃタイマーでしょ…orz
398名無しさん@お腹いっぱい。:2014/02/08(土) 19:10:26.45 ID:EhEy/4dt0
>>381
>>395さんのコードを参考にシンプルな物ができましたよ

str = "2014/02/08 19:15:00" //文字列で日付時間を指定する("YYYYMMDD" or "YYYY/MM/DD" or "YYYY-MM-DD" or "YYYYMMDDHHNNSS" or "YYYY/MM/DD HH:NN:SS")の形式で指定可
stopTime=gettime(0,str)

timer(stopTime)

procedure timer(stopTime)
 while !(gettime()>=stopTime)
  fukidasi(G_TIME_HH2+"時"+G_TIME_NN2+"分"+G_TIME_SS2+"秒"+G_TIME_ZZ2,0,0) //デバッグ用
  sleep(0.001)
  wend
 //kbd(VK_RETURN) //コメントアウト
 fukidasi(G_TIME_HH2+"時"+G_TIME_NN2+"分"+G_TIME_SS2+"秒"+G_TIME_ZZ2,0,0,,,,,$00FF00);sleep(5) //デバッグ用
fend

ただ、>>393さんの言う通り本当のピッタリは難しいので、目標くらいに思って下さい
399名無しさん@お腹いっぱい。:2014/02/08(土) 20:35:59.26 ID:cQJpD73U0
艦これ着任用か!!
400名無しさん@お腹いっぱい。:2014/02/08(土) 20:42:02.08 ID:tU1NDN0c0
そういうシステムなんか。

斧アップローダーもきついときは0.01秒くらいで合わせないとダウンロード出来ないから
作ろうと思ったことがあったけど
作ろうと思ったときには欲しいファイルがなくなっていたと言う。
401名無しさん@お腹いっぱい。:2014/02/08(土) 22:13:07.34 ID:5yip1DTh0
メモ帳のデータ処理させてるんだけど処理が遅い。
使った処理は下記のものだけで、1行ずつposで文字の一致を調べてから、
ifbで条件一致を調べて単純計算するだけで重複ループなんかも無いんだけどすごく時間がかかる
FORNEXT_FOPEN_FCLOSE_,IFBENDIF_POS_FGET

経験上とかでもいいんだけど、こういう処理をすると遅くなるとかってある?
402名無しさん@お腹いっぱい。:2014/02/08(土) 22:39:57.73 ID:fynk/bkg0
すべてのデータを読み込んでいるとか?
403名無しさん@お腹いっぱい。:2014/02/09(日) 12:44:30.02 ID:2uFbHtot0
>>401
コード晒せばいいじゃん漢字で
404名無しさん@お腹いっぱい。:2014/02/09(日) 14:09:04.42 ID:CKZfymT90
>>401
> FOPEN_FCLOSE

メモ帳?テキストファイルって事か?

> 1行ずつposで文字の一致を調べてから、

UWSCはそもそも遅いんで
丸ごと読み込んで正規表現検索ツールを使えばいいと思うよ。
405名無しさん@お腹いっぱい。:2014/02/09(日) 14:09:17.80 ID:XLmreGCW0
>>401
遅くはならないよ
406名無しさん@お腹いっぱい。:2014/02/09(日) 14:35:25.15 ID:CKZfymT90
ttp://mail.goo.ne.jp/index.html
無料版は今年度いっぱいで終了。あと一月半しかない。

登録スクリプト作っていっぱい登録してたのに・・・
407名無しさん@お腹いっぱい。:2014/02/09(日) 18:31:59.79 ID:jby0PGX80
点滅する画像認識する方法ってありますか?
CHKIMGで一番鮮明に表示されたであろうSS撮って保存したけどやっぱ反応しない。
出来ない物なんですか?
408名無しさん@お腹いっぱい。:2014/02/09(日) 18:43:00.89 ID:NQaBdyBr0
点滅でも変わらない部分お画像を探す
点滅のパターンの画像を用意する
点滅するとき、またはその前などに表示される画像などを使う
bodyなどのソースを読み込むようにしてファイル名で判別する
他にもあると思うけど初心者でもスクリプト組めるものならこんなかんじかな
409名無しさん@お腹いっぱい。:2014/02/09(日) 21:33:34.57 ID:jby0PGX80
repeat untilにsleep(0.1)いれて画像判別には成功したけど次に繋がらないw
難しいな
410名無しさん@お腹いっぱい。:2014/02/09(日) 23:56:05.05 ID:rcm9LWXa0
>>398
これコンマ000で実行できてなかなか良いな
411名無しさん@お腹いっぱい。:2014/02/10(月) 18:21:42.16 ID:JKQ53Dj70
UWSCを使い始めたのですが、良くわからないので教えてください。
UWSC秒(445371316)などをGETTIME()で取得し、変数に代入して持たせています。
変数が持っているUWSC秒を
G_TIME_MM2 + "/" + G_TIME_DD2 + "_" + G_TIME_HH2 + "時" + G_TIME_NN2 + "分" + G_TIME_SS2+ "秒"
のようにGETTIMEを使い変換する方法はありますでしょうか?
また、無いのであれば、UWSC秒からの日時に変換する方法を教えてください。
412名無しさん@お腹いっぱい。:2014/02/10(月) 18:33:38.08 ID:MbpH2IBB0
FUNCTION getDateTimeStrByGettimeSeconds(lGettimeSeconds)
  //GETTIME戻値仕様のシリアル値から YYYY/MM/DD HH:NN:SS の書式の日時を返す。
  GETTIME(lGettimeSeconds/60/60/24, "2000/01/01 00:00:00")
  //  YYYY/MM/DD HH:NN:SS
  RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
FEND

変数名汚くてごめんね
俺ライブラリからの出品です
もっとさっぱりした方法あったら教えてね
413名無しさん@お腹いっぱい。:2014/02/10(月) 19:01:34.17 ID:JKQ53Dj70
>>412
自作関数が作れるのですね。
書いていただいたソースで動作確認できました。
ありがとうございます。
414名無しさん@お腹いっぱい。:2014/02/11(火) 22:16:22.96 ID:Iz0/Notx0
予めtxtに保存しておいたproxyを一行ずつIEの接続設定に設定googleに接続
接続成功したらtxtの二行目をIEの接続設定にセットしてgoogleに接続っていうマクロなんだけど良い書き方無いですかね

txtの中身を配列を使いproxy[i]に格納し

DOSCMD("reg add <#DBL>HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings<#DBL> /v ProxyServer /t REG_SZ /d proxy[i] /f")

こうやって書いたんですけどIEのアドレス部分がproxy[i]になってしまいます
415名無しさん@お腹いっぱい。:2014/02/11(火) 22:26:44.94 ID:j58Fa5Pe0
””で囲んでる範囲だからだろ
416名無しさん@お腹いっぱい。:2014/02/11(火) 22:30:00.01 ID:hSdSD4Cm0
言えてる。文字列として書いて時点でテクニック以前の問題。構文からやり直し。
417名無しさん@お腹いっぱい。:2014/02/11(火) 22:43:13.65 ID:ANc/HMus0
proxyはよくわからんけど
単純に文字列操作の話やったらこうやね
DOSCMD("reg add <#DBL>HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings<#DBL> /v ProxyServer /t REG_SZ /d " + proxy[i] + " /f")
418名無しさん@お腹いっぱい。:2014/02/11(火) 23:54:29.97 ID:Iz0/Notx0
>>414-417
成功しましたありがとうございました
419名無しさん@お腹いっぱい。:2014/02/12(水) 01:00:43.05 ID:SbscazOE0
色々ぐぐッてみてもわからなかったので質問なのですが
UWSCで今開いている1つのテキストファイルから
今開いている1つのエクセルファイルの決まったセル番地にコピーして結合したいという内容でして
テキストファイルの内容は
1月31日
2月28日
と2行だけの内容で1月31日をエクセルのA1に2月28日をエクセルのA2にコピーして
A1とA2を結合できるような便利なものはないか教えて頂けないでしょうか
420名無しさん@お腹いっぱい。:2014/02/12(水) 02:27:35.81 ID:XsomEbsq0
>>419
ぐぐってないだろ
もしぐぐって分からないなら諦めろ
だいたい分からない部分を挙げずに丸投げとか
421名無しさん@お腹いっぱい。:2014/02/12(水) 04:27:41.35 ID:1b7uxXJx0
そのまんまズバリのネタなんて無いから
やりたいことを分解していって個別に勉強していくといいよ

調べるポイント
・FOPEN を使ったファイルの開き方
・FGET の使い方(取得行数も少ないから F_ALLTEXT で改行込みで一度に全て取得すると良いと思う)
・SPLIT(fileText, "<#CR>") で行毎に分割して配列に入れて配列の文字でエクセル操作を行う

1〜2は記録では出ない命令だけどヘルプ+ネットで頑張れ
どうしても難しいなら
手動でメモ帳でも開いてソレを起点に操作を記録して対応するとか
先ずは出来る範囲でやりくりしてみるといいですよ
422名無しさん@お腹いっぱい。:2014/02/12(水) 12:33:56.29 ID:TmnGEl8F0
>>419
コピーとペーストの違いもわからないって
失礼ですが前に発狂した人じゃないよね
423名無しさん@お腹いっぱい。:2014/02/12(水) 22:40:28.67 ID:SbscazOE0
>>420
ぐぐってたのですが調べ方が足りなかったです

>>421
調べるポイントを教えて頂きありがとうございます
教えて頂いた関数を元にぐぐって調べてみます

>>422
2歴は長いですが、ここに書き込んだのは初めてです
424名無しさん@お腹いっぱい。:2014/02/12(水) 23:14:46.39 ID:TmnGEl8F0
A1とA2のセルをmergeCellsしたらA2の内容が失われてA1だけが残るんだが?
やりたいことが正確な言葉で表現できない内は検索しても当然ヒットしないし、手段に誤解や方針間違いが多分に含まれてるだろうな。
EXCELの場合はまずUWSCの前に、EXCELのマクロの記録でやりたいことをVBA化したほうが早いぞ。VBAで出来る事を確認したらUWSCにそのオブジェクト操作を移植する
これは俺が常用してるマクロで、セルを複数選択した状態で実行すると、選択範囲の複数セルをテキストも含めてマージする。
Sub MergeCellsWithText()
  Dim areasS As Range; Dim rngS As Range; Set rngS = Selection
  If rngS Is Nothing Then Exit Sub
  If rngS.Areas.Count > 1 Then
    For Each areasS In rngS.Areas
      Call MergeCellsWithTextToRange(areasS)
    Next
  Else
    Call MergeCellsWithTextToRange(rngS)
  End If
End Sub
Private Sub MergeCellsWithTextToRange(rng As Range, Optional strColumnSplitter As String = " ", Optional strRowSplitter As String = vbCrLf)
  Dim strMergedText As String; Dim c As Integer; Dim r As Integer
  For r = 1 To rng.Rows.Count
    If r > 1 Then
      strMergedText = strMergedText & strRowSplitter
    End If
    For c = 1 To rng.Columns.Count
      If c > 1 Then
        strMergedText = strMergedText & strColumnSplitter
      End If
      strMergedText = strMergedText & Trim(rng.Cells(r, c))
    Next
  Next
  rng.ClearContents
  rng.Merge
  rng.Cells(1, 1) = strMergedText
End Sub '行数制限に収めるため便宜上 ; を使ったがVBAではエラー、他一部例外処理も削った
425名無しさん@お腹いっぱい。:2014/02/12(水) 23:42:23.04 ID:SbscazOE0
>>424
ソースまで詳しく教えて頂きありがとうございます
VBAからUWSCにそのオブジェクト操作を移植するというのは
試みたことないのでさっそくぐぐって調べてみます
426名無しさん@お腹いっぱい。:2014/02/13(木) 00:16:46.10 ID:TLQxSd6W0
メモ:
本家より

ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&start=90&log=ON&cnt=13
DATE:2008/3/20(Thu) 03:23
AutoIt
RocketMouse
AutoHotKey
WindowController
Windows Script Host
入力フォーム付キーボード・マクロ KMmacroP
ゴーストリプレイ
PowerShell
Selenium
ScriptBrowserK
KiXtart, KiXforms
Triple-9 for Windows
Automation Anywhere

窓使いの憂鬱Portal

Ruby w/win32ole, ActiveRuby
Rubist Magazine から
427名無しさん@お腹いっぱい。:2014/02/15(土) 01:56:21.36 ID:fNw4lIqa0
web記録のIEみたいに、ツールバーもお気に入りも表示されない「素のIE」をcreateすることって出来ませんか?
428名無しさん@お腹いっぱい。:2014/02/15(土) 14:42:45.66 ID:4woto4hv0
>>427
素の定義にもよるけれど何も表示されないブラウザが欲しいなら
適当なHTMLを作成して拡張子をHTAにして実行してみたら?
HTAだってリンクを踏めば当然ブラウジング出来るわけだし
429名無しさん@お腹いっぱい。:2014/02/15(土) 15:57:11.19 ID:Z0ioAhUc0
HTA は COM 操作できないよ。

Admin Script Editor (ASE) ってのが PowerShell 用の Native Windows Form をポトペタで作れるんだけど
それに COM Browser があるんで便利。
ASE には .net 2.0〜3.5 のどれかが必要。

Admin Script Editor (ASE)
ttp://www.itninja.com/community/admin-script-editor


Internet Explorer 8 でアドレスバー、ツールバー等を出さない方法
ttp://ap.atmarkit.co.jp/bbs/core/vblab/22516?page=1
> IE6や7であれば問題ないのですが、IE8から仕様が変わっており、
430名無しさん@お腹いっぱい。:2014/02/16(日) 00:45:30.96 ID:tUODXegv0
有料版の
>HTMLを利用した画面関数が使えます。
これって具体的にどんなことができるんですか?
431名無しさん@お腹いっぱい。:2014/02/20(木) 11:34:04.86 ID:y5C+EyS60
1台のPCでUWSC作成して、複数台で共有する事は可能?
PC毎にUWSCインスト、入力は台数的に無理。
vectorフリーソフトダウンロードみたいに共有の仕方があれば教えて下され
432名無しさん@お腹いっぱい。:2014/02/20(木) 12:11:15.15 ID:9K5AeBkx0
有料版のライセンスのことなら ttp://www.uwsc.info/download.html
・1ライセンス:1人の使用者、もしくは1台のコンピュータ(クライアントPC)のどちらかといたします

作成というのが特定のスクリプトのことを指すならフリーのUWSCを使えばよいのでは?
もしくはPROでEXE化して複数台で使用
433名無しさん@お腹いっぱい。:2014/02/20(木) 19:02:16.61 ID:eOuvisOw0
つか実行するのはフリー版で
開発するのはデバッグ機能のあるプロ版でいいんじゃ?
フォーム画面もEXCEL操作関数も使わなくったっていいじゃない。
フォームはSLCTBOXで十分だしEXCELはVBAで十分だからね☆
434名無しさん@お腹いっぱい。:2014/02/21(金) 12:23:34.55 ID:1mvEXHCF0
>>427
ie=createOLEObj("InternetExplorer.Application")
ie.toolBar=false
ie.visible=true
ie.navigate("http://www.yahoo.co.jp/")
repeat;sleep(0.2);until (! ie.busy) and (ie.readyState=4)

ちなみに「素のIE」と言うのがアドオン無しの事なら
IE起動時に-extoffオプションを付けると素のIEで起動できるよ(Flashも使えない)

>>430
HTMLを利用してフォーム画面が生成出来る
具体的に言うとINPUT、SLCTBOXの高度な事が出来る
ヘルプの例を実際に試してみるといいと思うよ
435名無しさん@お腹いっぱい。:2014/02/21(金) 12:44:07.48 ID:uxrhnscc0
グラフィックドライバ入れ直したら色設定が変わったらしく画像認識してくれなくなったオワタww折角初めて頑張って作ったマクロだったのに一日で終わってしまうとは死にたい
436名無しさん@お腹いっぱい。:2014/02/21(金) 15:10:53.19 ID:1mYtSkjg0
画像全部撮り直しになるんだよな。

変更前と全く同じ設定にすることは可能なんだろうが判りづらい。
アンチエイリアシング機能の結果が異なったり。
最新のは濃淡だけじゃなくて色も変えて滑らかにするらしいからね。
前項前と変更後の画像を800倍とかで見比べてみると判る。

俺はそれを避けるため仮想環境でやってるけど逃げではあるな。
437名無しさん@お腹いっぱい。:2014/02/21(金) 19:44:32.28 ID:RkyUiBb20
リアルタイムに欲しい画像を取得してそれで判定すれば良いんじゃないか…
438名無しさん@お腹いっぱい。:2014/02/21(金) 21:25:46.48 ID:rOKfYXqX0
欲しい画像がどこに表示されているか判断する材料があるなら
そもそも画像認識なんて使わない罠
439名無しさん@お腹いっぱい。:2014/02/22(土) 06:29:29.79 ID:NFGOD6gk0
馬鹿だな
画像取り込みメニュー作るんだよ

その画面来たら「○○の画像」のメニューボタン押したら
必要に応じてメニュー消して、予め決めといた位置、サイズの画像をキャプチャする
440名無しさん@お腹いっぱい。:2014/02/22(土) 19:04:23.52 ID:LMIqt5T3P
そんなことしてるうちに画面遷移しない環境が考えにくいんだけど
その画面が来たら自動的にキャプるんじゃだめなのw
441名無しさん@お腹いっぱい。:2014/02/22(土) 20:28:27.47 ID:G67b/n/l0
その画面が来たことをどうやって知るの?
そんなのがあれば画面認識処理が要らねーんだけど?
442名無しさん@お腹いっぱい。:2014/02/22(土) 20:31:31.68 ID:reVDPeUW0
>>441
知るすべは色々あるだろ
無知の恥さらし乙
443名無しさん@お腹いっぱい。:2014/02/22(土) 20:48:51.20 ID:Ax/Ll58M0
全自動スクリプトの実行中で知る術があるなら画像認識する意味ないだろって話と
半自動スクリプトの実行中にユーザ操作で情報保管しようぜって話なんだから
すれ違って当然なんだけれど
どいつもこいつも主語が足りとらん
444名無しさん@お腹いっぱい。:2014/02/22(土) 21:22:15.98 ID:Jqy0IK5v0
てか、画像の取り直しが面倒>画像がどこで表示されるかは何となく分かってるじゃないのかなって。
だとすれば自動的に画像取得するのは難しくないんじゃないかな。
445名無しさん@お腹いっぱい。:2014/02/22(土) 22:04:07.10 ID:1uUyJ4FH0
>>444
どの座標で画像が表示されるか判っていれば、
その座標を直接クリックすればいいから画像判定が要らないw
大体の座標で、正しいかどうかわからない画像を撮って、
それを人間の目で判断して
手動で「ここからここまでを判定画像とする」と指定し直す、
これ撮り直しといふ
446名無しさん@お腹いっぱい。:2014/02/22(土) 22:23:29.31 ID:wO82R2LU0
目的による
447名無しさん@お腹いっぱい。:2014/02/23(日) 03:28:55.81 ID:dNhQd0jM0
@大本のサイトにいくつかのリンクが有り自動で訪れたことのないリンク先に飛ぶ
A新しいタブでリンクを開いたら新しいタブを閉じ@のサイトに戻る
B@のサイトでF5
CCを行うとリンクの順番がごっちゃになる
D@に戻る

こういったサイトが有るとき一度踏んだリンクを踏まず踏んでないリンクだけクリックする方法などはありますでしょうか
色々工夫したのですがCで順番がごちゃごちゃになってしまうので
448名無しさん@お腹いっぱい。:2014/02/23(日) 05:17:10.80 ID:jExf0XDs0
似たケースの時に自分はリンクの履歴を自分でINIに保管する方法で対処したよ
起動中はハッシュテーブルに格納すれば既読チェックもシンプルだし楽だよ
449名無しさん@お腹いっぱい。:2014/02/23(日) 12:02:25.87 ID:Srk7LgM6P
なるほどwその発想が無かったんで>>439はCHKIMGで感知して
自分の手でキャプチャボタンを押すのかと思ってたw

自分の手でキャプチャボタンを押すのならUWSCじゃなく
WinShotとか、キャプチャ用のフリーソフトの方が
機能も使い勝手も優れてると思うよ。
450名無しさん@お腹いっぱい。:2014/02/24(月) 10:44:07.26 ID:Mij05OCX0
新しくPCを買ってWindows8になったんですが、きちんと動作してくれなくなりました。
原因と対処の仕方知ってる人いませんか?
451名無しさん@お腹いっぱい。:2014/02/24(月) 11:53:30.18 ID:HvfeOvxP0
そんな情報しかないんじゃ
前のPCに戻せとしかw
452名無しさん@お腹いっぱい。:2014/02/24(月) 18:29:15.42 ID:Pc1n2O4y0
今日ちょっと嵌ったポイントをメモ代わりに貼っておきます〜
BTN関数でホイールスクロールさせると同期してないので注意する事
453名無しさん@お腹いっぱい。:2014/02/24(月) 18:34:45.52 ID:DIU/UCkY0
あのー、長い質問になるんですけど
作業中など、定期的に別ウィンドウをポチポチとクリックし
終わったら再び元のウィンドウをアクティブにするというのを組んだのだけど
notepad++とゆうテキストエディタを弄ってる途中だと、マクロ実行後にエディタのメニューが
グレーアウトしてしまいます。(ブラウザや、フリーゲームなどだと正常動作。)
グレーアウトしたメニューも一応クリックすれば動くなど、そんなに支障ないのだけど
見た目的に直したく思うのです。何が原因なのでしょう。
454名無しさん@お腹いっぱい。:2014/02/24(月) 21:44:14.25 ID:DIU/UCkY0
すいません、こまかいことにこだわるのやめました。
アクティブウィンドウを切り替えるのじゃなくて
アクティブにしたいウィンドウの角をクリックする設定にして解決しました。
スレ汚し失礼しました
455名無しさん@お腹いっぱい。:2014/02/24(月) 23:31:04.89 ID:xDeHTVpT0
点滅する画像を認識する為に処理の流れの中で指定時間設定してrepeat until って組む事出来ますか?
上にも同じ様な事書いてあったけど解決されてなかったっぽい

while true
ifb chkimg("A.bmp",0)=true //Aの画像があったらクリック
btn(left,click,G_IMG_X, G_IMG_Y)

repeat
sleep(0.1)
until CHKIMG("B.bmp", 0) or chkimg("C.bmp", 0)=true   //0.1秒間隔でBまたはCの画像を認識してあればクリック
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
sleep(1.5)

ifb chkimg("D.bmp",0)=true //repeat untilの条件をクリアしたら画像Dをクリック
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)

wend

と、各種サイト参考に組んでみたものの
Aをクリックし、BかCが表示されているにも関わらずDをクリックしまたAに戻るという状況
エラーが出ないからどこを直せばいいか…
どなたか教えて下さい
456名無しさん@お腹いっぱい。:2014/02/24(月) 23:31:22.85 ID:f6aUzWPh0
サウンドの設定を開いて、一番上のスピーカーを無効化して、
同じスピーカーをすぐに有効にしてサウンドを終了する

という操作はできる?
457名無しさん@お腹いっぱい。:2014/02/24(月) 23:58:40.81 ID:Pc1n2O4y0
>>455
点滅云々というより
CHKIMG関数を連続で呼んだらダメ
イメージがなければ G_IMG_X の G_IMG_Y の値が -999999 になるので
結果を一旦退避させてループ後に対比した有効な値でクリックするといいよ
458名無しさん@お腹いっぱい。:2014/02/25(火) 00:47:08.70 ID:3/EoDDmH0
clickImageぐらい自作し(ry
459名無しさん@お腹いっぱい。:2014/02/25(火) 02:01:57.44 ID:fO/0LQYk0
>>455
>>457さんの書いている通りCHKIMG関数を連続で呼んでいるから
until CHKIMG("B.bmp", 0) or chkimg("C.bmp", 0)=true
だと、B.bmp在り、C.bmp無しの場合、特殊変数G_IMG_X、G_IMG_Yが-999999でループを抜けるので

OPTION指定で短絡評価をするとか(他の評価にも影響を与える)
OPTION SHORTCIRCUIT

個々にチェックしてループを抜けるとか
repeat
 sleep(0.1)
 if chkimg("B.bmp", 0) then break
 if chkimg("C.bmp", 0) then break
until false   //0.1秒間隔でBまたはCの画像を認識してあればクリック
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)

かな
460名無しさん@お腹いっぱい。:2014/02/25(火) 02:27:59.39 ID:AYfBter50
>>451
前のPCはもうないんですよ…
新しいPCにUWSCをいれただけなんで、原因はWindouws8にあると思うですが
使えてる人いるんですかね?
設定等何もいじっていません。
461名無しさん@お腹いっぱい。:2014/02/25(火) 03:29:59.06 ID:EEQuYPvP0
>>460
とりあえず
UWSCのバージョン、free/pro
UWSCのインストールディレクトリ
UWSCの関連付け

一番簡単な動かないスクリプト(GruGru.UWSとか)
そして、どういうふうに期待を裏切るのか

windows8/windows8.1、32bit/64bitのどれ?

ぐらいの情報があれば
エスパーが現れるかもしれない
462名無しさん@お腹いっぱい。:2014/02/25(火) 06:02:13.88 ID:Wk/hNbbC0
>>460
前のPCがWindows7とかなら大差ないんだけど
XPとかだったらだいぶ違うかもしれない。

XPからでも変わらないのが管理者権限を必要とする操作で管理者権限でないとかだけど
IEのバージョンが違うから動かないとかもあるし。
463名無しさん@お腹いっぱい。:2014/02/25(火) 06:04:01.17 ID:iPkOgP2S0
パスワードを生成するマクロを組んだのですが、同じ数字が生成されてしまいます
下記のマクロだと全4種類のパスワードの種類があるのですがprintで生成パスワードを見ている際、全種パスワードを生成し終わるとダブり始めます
それどころか4種類を出す前にパスワードがダブり始めることもあります
パスワードがダブったら知らせるもしくはダブらせない方法などはありますでしょうか?

dim password
dim chrset = "01"

while 1
for i = 1 to 1
password = password + copy(chrset,random(length(chrset))+1,1)
next

PRINT (password)
password = password - password
 wend
464名無しさん@お腹いっぱい。:2014/02/25(火) 06:13:31.24 ID:Wk/hNbbC0
>>463
順番に全部の組み合わせでやれば問題ない。ブルートフォース。

ランダムでやりたければ
出たやつを全部連想配列にぶち込めばいい。

> // キーが存在するか
> 変数[キー, HASH_EXISTS]     // キーが存在すればTrueを返す
465名無しさん@お腹いっぱい。:2014/02/25(火) 17:22:35.89 ID:AYfBter50
>>461
バージョンはfree
インストールはダウンロードで解凍してそこで起動しました
関連付け?ちょっとわかりません

記録してそれを動かそうとしたんですが、動かず…

windows8.1、64bit です。

>>462
管理者権限で実行はしています。
IEのバージョンとはなんでしょうか?


まっさらなPCなので、Windows8だと使えないのかと思っているのですが
Windows8でもつかえるのでしょうか?
466名無しさん@お腹いっぱい。:2014/02/25(火) 18:47:39.00 ID:DOyADgBO0
>>465
動作環境は本家のWebに書いてある
「動かない」って書いてるけどどう動かないのか書かないと・・・

あと、まずは問題点の切り分けをしないとダメよ、記録して再生とかそのあとの話し
>>461の人も書いてるけどGruGru.UWSの動作は?
それか↓のような簡単なのとかどう?

for i=0 to 10
 print i
 sleep(1)
next
467名無しさん@お腹いっぱい。:2014/02/25(火) 20:19:46.58 ID:rxamZW1I0
>>465
記録した.uwsをテキストエディタで開いて確認してみて。空かもしれない
あと>>5参照
468名無しさん@お腹いっぱい。:2014/02/25(火) 23:25:34.23 ID:iPkOgP2S0
>>464
重要な単語を頂いたのでggってみます
469名無しさん@お腹いっぱい。:2014/02/26(水) 04:54:18.65 ID:ubsTRkqE0
>>466
ありがとうございます。
動きました…が…
デスクトップ画面では動くようです。
しかし、なぜかIE上では動きませんでした。


>>467
ありがとうございます。
保存しようとしたところ
保存するデータがないと言われ記録できていないようでした。
これはなぜなんでしょう?
470名無しさん@お腹いっぱい。:2014/02/26(水) 05:29:23.01 ID:n4pLU3xk0
>>469
記録には管理者権限が必要なはず
471名無しさん@お腹いっぱい。:2014/02/26(水) 12:21:17.74 ID:haCPOyyx0
472名無しさん@お腹いっぱい。:2014/02/27(木) 00:06:31.91 ID:APNCOeOL0
>>470
管理者権限で実行しています。

デスクトップでIEを開いていない状態なら記録出来ましたが
IEを開いた状態だと記録できません。
IEのバージョンのせいというやつでしょうか?
473名無しさん@お腹いっぱい。:2014/02/27(木) 00:40:38.85 ID:VXHmWDUX0
それは多分だけど
既に開いているIEはユーザ権限で
UWSCは管理者権限で起動していて
その結果
お互いに認識できない状態なんじゃないかな
474名無しさん@お腹いっぱい。:2014/02/27(木) 00:41:39.74 ID:VXHmWDUX0
てか、IEの詳細記録はフリー無理じゃね?
475名無しさん@お腹いっぱい。:2014/02/27(木) 05:42:39.52 ID:/WzGZIAL0
曜日を取得すると数字になってしまうので、下記のコードで数字を文字で表示されるよう書いたのですが
この書き方だと行数を食う上に明らか下手くそなコードの気がしますこれをもっと綺麗に短縮して書く方法はないものでしょうか?

GETTIME()

i = G_TIME_WW
if i = 0 then i = "Sun"
if i = 1 then i = "Mon"
if i = 2 then i = "Tue"
if i = 3 then i = "Wed"
if i = 4 then i = "Thurs"
if i = 5 then i = "Fri"
if i = 6 then i = "Sat"
PRINT i
476名無しさん@お腹いっぱい。:2014/02/27(木) 05:54:08.06 ID:Xfeyal3I0
DIM week[] = "Sun", "Mon", "Tue", "Wed", "Thurs", "Fri", "Sat"

GETTIME()
print week[G_TIME_WW]
477名無しさん@お腹いっぱい。:2014/02/28(金) 04:11:14.16 ID:0sFfc87x0
>>476
配列を使うのですね
有難うございました
478名無しさん@お腹いっぱい。:2014/02/28(金) 11:12:00.08 ID:ijf0o8mi0
質問させていただきます
動作を記録したいのですがマウス移動は要らないのですが余分な時間は記録したいのです
何か良い方法はないでしょうか

通常の低レベル記録だとマウス移動も記録している弊害か徐々に遅れていくので私の使用用途では使い物にならず
よくありそうな問題なので調べればわかるだろうと思って検索しても全く分からなかったため
申し訳ないのですが質問させていただきました
ご存知の方が居られましたらお教えいただけると幸いです
479名無しさん@お腹いっぱい。:2014/02/28(金) 11:15:21.39 ID:gIpn06S00
>>478
自分でスクリプト編集はしてる?記録されたスクリプトのMMVとかBTNとかの関数に
実行までの待機時間を指定するパラメータがある。くわしくはヘルプ参照
480名無しさん@お腹いっぱい。:2014/02/28(金) 11:25:19.64 ID:5d7YYFrp0
>>478
徐々に遅れていくのは Sleep() が間延びするせいでしょう。

記録した時間を編集、集計して
実行するコマンドと待ち時間の表を作って
GetTime() のループで
開始時からの時間差でコマンドを実行するようにすればいいでしょう。

めんどくさいなら精度の高い Sleep()関数を自作ですね。

どちらの方法を取っても、記録と再生で処理時間や待ち時間に狂いが出てくるので
徐々にずれていくとは思います。
481名無しさん@お腹いっぱい。:2014/02/28(金) 12:32:47.26 ID:ijf0o8mi0
ありがとうございます
数分に及ぶ作業なので各所にsleepを仕込んでいくのは結構な手間になるのですが
やること自体は単純なので記録で何とかならないかなと思ったのですがそれだけでは難しそうですね
>>480さんの方式を検討しつつもう少し考えてみようと思います
482名無しさん@お腹いっぱい。:2014/02/28(金) 14:05:39.86 ID:sEeRyJS30
ウィンドウ関数低レベルの ms: 実行までの待ち時間 (ミリセカンド)って
具体的にはどのように動作しているんだろうね

最大待ち時間って実装だと
長くすると待機時間が増えるけれど空きイベントを捕まえる余裕が増えるので入力漏れの危険が減る

最低待ち時間って実装だと
指定時間の長短に関係なく空きイベントを捕まえる時間は一定、入力漏れの可能性も一定

Windowsはイベントドリブンモデルだから厳密な動作時間には期待しないロジックを組むってのが個人的なポリシーだから
深く考えた事ないけれど経験的に前者だと思っていたんだけど・・・
ヘルプを見ろって言われてもこの辺の実装の説明は曖昧なんだよね
483名無しさん@お腹いっぱい。:2014/02/28(金) 22:21:29.49 ID:JSUwH+rv0
>>473
IEも管理者権限で開けば大丈夫なんですか?


>>474
えっ
Windows8じゃない時はできました…
484名無しさん@お腹いっぱい。:2014/03/01(土) 00:24:19.04 ID:lkXQk3N80
>>483
http://www.uwsc.info/faq.html#n30
IEの操作が正しく働かない、IEが2つ起動する(Vista/7/8)  #n30
IE上での動作を記録しようとしても記録ができない
  IEの保護モードを解除する必要があります。
  インターネットオプション -> セキュリティの "保護モードを有効にする" を解除してください
  イントラネットを使用の場合には インターネット、イントラネットゾーンの両ゾーンとも解除してみてください
  また COM操作にて一部機能がダメな場合は、IEの互換表示をオンにしてみてください
485名無しさん@お腹いっぱい。:2014/03/01(土) 05:02:49.13 ID:LDNLsnXf0
>>480
開始時からの時間差でコマンド

これのコードが知りたい
486名無しさん@お腹いっぱい。:2014/03/01(土) 06:16:17.19 ID:/qQ0XJG+0
>>485

GetTime() の戻り値は小数点以下を含まないので合計する。←最初が遅れるので長めに取るべきだった。
あとはオフセット時間と実行するコマンドの配列を参照して時間が来れば順番に実行する。


DIM オフセット時間[] = 0.000, 1.000, 2.000, 3.000, 4.000, 5.000, _
            5.001, 5.002, 5.003, 5.004, 5.005, 5.006
DIM コマンド[] = "i + <#DBL> <#DBL> + G_TIME_SS + <#DBL>.<#DBL> + G_TIME_ZZ"

now = GetTime()
開始時 = now + (G_TIME_ZZ / 1000)
for i = 0 to length(オフセット時間) - 1
 repeat
  Sleep(0.001)
  now = GetTime()
 until 開始時 + オフセット時間[i] <= now + (G_TIME_ZZ / 1000)
 print "時間です。利息が付きます。 " + EVAL(コマンド[0])
next


この方法の問題は、処理に時間がかかった場合に直後の処理とかぶってWindowsとかアプリからキャンセルされることだけど
時間に正確にやらないといけないならこれしかないかな。
487名無しさん@お腹いっぱい。:2014/03/01(土) 07:02:48.31 ID:LDNLsnXf0
>>486
有難う
なんかひらめいた気がする
488名無しさん@お腹いっぱい。:2014/03/01(土) 09:59:17.27 ID:koHin9/A0
やっぱ掲示板使いづらいとみんな思ってたか
スレッドフロート型とかに変えるべきだとスレでも何度か話題になってたよな
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=5252

UWSC掲示板のレイアウトを"UWSCで変える"猛者が登場してワロタ
489名無しさん@お腹いっぱい。:2014/03/01(土) 12:04:20.60 ID:2F+hfMqI0
しょーもなw
490名無しさん@お腹いっぱい。:2014/03/01(土) 14:10:20.87 ID:K+qTA+B90
普通に記録して再生すると7秒くらいかかるんだけど、
なんとか1秒以内にできんもんか
491名無しさん@お腹いっぱい。:2014/03/01(土) 14:37:56.45 ID:eva9EYW70
7秒の動作を記録したから7秒掛かってるだけじゃないのか
492名無しさん@お腹いっぱい。:2014/03/01(土) 14:41:08.74 ID:K+qTA+B90
速い部分は一瞬で終わるんだけどね
ウィンドウが開くのを待つ処理が余裕を持たせ過ぎている
493名無しさん@お腹いっぱい。:2014/03/01(土) 15:52:48.37 ID:/tOYKola0
ウィンドウID取得出来るかどうかチェックするだけだよね
494名無しさん@お腹いっぱい。:2014/03/01(土) 15:58:51.62 ID:eva9EYW70
開くのを待つってのがただSleep()で待ってるだけでしたって落ちじゃないよね?
495名無しさん@お腹いっぱい。:2014/03/01(土) 16:52:34.45 ID:K+qTA+B90
最初はsleep()のせいだと思ってコメントアウトしたけど、ちっとも速くならない

id = GETID("スタート", "Button", -1)

第3引数に-1を指定すると開くのを待つけど、それはつまり
開いたのを確認したら即座に次の行に移るという意味だと思うのに、なんか待ってる気がする
それとも、見た目は開いてるけど内部的には処理が完了してなくて、
完全に終わるのを待つとこんな動作になるんだろうか
496名無しさん@お腹いっぱい。:2014/03/01(土) 17:10:25.92 ID:gRJ4VjS10
気になるなら比較するコードを書いてみるといいのだ
ただGETID関数は全オブジェクトを舐めながら探す処理をしている筈だから
オブジェクト数で処理時間は不定になる関数だと思うよ
497名無しさん@お腹いっぱい。:2014/03/01(土) 21:55:27.26 ID:/qQ0XJG+0
////////////////////////////////////////////////////////////////////////////////
// MS アクティベーション用 ナンバークリック      2014/03/01

// 使い方
// 準備:スペース区切りでナンバーを入力する
// 開始:Ctrl キーをクリックするたびに1グループずつキーが送信される

// ※数字のみをクリックし、それ以外は区切り文字として扱います。

public group = 1
public col = 1
public str

Fukidasi("Ctrl キーをクリックするたびに1グループずつキーを送信します。")
str = input("slui 4 コマンドで表示された インストールID を入力してください")
Fukidasi(str)

SetHotKey( , MOD_CONTROL, "OnKeyClick" ) // 開始キーを登録

while true // 常駐のため永久ループ
 sleep(999)
wend
498名無しさん@お腹いっぱい。:2014/03/01(土) 21:56:51.06 ID:/qQ0XJG+0
////////////////////////////////////////
// クリック
Procedure OnKeyClick()
 print group
 group = group + 1
 while col <= length(str)
  char = copy(str, col, 1)
  ifb CHKNUM(char)
   kbd(ASC(char), DOWN)
   sleep(0.1)
   kbd(ASC(char), UP)
   sleep(0.2)
   col = col + 1
  else
   break
  endif
 wend
 while col <= length(str)
  ifb ! CHKNUM(copy(str, col, 1))
   col = col + 1
  else
   break
  endif
 wend
 ifb col > length(str)
  Fukidasi("終了しました")
  sleep(5)
  exitexit
 endif
FEnd
499名無しさん@お腹いっぱい。:2014/03/02(日) 09:05:26.69 ID:2MgB1DPB0
昨日の日付を表示する短いコードなのですが

gettime()
print (G_TIME_DD2 -1)

これだと1と表示されてしまいます
これを01と表示させるいい方法はないものでしょうか?
500名無しさん@お腹いっぱい。:2014/03/02(日) 09:24:57.00 ID:l4oO0iPO0
>>499
gettime(-1)
print (G_TIME_DD2)

これじゃダメ?
501名無しさん@お腹いっぱい。:2014/03/02(日) 09:45:45.84 ID:2MgB1DPB0
>>500
現在こうなっていまして
メモ帳に今日の日付と昨日の日付を送りたいのですが
GETTIME()に-1をぶっ込むと今日の日付が昨日の日付になってしまうんです

GETTIME()
DIM zzz[] = G_TIME_DD2,(G_TIME_YY + G_TIME_MM2 + (G_TIME_DD2 -1))
FOR i = 0 TO (LENGTH(zzz) - 1)

SENDSTR(メモ帳のID,zzz[i])
next
502名無しさん@お腹いっぱい。:2014/03/02(日) 10:08:42.68 ID:2htkpXVo0
月跨ぎとか問題起きそうだからgettime(-1)使ったほうがよさそう
こんな感じにするとか?

GETTIME(-1)
yesterday = (G_TIME_YY + G_TIME_MM2 + G_TIME_DD2)
GETTIME()
DIM zzz[] = G_TIME_DD2,yesterday
FOR i = 0 TO (LENGTH(zzz) - 1)
 SENDSTR(メモ帳のID,zzz[i])
next
503名無しさん@お腹いっぱい。:2014/03/02(日) 10:14:41.91 ID:2MgB1DPB0
>>502
やはり-1用のGETTIMEと通常用のGETTIMEの2種類必要なんですかね?
DOSコマンドあたりも調べたんですが綺麗な方法がなくて困ってたんです
504名無しさん@お腹いっぱい。:2014/03/02(日) 11:02:03.44 ID:2htkpXVo0
>>503
一応replaceとformat関数を使えば桁合わせは可能だけどどうなんだろう・・・
ちなみに4.7bで配列に直接つっこんだらえらいことになった

replace(format((G_TIME_DD2 -1), 2, 0), " ", "0")
505名無しさん@お腹いっぱい。:2014/03/02(日) 11:33:41.74 ID:Ie/iXh5i0
変数やら制御やらの部分はもっといけてる言語でやるので、
windowsとのインターフェース部分だけ切り出したライブラリとかないの
506名無しさん@お腹いっぱい。:2014/03/02(日) 11:40:51.31 ID:2MgB1DPB0
>>504
サンキュ
もう少しあがいてみます
507名無しさん@お腹いっぱい。:2014/03/02(日) 12:34:57.31 ID:FZZIOWxS0
508名無しさん@お腹いっぱい。:2014/03/02(日) 14:08:14.19 ID:LMNM/kYi0
>>503
あれが一番きれいな方法だよ。
便宜上まとめてかいてるが関数にまとめれば
色々な意味で一番スマートでしょ。
月またぎ諸々考慮済みの関数を差し置いて
小手先の文字列操作で車輪の再発明してると
次々と発生する例外ケースに耐えられない
509名無しさん@お腹いっぱい。:2014/03/03(月) 05:53:20.88 ID:m3iT7Iuo0
GETTIME(-1)
yesterday = (G_TIME_YY + G_TIME_MM2 + G_TIME_DD2)
print (yesterday)

についてなんですが-1を入れると何故日にちだけ前日日を表示するんでしょうか?
年や月などは20143月とそのままなのに日にちだけいい感じに-1日されるのでしょうか?
510名無しさん@お腹いっぱい。:2014/03/03(月) 06:30:00.83 ID:63aSF/aN0
>>509
print gettime() - gettime(-1)

結果:86400



1日=24時間=1440分=86400秒
511名無しさん@お腹いっぱい。:2014/03/03(月) 06:50:07.50 ID:xALoPVYE0
普通は gettime 関数の仕様だからとしか言い様がない
但し、小数点指定で時間を知りたい場合は精度の問題が発生する可能性があるので
関数の戻り値である 2000年1月1日からの秒数 から±して求めた方が楽かも

因みに第2引数で基準日が指定可能なので
少し前のレスで話題になってた関数を2度呼ぶ件はコレで回避したほうが良いかも

要するに2度呼ばれる間に日を跨る可能性が気になるんでしょ?
それなら

当日 = GETDATE()
//当日のプロパティで行う処理
前日 = GETDATE(-1, G_TIME_YY2+G_TIME_MM2+G_TIME_DD2)
//前日のプロパティで行う処理

で、良いと思う
512名無しさん@お腹いっぱい。:2014/03/03(月) 07:40:07.78 ID:xALoPVYE0
関数名は間違えるわ引数は数値として足されてgdgdだなw
スクリプトのみ訂正

GETTIME()
Print G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
GETTIME(-1, G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2)
Print G_TIME_YY4+"/"+G_TIME_MM2+"/"+G_TIME_DD2
513名無しさん@お腹いっぱい。:2014/03/03(月) 07:42:42.41 ID:Kq48vUOQ0
>>484
ありがとうございます
できました!!
本当に助かりました。
514名無しさん@お腹いっぱい。:2014/03/03(月) 07:52:29.29 ID:m3iT7Iuo0
>>510
86400秒マイナスするって意味だったんですね
じゃあ、GETTIME(-2)は172800秒マイナスすると
ありがとうございました
515名無しさん@お腹いっぱい。:2014/03/04(火) 00:48:31.55 ID:yIzlsuUB0
この板の過去ログも開放されたね
>>3のログが読めるようになったのでかなり助かる
516名無しさん@お腹いっぱい。:2014/03/05(水) 13:34:51.83 ID:b7+y7nk90
 BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,500)

 SLEEP(0.5)
 BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
って全く同じなんですかね?

なんか微妙に挙動が違うような感じがします。
特に短周期ループ内だと、SLEEPを入れた方が反応がいいというか・・・
気のせいでしょうか?
517名無しさん@お腹いっぱい。:2014/03/05(水) 14:33:28.16 ID:6lQ1CUGq0
>>516
>BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,500)
こっちは500ms待つ間CPUを食うけど

>SLEEP(0.5)
>BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
こっちはsleep中CPUを食わないってどっかで見た
518名無しさん@お腹いっぱい。:2014/03/06(木) 15:33:15.07 ID:r3AOWgy+0
リアルタイムで作成される C\ProgramDate\USER\dousa.txt を監視して、所定の動作をさせたい。

つまり、C\ProgramDate\USERにdousa.txtがあるのを確認して、
dousa.txtがあったらtxt本文をチェックして
txt本文に A実行 と書かれていたら A.uws を実行。
txt本文に B実行 と書かれていたら B.uws を実行。
txt本文に C実行 と書かれていたら C.uws を実行。
チェックして実行したら、dousa.txtを削除する。

という kannshi.uws なるスクリプトって誰か作れる?

この kannshi.uws を指定時間で行うスクリプトや、
A.uws B.uws C.uwsの実行スクリプトは、
何とか自分で作れそうだけど、肝心な監視のスクリプトができない。
誰か助けて、お願いします。
519名無しさん@お腹いっぱい。:2014/03/06(木) 15:44:34.56 ID:1dLnF0PS0
>>518

>つまり、C\ProgramDate\USERにdousa.txtがあるのを確認して、
>dousa.txtがあったらtxt本文をチェックして
>txt本文に A実行 と書かれていたら A.uws を実行。
>txt本文に B実行 と書かれていたら B.uws を実行。
>txt本文に C実行 と書かれていたら C.uws を実行。
>チェックして実行したら、dousa.txtを削除する。

ここまで分かってるのならもうほとんど完成したようなものだろ
逆に何が分からないのかが分からない
丸投げせずに、具体的のどこが分からないのか聞かないと答えてくれる人いねぇぞ
520名無しさん@お腹いっぱい。:2014/03/06(木) 16:13:43.39 ID:r3AOWgy+0
ごめんなさい
txtそのものを作るプログラムに追われていて。。。
521名無しさん@お腹いっぱい。:2014/03/06(木) 16:51:37.41 ID:9JCKeqlk0
課題まる投げ依頼に行けよ
522名無しさん@お腹いっぱい。:2014/03/06(木) 17:01:58.21 ID:r3AOWgy+0
ごめんなさい
主婦なので、もう食事準備の時間で
今日も全然進みませんでした
>>521 どちらで聞けばいいですか?
523名無しさん@お腹いっぱい。:2014/03/06(木) 17:34:36.23 ID:im4oklTu0
釣れますか?
524名無しさん@お腹いっぱい。:2014/03/06(木) 17:48:26.34 ID:DvZy/aRY0
・txtそのものを作るプログラムは作れる
・動作させたいタイミングはそのプログラムの実行後

そこから導き出される答えは・・・

・そのプログラムから直接 A.uws 等を実行すればいいんじゃね?

正直ワンクッション必要なケースとは思えない
525名無しさん@お腹いっぱい。:2014/03/06(木) 21:34:31.69 ID:r3AOWgy+0
やっと、少し時間が空きました。
>>524
txt作成は雛形があって、それを参考に作っていますが、
それの作成者に確認したところ、そのソフトでは
txt出力までで、UWSCの起動は不可能との回答をもらいました。
今日はもう時間が取れないので、これで失礼します。
526名無しさん@お腹いっぱい。:2014/03/06(木) 21:50:22.49 ID:/GWN7EUb0
開発制度や開発時間に制約あるのならそれこそ
ランサーズとかへ金出して行けばいいのに

24時間コールセンター的な無料サポートスレじゃないぞ?
527名無しさん@お腹いっぱい。:2014/03/06(木) 22:56:35.34 ID:9JCKeqlk0
●質問したい方へ
「○○作れますか?」→ 可能か不可能かを聞いているのなら答えは「作れる」
「○○が作りたい」→ 自分が作れば?並大抵の事ならググれば似たようなスクリプトや知識が見つかる
「○○作って下さい」→ 依頼スレじゃありません。
過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。
528名無しさん@お腹いっぱい。:2014/03/07(金) 00:05:57.31 ID:OvGUs4c90
お前らの忍耐力はすさまじいな
たった四回の発言で俺は凄まじくイライラしてるんだが

主婦なので、←そんな情報いらないし
やっと、少し時間が空きました。←何様だよって感じだし
txtそのものを作るプログラムに追われていて。。。 ←色々突っ込みたいけど句点連打が最高にイライラするし
今日はもう時間が取れないので ←また来るのかよって感じだし

それに柔らかい言葉で対応するお前らを初めて尊敬した
529名無しさん@お腹いっぱい。:2014/03/07(金) 10:46:42.21 ID:EvwydSgJ0
おはようございます。昨日は、お騒がせしましたが、
FOPEN関数を使って、無事にできました。
530名無しさん@お腹いっぱい。:2014/03/07(金) 17:18:23.24 ID:+RJCPzgl0
Joytokeyやdresskeyにマクロファイル呼び出し機能があればいいと
キー設定の制約を見て思う
UIボタン化のようなことはプチランチャでできるが
531名無しさん@お腹いっぱい。:2014/03/07(金) 20:48:36.85 ID:yGdJ9hk50
おや?
repeat 〜 until って
ループ条件未成立でも1回は実行する do 〜 while と同等かと思ってたら
1回も実行しないのかね。
ヘルプに何も書いてないから、いちいちテストスクリプト書かないと遺憾。
532名無しさん@お腹いっぱい。:2014/03/07(金) 21:00:49.56 ID:w7bxMwNw0
え?
533名無しさん@お腹いっぱい。:2014/03/07(金) 21:05:02.02 ID:b68Xh9A30
いやいや
534名無しさん@お腹いっぱい。:2014/03/07(金) 21:11:40.01 ID:yGdJ9hk50
オレの間違いだった。1回は実行する
535名無しさん@お腹いっぱい。:2014/03/09(日) 18:13:56.17 ID:zhYEI+T50
皆頭良すぎて俺はもう駄目だ…
もう暗号にしか見えない
536名無しさん@お腹いっぱい。:2014/03/09(日) 19:53:51.93 ID:dhFBoXGX0
>>535
俺と一緒にHello world . から始めようぜ。
537名無しさん@お腹いっぱい。:2014/03/09(日) 19:56:08.41 ID:Rwo4yuIX0
>>536
できた

msgbox("Hell world.")
538名無しさん@お腹いっぱい。:2014/03/09(日) 20:11:38.08 ID:dhFBoXGX0
>>537
msgbox("Hell word.")

こうだろ?って…すまん
539名無しさん@お腹いっぱい。:2014/03/09(日) 20:55:02.94 ID:WCStud6G0
FUKIDASI("Hello wild.")
POFF(P_REBOOT)
SLEEP(10)
540名無しさん@お腹いっぱい。:2014/03/09(日) 21:57:19.34 ID:B0VnPzti0
>>539
うわぁあああ
何てことを。。。
541名無しさん@お腹いっぱい。:2014/03/09(日) 23:50:27.02 ID:DfptN5dH0
初歩的な質問ですが、こういう式を作りたいのですがELSE行に記述があると表示され動作しませんでした
式:画像ABCを探して処理A、どれも見つからない時処理Bを実行

ifb CHKIMG 画像A then
処理A
Else if CHKIMG 画像B then 動作A
Else if CHKIMG 画像C then 動作A

Else
動作B
endif
542名無しさん@お腹いっぱい。:2014/03/09(日) 23:52:00.35 ID:DfptN5dH0
すいません処理=動作の意味です
543名無しさん@お腹いっぱい。:2014/03/09(日) 23:54:53.66 ID:nUi26iiw0
ぱっとみ動作Aの前で改行すればいいんじゃ
544名無しさん@お腹いっぱい。:2014/03/09(日) 23:56:15.35 ID:nUi26iiw0
あELSEとIFの間のスペースがいらないのか
545名無しさん@お腹いっぱい。:2014/03/10(月) 00:08:41.75 ID:9Pm0JNhY0
混乱して意図しない動作させる位なら全部にENDIFを付けろ
546名無しさん@お腹いっぱい。:2014/03/10(月) 03:55:49.19 ID:FOf+uD7d0
ブラウザゲームでuwscを使ってるときたまに接続が切れて「接続できませんでした+url」というウィンドウがでてきて作業がとまるから消したいんだけどナニをどう挿入していいかわからないから教えてエロイ人。
PC=windows7 64bit、ブラウザ=safari(windows版)
547名無しさん@お腹いっぱい。:2014/03/10(月) 04:19:36.80 ID:bVMhyIQF0
作った人に聞けば
548名無しさん@お腹いっぱい。:2014/03/10(月) 04:29:52.08 ID:qjwWvgeU0
画像検索で、接続できません〜が出てきたら
そのウィンドウを閉じる、×ボタンとかOKボタンとかを
クリックするルーチンをいれる。
549名無しさん@お腹いっぱい。:2014/03/10(月) 04:38:53.29 ID:ACG7JOf80
>>546
msgbox("Hell word.")
から始めろよ。
550名無しさん@お腹いっぱい。:2014/03/10(月) 11:35:42.51 ID:5CilZlO00
こういう基本から始めろよ。まず動かして分析せよ。
DIM pushed=0,wid
FUKIDASI("まずは電卓がぐるぐる回るのが基本です")
WHILE !GETKEYSTATE(VK_ESC)
wid = GETID(GET_ACTIVE_WIN)
IFB STATUS(wid,ST_CLASS)="#32770" AND POS("Windows タスク マネージャ",STATUS(wid,ST_TITLE))>0 THEN
IFB !pushed THEN
KBD(VK_CTRL,DOWN)
FUKIDASI("Hell word")
pushed=1
ENDIF
ELSE
IFB pushed THEN
KBD(VK_CTRL,UP)
FUKIDASI("Hell wordは動き出す…")
pushed=0
ENDIF
ENDIF
SLEEP(0.1)
WEND。
551名無しさん@お腹いっぱい。:2014/03/10(月) 22:58:24.78 ID:BqYYqjsr0
>>550
おれ、ここに書いてある言葉をヘルプから漁るところから始めてくるわ。
ありがとう。
552名無しさん@お腹いっぱい。:2014/03/10(月) 23:27:02.81 ID:Kcsqvxp80
>>543
原因はLESEIFにスペースがあった事でした
ありがとうございました
553名無しさん@お腹いっぱい。:2014/03/11(火) 20:47:28.94 ID:Z/2lzS5R0
>>546
ブラウザゲームで不正は関心しないな
554名無しさん@お腹いっぱい。:2014/03/12(水) 01:08:08.39 ID:ylMoQ8pN0
ブラウザでずっと延々読み込み中になって常にBUSY状態な時の
タイムアウト処理はどうすればいいの?
555名無しさん@お腹いっぱい。:2014/03/12(水) 02:04:13.22 ID:mCT4dA0L0
経過時間が○秒以上なら処理を抜けるようにすればいいだけじゃね
556名無しさん@お腹いっぱい。:2014/03/12(水) 19:45:39.01 ID:pUl3B2z10
とりあえず組んでみたんだが



WHILE TRUE
FOR t = 20 TO 100 STEP 2
timgname = """ + "t" + t + ".bmp" + """
IFB CHKIMG(timgname) THEN
PRINT G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + "/" + G_TIME_HH2 + ":" + G_TIME_NN2 + " " + "現在は" + t + "です"
SPEAK("現在は" + t + "です")
BREAK
ELSE
ENDIF
NEXT
WEND



3行目の変数tが定義されてないってエラーはく。これはどういったことでどうすりゃええの?
ちなみに判定したい画像はt20.bmp〜t100.bmp
557名無しさん@お腹いっぱい。:2014/03/12(水) 20:49:32.31 ID:h22zQaOw0
>>556

"""→"<#DBL>"

ヘルプより
<特殊文字>
 <#CR>   // 改行コードを表す
 <#DBL>  // "ダブルコーテイションを表す
 <#TAB>  // タブを表す
558名無しさん@お腹いっぱい。:2014/03/12(水) 21:17:29.43 ID:h22zQaOw0
間違いました
timgname = "t" + t + ".bmp"
これだけで良いはず
559名無しさん@お腹いっぱい。:2014/03/12(水) 22:13:09.71 ID:pUl3B2z10
>>558
おお〜感謝感謝

おまえすげーな!
560名無しさん@お腹いっぱい。:2014/03/12(水) 22:56:27.00 ID:pUl3B2z10
DIM D[] = 1,2,3
DIM Da[] = D[]*π

ってするとD[]は配列だって怒られるんだけど
Da[] ってどうやって記述したらいい?

上記の場合は頭の中では
DIM Da[] = π,2π,3π
ってのをイメージして書きたいんだけどどう書いたらいいのかわかりません。
561名無しさん@お腹いっぱい。:2014/03/12(水) 23:06:18.95 ID:5w9HYPCK0
この自分本位な説明不足感と不遜な態度…
いつもの逆ギレ君かな?w
562名無しさん@お腹いっぱい。:2014/03/12(水) 23:16:04.94 ID:8lOkhBkH0
例の発達障害の?やだそれ怖い
563名無しさん@お腹いっぱい。:2014/03/12(水) 23:20:13.54 ID:ylMoQ8pN0
マジか…
564名無しさん@お腹いっぱい。:2014/03/12(水) 23:20:18.38 ID:pUl3B2z10
あ〜説明不足だったかスマンスマン
こんな感じのコード書いてみたんだけど、


DIM d[] = 2,3,4,5,6,7,8
PRINT d[0] +" "+ d[1] + " " + d[2] + " " + d[3] + " " + d[4] + " " + d[5] + " " + d[6]
FOR n = 0 TO 6
DIM da[n] = CEIL( CEIL( d[n] * 3 ) )
NEXT
PRINT da[0] +" "+ da[1] + " " + da[2] + " " + da[3] + " " + da[4] + " " + da[5] + " " + da[6]


2行目は上手く表示される。これは当然なんだけど。
やりたいことは6行目の表示。


3〜5行目をどう書き直したら6行目を素直に表示してもらえるのかと思っての質問です。
565名無しさん@お腹いっぱい。:2014/03/12(水) 23:25:38.96 ID:5w9HYPCK0
//ceilをググったらPHPの切り上げらしいがそれを2重がけ?



dim testArray[] = 1, 2, 3, 4, 5, "a", 7, 8, 9
pai = 3.14

calcArray(testArray, pai)
print join(testArray, ", ")

function calcArray(var array[], num, operator="*")
result = true
for idx=0 to resize(array)
try
array[idx] = eval("" + array[idx] + operator + num)
except
array[idx] = ERR_VALUE
result = false
endtry
next
fend
566名無しさん@お腹いっぱい。:2014/03/12(水) 23:27:06.75 ID:5w9HYPCK0
失敗失敗

DIM testArray[] = 1, 2, 3, 4, 5, "a", 7, 8, 9
pai = 3.14

print join(calcArray(testArray, pai), ", ")

function calcArray(var array[], num, operator="*")
  result = true
  for idx=0 to resize(array)
    try
      array[idx] = eval("" + array[idx] + operator + num)
    except
      array[idx] = ERR_VALUE
      result = false
    endtry
  next
fend
567名無しさん@お腹いっぱい。:2014/03/12(水) 23:30:08.60 ID:5w9HYPCK0
宣言時の代入は定数しか使えませんよ
C言語でもそうですよね、言語仕様です。
初期化ルーチンで真っ先に処理するしか無いですね。
568名無しさん@お腹いっぱい。:2014/03/12(水) 23:38:18.41 ID:pUl3B2z10
大変感謝なのですが・・・・もっとレベルの低いコードをお願いします。
数学的処理がちょっとアレなのはわけありです。


DIM d[] = 2,3,4,5,6,7,8
PRINT d[0] +" "+ d[1] + " " + d[2] + " " + d[3] + " " + d[4] + " " + d[5] + " " + d[6]
FOR n = 0 TO 6
DIM da[n] = CEIL( CEIL( d[n] * 3 ) )
PRINT da[n]
NEXT
//PRINT da[0] +" "+ da[1] + " " + da[2] + " " + da[3] + " " + da[4] + " " + da[5] + " " + da[6]

って感じにすると

6
9
12
15
18
21
24

って表示はされる。これじゃログが荒れるので、横書きスマートに収めたいんだわな。
なんとか知恵をお借りできないだろうか?
569名無しさん@お腹いっぱい。:2014/03/12(水) 23:40:21.48 ID:pUl3B2z10
ああ、ごめん
嘘(>>568)書いちゃったっぽい

もう少し検証してまた質問するわ
570名無しさん@お腹いっぱい。:2014/03/12(水) 23:42:28.46 ID:5w9HYPCK0
print join(da, " ")
571名無しさん@お腹いっぱい。:2014/03/12(水) 23:52:56.76 ID:pUl3B2z10
おし!自己解決したわ!

いちよう報告しとくと

DIM da[6] = CEIL( CEIL( d[0] * 3 ) ),CEIL( CEIL( d[1] * 3 ) ),CEIL( CEIL( d[2] * 3 ) ),CEIL( CEIL( d[3] * 3 ) ),CEIL( CEIL( d[4] * 3 ) ),CEIL( CEIL( d[5] * 3 ) ),CEIL( CEIL( d[6] * 3 ) )



力技w
572名無しさん@お腹いっぱい。:2014/03/12(水) 23:57:15.46 ID:pUl3B2z10
おっと、お礼忘れてた
有難う!

また来る
573名無しさん@お腹いっぱい。:2014/03/13(木) 00:11:34.14 ID:3nkcdo0E0
あ〜PUBLICじゃなきゃ演算結果を初期化値に指定できるのか〜
CEILも数学関数として予約語に登録されてるなぁ何の解説もないけどw
でも2重CEILの意味は判らんw

dim testArray[] = 1, 2, 3, 4, 5, "a", 7, 8, 9
pai = 3.14

calcArray(testArray, pai)
print join(testArray, " ")

evalArray(testArray, "ceil(ceil(", "*3))")
print join(testArray, " ")


function calcArray(var array[], num, operator="*")
  result = evalArray(array, "", operator + num)
fend

function evalArray(var array[], leftFomula, rightFomula)
  result = true
  for idx=0 to resize(array)
    if array[idx] = ERR_VALUE then continue
    try
      array[idx] = eval(leftFomula + array[idx] + rightFomula)
    except
      array[idx] = ERR_VALUE
      result = false
    endtry
  next
fend
574名無しさん@お腹いっぱい。:2014/03/13(木) 00:43:04.85 ID:3nkcdo0E0
あ、既にCALCARRAYという名前で別機能のスクリプト関数が実装済みだった orz
何故エラーにならん

safearrayを使って戻り値が配列になるようにしてみたが、
testArray=evalArray(testArray, …)
のような代入が出来ずあまり便利でないので辞めた。
575名無しさん@お腹いっぱい。:2014/03/14(金) 16:02:37.89 ID:svKCjyAU0
ヘルプのPeekcolor例

// カーソル位置の色を表示
x = G_MOUSE_X; y = G_MOUSE_Y
c = PeekColor(x, y)
PRINT "赤="+G_赤(c)+",緑="+G_緑(c)+",青="+G_青(c)

をもとに

WHILE TRUE
MOUSEORG(0)
x = G_MOUSE_X; y = G_MOUSE_Y
c = PeekColor(x, y)
PRINT "赤="+G_赤(c)+",緑="+G_緑(c)+",青="+G_青(c)
WEND

って書いてみたんだが、G_赤(c) G_緑(c) G_青(c) がねぇぞゴルァって怒られた。

ほぼコピペなのに怒られるとか。。。どうしたらいい?
576名無しさん@お腹いっぱい。:2014/03/14(金) 16:09:17.07 ID:K+DKtYBX0
// 以下 関数の下もコピペ
関数の意味ぐらいぐぐって知っておくべき
577名無しさん@お腹いっぱい。:2014/03/14(金) 19:37:45.70 ID:svKCjyAU0
悪いな・・・なんか呆れられてるなってことはわかるんだが
自動で赤成分設定してくれてはないってことでいいのか?


function関数によってあとから設定してるってことなんか?




そかそか読めてきたぞ
ありがとう
578名無しさん@お腹いっぱい。:2014/03/14(金) 19:41:36.75 ID:svKCjyAU0
// 以下 関数
function G_赤(c)
  Result = c and $FF
fend
function G_緑(c)
  Result = (c and $FF00) / $100
fend
function G_青(c)
  Result = (c and $FF0000) / $10000
fend



ってコードの c = and $FFってのがPEEKCOLORで抽出した色情報を
BGR形式からRGB形式に変換してるんだなって感じなのはわかるんだが


この時のandってのの役割がわからん
どういった処理してるandなの?
579名無しさん@お腹いっぱい。:2014/03/14(金) 19:48:24.89 ID:s62TSako0
580名無しさん@お腹いっぱい。:2014/03/14(金) 20:10:08.25 ID:svKCjyAU0
and or のandだったか・・・。
集合の概念か。


それでなんで c and $FF ってすると赤成分が抽出されるん?


$FFってのが何なのかを聞くべきなんかな?
581名無しさん@お腹いっぱい。:2014/03/14(金) 20:21:59.12 ID:2Rzl2YrR0
BGR
$FFFFFF

B
$FF0000
G
$00FF00
R
$0000FF  ←$FFはこれ(赤)な
582名無しさん@お腹いっぱい。:2014/03/14(金) 21:20:49.13 ID:svKCjyAU0
おう、割とわかった・・・・と思う。
ありがとう
583名無しさん@お腹いっぱい。:2014/03/14(金) 21:25:24.19 ID:hrRvIpF/0
>>580
$数値は16進数
$FFは2進数で11111111

なんだ分かったのか
584名無しさん@お腹いっぱい。:2014/03/14(金) 21:59:45.18 ID:svKCjyAU0
RGB BGRって
色の並び順のことかああああああああああああああああああああ!?
今知ったわ
585名無しさん@お腹いっぱい。:2014/03/14(金) 22:49:18.59 ID:5f4zptYI0
集合のANDじゃなくてビット操作・ビットマスクのANDだよ
586名無しさん@お腹いっぱい。:2014/03/14(金) 22:53:54.96 ID:svKCjyAU0
チンパンに判るように説明してくれw
587名無しさん@お腹いっぱい。:2014/03/14(金) 23:11:12.41 ID:hrRvIpF/0
588名無しさん@お腹いっぱい。:2014/03/14(金) 23:13:16.63 ID:5f4zptYI0
┏━━━━━━━━━━━┳━━┓
┃ビット操作・ビットマスク   ┃検索┃
┗━━━━━━━━━━━┻━━┛
589名無しさん@お腹いっぱい。:2014/03/15(土) 00:36:03.08 ID:fQvqTHdM0
フィルタリングしてんだな

ろ過して濾しとるってことだな
おkわかった
590名無しさん@お腹いっぱい。:2014/03/15(土) 16:54:43.91 ID:mACRBUdp0
GoogleChromeでFacebookのIDとパスワードを入力するのってどうすればいいですか?
591名無しさん@お腹いっぱい。:2014/03/15(土) 18:33:37.51 ID:V7WaNBGE0
そういう漠然とした質問しか出来無いレベルの方は、
ロボフォームなどの完成品のシェアウェアを買って使ったほうが良いでしょう。
どうしてもスクリプトプログラミングで自作したいのなら、
何故自作する必要があるのか。
具体的にどういう仕様が必要なのか。
説明する所から始めましょう。
あなたが自力で制作できず他の人に頼むなら、
シェアウェア購入費の数倍〜数十倍の依頼料がかかるでしょう。
592名無しさん@お腹いっぱい。:2014/03/16(日) 00:09:32.29 ID:fPdT0jAL0
カーソルしたの色抽出して、
プリントスクリーン押したら抽出した色をストックしてって
色範囲を求める

的なコード書きたいんだけど、
ストックってどうすりゃいいかな?


WHILE TRUE
n = 0
IFB GETKEYSTATE(VK_SNAPSHOT) THEN
DIM COLOR[n] = PEEKCOLOR(G_MOUSE_X, G_MOUSE_Y)
n = n + 1
ENDIF
WEND


これじゃたぶん間違ってるんだけど
キーを押してnがどんどん増えてくときに配列がどんどん増えてくのってどうやったらええのかな?
593名無しさん@お腹いっぱい。:2014/03/16(日) 00:29:33.51 ID:Yj30Qjdu0
┏ ┏━┓┏━┓┏┳┓┳━┓ ┏━┓┳  ┳┳━┓┳━┓ ┓
┃ ┃  ┓┣━┫┃┃┃┣┫   ┃  ┃┃  ┃┣┫  ┣┳┛ ┃
┗ ┗━┛┻  ┻┻  ┻┻━┛ ┗━┛┗━┛┻━┛┻┗┛ ┛
594名無しさん@お腹いっぱい。:2014/03/16(日) 02:42:20.86 ID:FnV4GU840
連想配列使っとけ
595名無しさん@お腹いっぱい。:2014/03/16(日) 09:03:42.25 ID:opeCDEyP0
最初にいっぱい宣言しとけ
596名無しさん@お腹いっぱい。:2014/03/16(日) 10:27:52.55 ID:9wGCbyyJ0
色範囲って?


DIM colors[200]
isKeyDiff = True
idx = 0
isOver1Lap = False
eIdx = 0
GETKEYSTATE(VK_SNAPSHOT)
WHILE TRUE
  IFB isKeyDiff AND GETKEYSTATE(VK_SNAPSHOT) THEN
    isKeyDiff = False
    colors[idx] = PEEKCOLOR(G_MOUSE_X, G_MOUSE_Y)
    PRINT getColorWidthStr(colors,eIdx)
    idx = idx + 1
    IFB idx > RESIZE(colors) THEN
      idx=0
      isOver1Lap=True
    ENDIF
    IF !isOver1Lap THEN eIdx = idx
  ELSEIF !isKeyDiff AND !GETKEYSTATE(VK_SNAPSHOT) THEN
    isKeyDiff = True
  ENDIF
  SLEEP(0.05)
WEND

FUNCTION getColorWidthStr(colors[], idx)
  cMin = CALCARRAY(colors, CALC_MIN, 0, idx)
  cMax = CALCARRAY(colors, CALC_MAX, 0, idx)
  RESULT = "idx="+FORMAT(idx,3)+", color=$"+FORMAT(colors[idx],6,-1)+", MIN=$"+FORMAT(cMin,6,-1)+", MAX=$"+FORMAT(cMax,6,-1)
FEND
597名無しさん@お腹いっぱい。:2014/03/16(日) 12:24:05.62 ID:9wGCbyyJ0
RESIZE(colors, n)で配列サイズを都度拡張してもいいよ
データ構造から言ってオススメはしないけど
連想配列だと元々都度拡張する仕様になってるから、そのほうがいいのかね
CALCARRAYつかえるのかな〜?
598名無しさん@お腹いっぱい。:2014/03/16(日) 12:28:45.71 ID:9wGCbyyJ0
残念、連想配列だとサイズ気にしなくていいけど
CALCARRAY関数にぶち込んでみたら対応してなかった
599名無しさん@お腹いっぱい。:2014/03/16(日) 18:01:30.06 ID:fPdT0jAL0
すげ〜
配列格納あきらめて
大小比較して更新してくだけの
ジョボイの組み終わったんだけど


断然、こっち >>596 のほうがスマードやな
600名無しさん@お腹いっぱい。:2014/03/16(日) 20:25:30.03 ID:9wGCbyyJ0
色範囲というのが最大と最小だけあればいいなら配列に履歴貯める必要もなく都度大小比較したほうが省メモリでスマードだよ
601名無しさん@お腹いっぱい。:2014/03/16(日) 22:29:12.37 ID:fPdT0jAL0
とりあえずの目標地点は
特定の色調ドット群を検知する弱判定器

抽出した色範囲をどう整理したらいいのかってのに今頭悩ましてる
602名無しさん@お腹いっぱい。:2014/03/17(月) 02:15:01.78 ID:SYR/rLyr0
この画像を読み込んで、数値に変換したい
i.imgur.com/WOQT1Av.png

0,1,2,,,,9の一桁の各数字をチェックして
座標の下の方から数値を並べなおして、画像の数値を読み取らせようと考えている

だけど、数字の1をチェックした場合に9がひっかかってしまったり
0をチェックした際に8が引っかかったりしてしまう
CHKIMG("1.BMP",1,0,0,,,-1,IMG_MSK_BGR4)

何かうまい方法あればアドバイス頂けませんか?
603名無しさん@お腹いっぱい。:2014/03/17(月) 13:51:48.35 ID:lX9/696d0
>>602
これは無理なパターンです。
背景と混ざってたら基本的には無理。
比較画像に透明色指定を行えば判定できる可能性があるけど、
文字のドット色がアンチエイリアス時に背景色に影響を受けたり、
元画像を縮小処理して表示していて、同じ数値が常に同じ
ドットパターンにならないケースもある。
出来るか出来ないかは単体テストプログラムを書いて
テストしてみるしか無いけど、
無理でないパターンで判定を成功させた経験がないと、
バグなのかやり方が悪いのか元々無理なのかの正確な判断は難しい。
604名無しさん@お腹いっぱい。:2014/03/17(月) 13:52:32.60 ID:lX9/696d0
>>601
とりあえずCSVに書き出して、あとはEXCELで好きなだけいじったらいい
605名無しさん@お腹いっぱい。:2014/03/18(火) 10:06:07.22 ID:AFy6nPwa0
chromeのプロファイルを指定して開きたいのですが起動オプションをつけてもうまく起動しません。
サンプルなどありましたら教えて下さい。
606名無しさん@お腹いっぱい。:2014/03/18(火) 10:15:31.84 ID:AFy6nPwa0
自己解決しました、お騒がせしました
607名無しさん@お腹いっぱい。:2014/03/18(火) 10:47:26.24 ID:ZqaTRSLN0
DOSCMD("echo コメント > C:\Users\user1\Desktop\コメント.txt")
を使ってデスクトップ中に複数のテキストファイルを作成させてるんだが、
これを座標指定して作成することが出来なくて困っている。
そこまでは出来ないのかな?
608名無しさん@お腹いっぱい。:2014/03/18(火) 12:07:26.45 ID:QJdSxDps0
ファイルアイコンの座標のこと?
なぜデスクトップなんかに…
609名無しさん@お腹いっぱい。:2014/03/18(火) 13:45:06.44 ID:ZqaTRSLN0
>>608
そうです。ある方の命令で。
綺麗に並んでいないので怒られて。。。
610名無しさん@お腹いっぱい。:2014/03/18(火) 14:07:43.88 ID:f2hQ5fwP0
アイコンの自動整列や並び替えで並べればいいんじゃ?
意味不明すぎるな・・・
611名無しさん@お腹いっぱい。:2014/03/18(火) 14:54:15.91 ID:ZqaTRSLN0
>>610
そんなことをすれば、
既に並べられているアイコンに影響が出て
もっと怒られます。
やっぱり出来ないんですね。
612名無しさん@お腹いっぱい。:2014/03/18(火) 16:06:50.57 ID:sMKP+yJ+0
できあがってからコメント.txtをマウスでつまんでMMVするか
デスクトップにはショートカットを綺麗に並べて置いておくか
デスクトップの配置を記憶するフリーソフトを探して併用する
613名無しさん@お腹いっぱい。:2014/03/18(火) 19:47:39.68 ID:/Id38zCx0
何らかの判断基準があって
人で操作可能な事なら出来ないことはないだろ
何がやっぱりなんだ?
614名無しさん@お腹いっぱい。:2014/03/18(火) 23:38:30.44 ID:ZqaTRSLN0
"座標指定して作成"
が一気に出来ないということです。
その後の操作するのは、当たり前すぎて。。。
615名無しさん@お腹いっぱい。:2014/03/18(火) 23:51:30.44 ID:sMKP+yJ+0
当たり前のことをやらないから怒られるんじゃあ
616名無しさん@お腹いっぱい。:2014/03/19(水) 01:06:16.43 ID:eQsSSAqS0
確かに芸が無いが、難しいな。
617名無しさん@お腹いっぱい。:2014/03/19(水) 08:31:03.01 ID:bZaqCukP0
>>614
WindowsのAPIで出来るかどうかが問題
もしそういうAPIがあれば、それを利用したアプリも存在するだろう。
そしてUWSCは、あなたのいう「その後の操作」を自動化するソフト。
つまりアナタの見当違い。
618名無しさん@お腹いっぱい。:2014/03/20(木) 14:29:20.97 ID:bkJO5tv60
以下のプログラムを実行すると、下記プログラム中の7行目(*)の時点でG_IMG_Xの値が初期化されてしまっています
PUBLICを加えた時点でどうやら変な動作をするようになったのですが、これがダメな理由(このような仕様になっている理由)についてよければ教えて頂けないでしょうか?
またこの場合の適切なプログラムの書き方などありましたらアドバイス宜しくお願いします。

If CHKIMG("ss/send_troop.BMP",0,0,0,,,-1,IMG_MSK_BGR6)
SOUND("BEEP")
print "send_troop_G_IMG_X"+G_IMG_X+","+G_IMG_Y

print "send_troop"
send_troop_flag=1
(*7行目) PUBLIC send_troop_X=G_IMG_X+30
PUBLIC send_troop_Y=G_IMG_Y

PUBLIC flag_min_x=100
PUBLIC flag_max_x=100
PUBLIC flag_min_y=60

print "send_troop_X="+send_troop_X
print "send_troop_Y="+send_troop_Y
print send_troop_X-flag_min_X+","+(send_troop_X+flag_max_X)
print send_troop_Y-flag_min_Y+","+send_troop_Y


......
endif
619名無しさん@お腹いっぱい。:2014/03/20(木) 14:48:03.70 ID:R84m05Pw0
>>618
これだけだと別に初期化されないけど
どこか別の所でchkimgやってるんじゃない?
620名無しさん@お腹いっぱい。:2014/03/20(木) 15:16:30.17 ID:GIK2DrYv0
>>618
Publicはコードが実行される前に処理されるから
G_IMG_*の初期値がそれぞれの変数に代入されるよ
なので宣言だけ頭でしておいた方がいいね
621名無しさん@お腹いっぱい。:2014/03/20(木) 15:24:44.82 ID:bkJO5tv60
>>619,>>620
回答ありがとうございます!
PUBLICがつくと前処理されるんですね
アドバイスありがとうございました。
622名無しさん@お腹いっぱい。:2014/03/24(月) 08:22:24.06 ID:xGbEeuMt0
あら?Firefox28.0がAACアクセス出来なくなったかも?
623名無しさん@お腹いっぱい。:2014/03/24(月) 13:47:37.07 ID:FKvEXXEu0
//Aに"該当コメント"があり、かつデスクトップに"X.txt"があったら、
//"動作.uws"を行うように、下記で行うことは出来たのですが、
IFB (POS("該当コメント", A)>0)_
AND FOPEN("C:\Users\user\Desktop\X.txt", F_EXISTS) THEN
Call 動作.uws

//Aに"該当コメント"があり、かつデスクトップに"X.txt"があり、
//かつデスクトップに"Y1.txt"や"Y2.txt"や"Z.txt"のどれも無ければ、
//"動作.uws"を行うようにしたのです。

つまり、"Y1.txt"や"Y2.txt"や"Z.txt"があった場合だけは、
"動作.uws"をさせなくしたいのですが、どうやっていいのか分かりません。
どうやったら、できるのでしょうか?
624名無しさん@お腹いっぱい。:2014/03/24(月) 14:14:45.50 ID:xGbEeuMt0
OPEN(ファイル名, F_EXISTS) は TRUE(在り)/ FALSE(無し)を返すので
!OPEN(ファイル名, F_EXISTS) って感じに論理否定すると TRUE(無し)/ FALSE(在り)となる

これで全部 AND で書けるんじゃないか?
625名無しさん@お腹いっぱい。:2014/03/24(月) 14:55:52.14 ID:FKvEXXEu0
>>624
おお、
AND !FOPEN("C:\Users\user\Desktop\Y1.txt", F_EXISTS)
・・・
で書いていけばいいんだな。さっそくやってみるわ。
626名無しさん@お腹いっぱい。:2014/03/24(月) 20:48:51.84 ID:FKvEXXEu0
>>624
上手くいったわ
ありがとう
627名無しさん@お腹いっぱい。:2014/03/25(火) 20:36:28.35 ID:YD9FSNis0
exitはマクロの終了ですが
マクロを最初からやり直すコマンドはないのでしょうか
628名無しさん@お腹いっぱい。:2014/03/25(火) 20:37:40.50 ID:twnCIIl60
プログラム 繰り返しで検索
629名無しさん@お腹いっぱい。:2014/03/26(水) 13:06:17.29 ID:ggefVGZCI
一月に一回ぐらい、ショートカットや予約が消えてしまう(uwsc.iniが初期化されてしまう)のですが、
何が原因なのかわかる方いますか?
現状はuwsc.iniのバックアップを取り、初期化されると上書きしています。
630名無しさん@お腹いっぱい。:2014/03/26(水) 15:36:03.06 ID:ofw+9S350
>>629
UWSCを置いている環境が悪い。
クリーンアップ系のツールが定期的に巡回してるとか。
だとしても、消えたことがないからなぁ…
誰かと共有のPCなら諦める。
631名無しさん@お腹いっぱい。:2014/03/26(水) 23:42:26.30 ID:u+Yr5Spy0
>>629
当て推量に期待する前に、
まずは、月一回がいつなのかを突き止めれば良いのでは?
Uwsc使えるなら楽勝じゃん?
632名無しさん@お腹いっぱい。:2014/03/27(木) 00:27:13.87 ID:zruLowQm0
>>630
クリーンアップは自動で動かしてないし、手動でやった時に消えている事はない。
共有でもない。

>>631
あるプログラムを一日中動かしてるから別のプログラムを動かせない。
633名無しさん@お腹いっぱい。:2014/03/27(木) 02:02:47.98 ID:eDJrK+qq0
>>632
なにそれ、情報出す気もないなら突き止める気もないじゃん。
なぞなぞでも出したつもりならスレ違いだし。
634名無しさん@お腹いっぱい。:2014/03/27(木) 02:48:48.65 ID:zruLowQm0
レス書いてくれたから答えたのになぞなぞに見えるの?
635名無しさん@お腹いっぱい。:2014/03/27(木) 02:50:53.58 ID:kfs5xonx0
>>632
> あるプログラムを一日中動かしてるから別のプログラムを動かせない。

関連付けでスクリプトを直接実行すればいくつでも実行できるよ。
636名無しさん@お腹いっぱい。:2014/03/27(木) 02:53:42.82 ID:/lCOO8SV0
まぁuwscの質問でもないし、スレ違いだろうな
637名無しさん@お腹いっぱい。:2014/03/27(木) 06:58:16.38 ID:104HC+Ec0
特定のキー(\)をトグルスイッチにして条件が合えばキー入力(今回はF2と左クリック交互の連打)したくてIF文を書いてみたのですが、
「IFB-ENDIF:String型からDouble型へのバリアント型変換はできません」とエラーが返ってきます。

IF KBD(VK_OEM_5,CLICK) THEN
While 1
KBD(VK_F2,CLICK,10)
BTN(LEFT,CLICK,1)
Wend
ELSE
ENDIF

うまく動いたら連打中の文の中に更に最初にスイッチにしたキーを押した場合連打を止める文を書こうと思っていたのですが最初で躓いてしまいました。
IFでなくてもいいので何かいい方法はないでしょうか?お願いします。
638名無しさん@お腹いっぱい。:2014/03/27(木) 07:05:06.86 ID:cNJ7EU370
>>637
1行目はGETKEYSTATEなんではなかろうか
639名無しさん@お腹いっぱい。:2014/03/27(木) 07:31:55.59 ID:104HC+Ec0
>>638
素早いレスありがとう。エラーでなくなりました。

While 1
IF GETKEYSTATE(VK_OEM_5,CLICK) THEN
While 1
KBD(VK_F2,CLICK,10)
BTN(LEFT,CLICK,1)
IF GETKEYSTATE(VK_OEM_5,CLICK) THEN
break
ELSE
ENDIF
Wend
ELSE
ENDIF
Wend

こうすることで目標は達成できたみたいなんですが、止めるときのスイッチの入力判定がめちゃくちゃシビアでなかなか止まりません。
もうちょっと勉強してきます。ありがとうございました。
640名無しさん@お腹いっぱい。:2014/03/27(木) 08:09:24.64 ID:lIFpPfYG0
HiMacroEx
ttp://www.vector.co.jp/magazine/softnews/081016/n0810161.html
マウスやキーボードの操作を手軽に記録し、再生できるマクロユーティリティ
641名無しさん@お腹いっぱい。:2014/03/27(木) 08:48:01.09 ID:104HC+Ec0
>>640
その辺のフリーソフトは全て試してできる奴できない奴わかってるんだけど、今やってるゲームだとうまく動かないんだ。
で、UWSCの再生ホットキーが1つのボタンにできれば解決するんだけどどうも無理だった。
しかしマウスにG500使ってたからそっちのマクロに再生ショートカットを押せるように設定したら完璧になったという・・w
最初から連打ループだけの文でよかったw
642名無しさん@お腹いっぱい。:2014/03/27(木) 11:49:22.80 ID:gCbZOXhU0
ページにリンクが10個あり一度アクセスしたサイトにアクセスしない方法とかありますか
ページを更新するたびに一度アクセスしたサイトもアクセスしてしまうので
643名無しさん@お腹いっぱい。:2014/03/27(木) 12:05:52.50 ID:sI4fd4Q90
連想配列の引数にURLを入れてフラグ立ててけばいいんじゃないのか
644631:2014/03/28(金) 00:37:05.49 ID:Rt/jGL3Q0
>>632
[あるプログラムを一日中動かしてる]と、なぜ[別のプログラムを動かせない]のでしょうか。

1日中とは、24時間? それとも朝電源ONから夜電源OFFまで?
645名無しさん@お腹いっぱい。:2014/03/28(金) 00:58:40.25 ID:xBeeHuHO0
>>644
多分もう触らなくて良いと思うわ
646名無しさん@お腹いっぱい。:2014/03/28(金) 03:37:23.59 ID:aCkShUSU0
↓  ↓   ↓  ↓   ↓  ↓
http://anago.2ch.net/test/read.cgi/software/1393232817/9
647名無しさん@お腹いっぱい。:2014/03/28(金) 11:56:28.16 ID:jBRN2eEB0
このソフト凄いね
プログラムのプの字も知らなかったけど自分のやりたい動作が出来たよ
プログラム組むのって面白いね

素人のくだらない疑問なんだけど、
例えば、2chの専用ブラウザとかだと
文章を入力して送信ボタンを押せば掲示板にレス出来るけど、実際にIEとかのブラウザを起動している訳ではないよね
こういったソフトとUWSCの動作の違いって何??
648名無しさん@お腹いっぱい。:2014/03/28(金) 12:21:44.99 ID:HsWZhqv60
>>647
UWSCはアプリケーションソフトを外から操縦。
または、COMオブジェクトを使う。

専用ブラウザ等は通信にはCOMオブジェクトを使うかもしれんが、
もっと低水準のWindowsAPIやライブラリを使う。
その分、知識も必要。

UWSCもWindowsAPIを呼び出せるが、
ポインタや構造体をサポートしてないのでほとんどの機能は直接扱えない。
ライブラリを使って扱えるようにしたとしても、速度が遅すぎる。
コンパイラ言語とは比較にならない。

UWSCは遅いが、操縦対象の IE や COM オブジェクトはもっと遅いので問題にならない。
キー、マウスエミュレーションにしてもダブルクリックができればだいたいの作業に支障はない。
649名無しさん@お腹いっぱい。:2014/03/28(金) 14:35:30.44 ID:kFcmntkS0
>>643
それが予めurlが決まってないのでこれだ!!!というurlを配列の要素として書き込めないんです
650名無しさん@お腹いっぱい。:2014/03/28(金) 23:09:41.41 ID:qmKmaJez0
これ面白いね
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=5266

こういう理論?アルゴリズム?って
普通、どこで学ぶべきなんだろう
651名無しさん@お腹いっぱい。:2014/03/28(金) 23:13:00.29 ID:ByuMurtw0
>>650
家で。
652名無しさん@お腹いっぱい。:2014/03/29(土) 07:25:24.05 ID:VjltT3Ll0
windows8にしてから思うように動作しないソフトがあり
その代わりをUWSCで実現できないかと思い質問させていただきます
(以前の動作)
ブラウザやテキストエディタ上などで文字列を反転
右ダブルクリックで"アートチップス"を起動
web検索に登録した"Everything"やブラウザで文字列を検索

これを実現するにはまず反転した文字列をsendstrでクリップボードへ
というのが必要だと思うんですが、その方法がわかりません
どなたかヒントをいただけないでしょうか?よろしくお願いします
653名無しさん@お腹いっぱい。:2014/03/29(土) 20:20:07.46 ID:CnIb0tWb0
     _,,...,,_
  ,ィ",、_/_,,._,
 /  '  } {"  ">
 | -―・ー{ }}ll-i 〈=========---
  、 、_ _} {_   、>
  ` 、._゙ ,\``゙    スイーッ
      ̄ ̄
654名無しさん@お腹いっぱい。:2014/03/29(土) 22:28:25.65 ID:U5iDIOUY0
>>652
アートチップスとやらの起動方法を変えればいいだけだと思うが

SCKEY
Ctrl+C
655名無しさん@お腹いっぱい。:2014/03/30(日) 04:47:59.83 ID:LJsM69pd0
>>654
SCKEY ありがとうございます。
Arttipsだけでなく、他にもいろいろ動かないソフトがあるので
対応をまつより自分でなんとかできないかと思いまして
UWSC初めてなのでうまくいかなかったらまた助言をいただきに来るかもしれませんが
どうもありがとうございました
656652:2014/03/31(月) 00:19:36.54 ID:jd97SqSy0
たびたびすいません
UWSCでは右ダブルクリックを判定できないんでしょうか?
今はショートカットを割り当てて多ボタンマウスでとりあえず運用してます。

あともう一つ、こちらがより問題なんですが
ファイラ上でファイル名変更→範囲選択→作ったUWS実行
が機能しません。UWSC自体をバックグランドのまま実行できると
もしかしたら可能かもしれませんが、起動オプションにはみあたりませんでした

どうかお知恵をお貸しください
657名無しさん@お腹いっぱい。:2014/03/31(月) 01:10:30.71 ID:nRMijpB80
ttp://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
0x01 VK_LBUTTON Left mouse button
0x02 VK_RBUTTON Right mouse button
0x03 VK_CANCEL  Control-break processing
0x04 VK_MBUTTON Middle mouse button (three-button mouse)

VKにダブルクリックはないので無理かな。
グローバル変数に時刻(ミリ秒まで)を記録して2回目が素早ければダブルクリックと判定するのは普通のやり方。

GETKEYSTATE ではクリックされた正確な時刻は取れないのでイベントで受け取る。
イベント関数はクリックごとに呼ばれる。

// ホットキーの設定
戻値 = SETHOTKEY( キーコード, [修飾子キー, Procedure名] )


普通のアプリケーションソフトなら WM_LBUTTONDBLCLK とかを受け取れる。
ttp://www.geocities.jp/ky_webid/win32c/006.html
2回クリック
WM_LBUTTONDOWN → WM_LBUTTONUP → WM_LBUTTONDOWN → WM_LBUTTONUP

ダブルクリック
WM_LBUTTONDOWN → WM_LBUTTONUP → WM_LBUTTONDBLCLK → WM_LBUTTONUP
658652:2014/03/31(月) 14:56:37.59 ID:jd97SqSy0
>>657
詳しくありがとうございます。
右ダブルクリックは元々ないんですね
たぶん無理矢理スイッチにはできるんでしょうが
思わぬ不具合がでてきそうなのでこちらはこのまま使うことにします
659名無しさん@お腹いっぱい。:2014/04/02(水) 23:12:17.28 ID:QnhZf+IM0
PUBLIC gIsDblClk=FALSE; PUBLIC isJBOpen=False; THREAD threadJackInTheBox()
isKeyDiff=True; isWaiting2ndClk=False; AllowItvlMSec=350
GETKEYSTATE(VK_LBUTTON); PRINT "ダブルクリックしてください"
WHILE TRUE
  IFB isKeyDiff AND GETKEYSTATE(VK_LBUTTON) THEN
    PRINT "LBUTTON up."; isKeyDiff=False
  ELSEIF !isKeyDiff AND !GETKEYSTATE(VK_LBUTTON) THEN
    PRINT "LBUTTON down."; isKeyDiff=True
    IFB !isWaiting2ndClk THEN
      PRINT "1st click."; isWaiting2ndClk=True; mSec1stClkStart=getMSec()
    ELSE
      PRINT "2nd click."
      IFB getMSec() <= mSec1stClkStart+AllowItvlMSec THEN
        PRINT "This is a double-click."; isWaiting2ndClick=False; gIsDblClk=True
      ELSE
        PRINT "Too slow as a double-click."; isWaiting2ndClk=True; mSec1stClkStart=getMSec()
      ENDIF
    ENDIF
  ENDIF
  SLEEP(0.01)
WEND
660名無しさん@お腹いっぱい。:2014/04/02(水) 23:12:49.81 ID:QnhZf+IM0
FUNCTION getMSec()
  Sec=GETTIME(); RESULT=Sec*1000+G_TIME_ZZ
FEND

PROCEDURE threadJackInTheBox()
  WHILE True
    IFB gIsDblClk THEN
      IFB isJBOpen THEN
        FUKIDASI("<#CR>   <#CR> (_ _) <#CR>−−−", INT(G_SCREEN_W/2), INT(G_SCREEN_H/2))
      ELSE
        FUKIDASI("<#CR> (^o^)<#CR> 爻 <#CR>−−−", INT(G_SCREEN_W/2), INT(G_SCREEN_H/2))
      ENDIF
      isJBOpen = !isJBOpen; gIsDblClk=FALSE
    ENDIF
    SLEEP(0.01)
  WEND
FEND
661名無しさん@お腹いっぱい。:2014/04/02(水) 23:25:17.68 ID:QnhZf+IM0
ん〜これだとトリプルクリックが間に合った時に2回ダブルクリックしたことになっちゃうみたいだな…
662名無しさん@お腹いっぱい。:2014/04/04(金) 00:59:05.27 ID:+vGdS6f80
webページをF5で更新したときに、
特定の文字列が含まれるリンクがでた場合、そのリンクをクリックするようなマクロを作成したいのですが、

例えばhttp://www.yahoo.co.jp/のページ内で
"utatane"という文字列が含まれるリンクがあった場合に、
そのリンクをクリックするようにしたいのです。

しかし、Firefoxが複数起動しているという前提だとどのように組んでいいのかわからないのです・・・
Firefox個々は全てプロファイルが別れております

ここが最初の大きな問題で、
どのように個々のFirefoxを指定してあげればいいのでしょうか?
IEは使えなくFirefoxのみという前提です。

どうかご教授下さい。
663名無しさん@お腹いっぱい。:2014/04/04(金) 05:49:57.25 ID:+vGdS6f80
UWSCではなくjavaスクリプトを指定したページで常に実行させることにより解決しました。
664名無しさん@お腹いっぱい。:2014/04/04(金) 19:46:43.87 ID:UUB3R+Xn0
SPACEを押すたびにONとOFFが切り替わるソフトを作ったのですが
現在の状態(ON or OFF)を表示する良い方法はないでしょうか
665名無しさん@お腹いっぱい。:2014/04/04(金) 19:51:18.57 ID:nqFcG17k0
ソフトが作れるならインジケータ実装するだけだし画像用意して組み込んだ方が早いぞ。
666名無しさん@お腹いっぱい。:2014/04/04(金) 20:03:55.93 ID:GYxjUmmi0
有料版ならフォームがベスト
無料版ならフキダシでやりくり
667名無しさん@お腹いっぱい。:2014/04/04(金) 21:08:16.34 ID:UUB3R+Xn0
HSPでは出来ない動作だったんですよね・・・。
UWSCの有料版のEXE作成って画像内包出来ないですよね

フォームですか 調べてみます
ありがとうございます!
668名無しさん@お腹いっぱい。:2014/04/04(金) 21:28:34.57 ID:UUB3R+Xn0
フォームはHTMLファイル必須ですか・・・?
EXEファイル以外何も置きたくないのですが・・・。
669名無しさん@お腹いっぱい。:2014/04/04(金) 21:32:21.43 ID:h/oPCVHu0
スクリプトの中にhtml書けばいいよ
htmlファイルはいらん
670名無しさん@お腹いっぱい。:2014/04/04(金) 21:45:28.56 ID:UUB3R+Xn0
すいません、出来たらどう書けば良いのかお教え頂けないでしょうか・・・。

調べてもファイルを読み込みしか出てきません;;
671名無しさん@お腹いっぱい。:2014/04/04(金) 23:00:52.43 ID:h/oPCVHu0
>>670
ヘルプ→CREATEFORM→例)→計算画面
672名無しさん@お腹いっぱい。:2014/04/05(土) 01:02:38.00 ID:e0hxr4yG0
>>671
なるほど。出来たらどう書けば良いのかお教え頂けないでしょうか・・・。
673名無しさん@お腹いっぱい。:2014/04/05(土) 01:11:02.05 ID:8BMiCT150
春だねえ
674652:2014/04/05(土) 01:55:38.92 ID:GEkXFos20
>>659-660
ヒントありがとうございます
自分も頭の中でいろいろ組み立ててみたりはしてたんですが・・・
これ参考に右ダブルクリック挑戦してみます
本当にありがとう
675名無しさん@お腹いっぱい。:2014/04/05(土) 02:25:54.52 ID:AxwdprMB0
>>672
どう書けばいいか載ってるだろ
見てないのか見たけど分からなかったのかどっちだ?
textblockで囲むだけだぞ
676名無しさん@お腹いっぱい。:2014/04/05(土) 03:20:40.42 ID:9RibbxuW0
すいません670です。
なんか他の方に返信されてしまってるようですが、ヘルプ見たら出来ました〜!

>>671 さん含め他の方もありがとうございました!
677名無しさん@お腹いっぱい。:2014/04/08(火) 23:33:05.26 ID:WnIKPTSb0
win7でIEと火狐で画像認識をしたのですが
それぞれのキャプ画を用意しないと認識しませんでした
DTコンポジションのONOFFも確認済みです

XP入れてる別PCだとこの問題は起きませんでした
ググっても理由や原因は見当たりませんでした
何かご存じないでしょうか
678名無しさん@お腹いっぱい。:2014/04/09(水) 19:16:49.33 ID:lDyFrV4x0
どちらかが勝手に表示を縮小拡大してるとか、
同じ元画像を同じ比率で表示してたとしてもブラウザごとに異なる画像縮小拡大アルゴリズムを採用しているとか、
色々考えられるね。
それぞれの画像を800%ぐらいに拡大比較してみてどう違ってるか見てみたら?
679名無しさん@お腹いっぱい。:2014/04/09(水) 19:50:23.35 ID:r2b5lsrV0
サンプルのCDOを利用したメール送信  #n63
を使ってメールを送信することが出来ましたが
メールにファイルを添付することは可能でしょうか?
可能であれば方法をお願い致します。
680名無しさん@お腹いっぱい。:2014/04/09(水) 21:49:04.36 ID:lDyFrV4x0
>>679
CDOオブジェクトの使い方の問題であってUWSCの問題ではない。

CDO.Messageというオブジェクトを生成しているな…
CDO.Messageをググってみる。
ほう、コラボレーション データ オブジェクト というのか。
CDO.Message 添付 でググってみる。
VBSでの添付の仕方が判った。

ここでVBSならば解決だが、どうしてもUWSCでやりたい奇特な方は、
自力でVBSをUWSCに移植するか、UWSCからVBSを実行させるなどの連携を考える必要がある。

VBSからUWSCを実行させてもいいんだよ?w
681名無しさん@お腹いっぱい。:2014/04/09(水) 22:05:42.14 ID:r2b5lsrV0
uwsc単独では出来ないということですね
ありがとうございました
682名無しさん@お腹いっぱい。:2014/04/09(水) 22:18:54.21 ID:mJngyWTk0
俺はメールソフトの自動化で実現してるよ。
ちなみにソフトはThunderbird。
683名無しさん@お腹いっぱい。:2014/04/09(水) 22:27:12.76 ID:71WHokab0
>>681
騙されんなよw
uwscだけでできるからな
684名無しさん@お腹いっぱい。:2014/04/09(水) 23:53:39.07 ID:VbvibvxP0
>>678
回答ありがとうございます
ブラウザの解像度で、同じブラウザ作成画像でも認識しなくなるとは知りませんでした。
685名無しさん@お腹いっぱい。:2014/04/10(木) 00:46:51.48 ID:YTWUlz180
>>683
どうやれば出来るのでしょうか?
686名無しさん@お腹いっぱい。:2014/04/10(木) 06:12:53.24 ID:erZCXLes0
>>685
調べ方まで示されてるのに聞いてばかりで自力で解決しようとする意気が見られない。
UWSCだけでやるならググって出てきたVBSをUWSCに自力で移植すればいい。
その気がないなら「こんなソフトありませんか」で質問するなり製作代行スレにでも行ってくれ
687名無しさん@お腹いっぱい。:2014/04/10(木) 06:14:12.75 ID:erZCXLes0
>>684
よく読んで。…が考えられる、というだけ。自分で調べるしかないよw
688名無しさん@お腹いっぱい。:2014/04/10(木) 08:53:18.23 ID:YTWUlz180
>>686
すでに自力でやってみたのですが添付ができなかったので質問しました
uwsc単独で特別な方法が要らないのならもう少し自力でやってみます
ありがとうございました
689名無しさん@お腹いっぱい。:2014/04/10(木) 14:01:36.29 ID:mgubj/hW0
コレクションを回したい時にForeach文が無いのは不便だけど
GETOLEITEM関数を経由してALL_OLE_ITEM[ ]配列で回せるしなぁ

イベントをフックさせる方法もOLEEVENT関数で可能だし(※今回のケースで必要かどうかは調べてないから知らない)

少なくともCREATEOLEOBJ関数から始まるCOMオブジェクトにアクセスするパターンだけなら
VB系で出来てUWSCで出来ないケースは思いつかないや
あるの?
690名無しさん@お腹いっぱい。:2014/04/10(木) 19:03:58.15 ID:uZNxE3do0
そこが問題じゃなくて、ネット上のサンプルがVB系で載っていることが殆どだから、VB系のほうが初心者に優しい、
ってことでしょ。UWSCで自在にオブジェクト扱える人って、他の言語でマスター済の人がUWSCに応用しているのであって、
UWSCを通して身につけた訳じゃないだろうしね。
691名無しさん@お腹いっぱい。:2014/04/10(木) 21:32:59.55 ID:YTWUlz180
出来ましたー
記述の問題だったようです
回答してくださった方々ありがとうございました
692名無しさん@お腹いっぱい。:2014/04/11(金) 12:32:55.96 ID:7xQ+4EbH0
http://anago.2ch.net/test/read.cgi/software/1393584975/816
単発処理なので F12 で終わるとか書かれても意味がない。
exec でメモ帳を起動した後に Ctrl + C でコピー操作をしているのがおかしい。
アクティブウィンドウの文字列をコピーした後でメモ帳を起動しないと。
それが正常 (?) に動いた場合、メモ帳側を対象にコピー操作してしまう事になる。

UWSC では小文字でも良いかもしれないけど、一般的に定数 (get_frompoint_win 等) は大文字で。
面倒なのでやっていないけど、本当はループで指定されたウィンドウがアクティブになるのを待ってから次の処理をする。

ここまで言ってなんだけど、この処理に UWSC は向いていないと思う。
これならまだ秀丸マクロとかでファイル処理を含めてやった方がスマートかと。

sleep(1.5) // デバッグ用

id = getid(GET_FROMPOINT_WIN)
sckey(id, VK_CTRL, VK_C)
exec("notepad.exe logfile01.txt")
fid = getid("logfile01.txt - メモ帳")

ifb (status(fid, ST_ACTIVE ))
 sckey(fid, VK_CTRL, VK_END)
 sendstr (fid, "<#CR>追加<#CR>") //追加とか文字いらなければ先頭に「//」を
 sckey(fid, VK_CTRL, VK_V)
 sendstr (fid, "<#CR>") // 常識的に考えて最後は改行を入れる
endif
693名無しさん@お腹いっぱい。:2014/04/11(金) 16:28:51.10 ID:eMXmvUAB0
>>692
どうもありがとうございます。あっちの820です。
最初はそういう順番で書いたんですが
自分の環境だとクリップボードが""logfile01.txt - メモ帳"
に上書きされてしまったんです。ん〜なんでなのかわからないんですが・・・
それでいろいろ試してちゃんとコピーできるのあの順になったのです。
ただ皆さん動かないと言ってるので、自分の環境がなんか変なのかも
7xQ+4EbH0さんのでやってもコピーちゃんとできてるので
最初にsleep入れると良かったんですね、きっと

アクティブになるの俟つのはstatusですか
この辺り全然知らなかったんでsleepしてました(汗
動かないと言ってた人はこの辺が原因かもしれないですね
SSDとHDDの違いとかでしょうか。

まあまだまだ自分専用で、人の為に書くのは10年早かったです。
どうもありがとうございました
694名無しさん@お腹いっぱい。:2014/04/11(金) 19:27:26.27 ID:M65tSzAV0
バッチファイルが一番短くてちょっとふいたw
まぁ可読性の低い古代魔法言語だから改変が大変だけど
695名無しさん@お腹いっぱい。:2014/04/11(金) 20:57:46.63 ID:k3kwvNLY0
ブラウザゲーのFlashで固まってしまうのですが何か対処法はありますか?Firefoxを使用しています
696名無しさん@お腹いっぱい。:2014/04/11(金) 21:02:05.27 ID:fiUBCS140
PCを買い換える
697名無しさん@お腹いっぱい。:2014/04/12(土) 05:06:54.21 ID:K9EuuPEp0
SLEEP(1)
PUBLIC id1 = GETID("電卓", "CalcFrame", -1)

PUBLIC id2 = STATUS(id1 , ST_ACTIVE)

msgbox(id2)

上のコードが正しく実行されません;;
PUBLICを外せば問題ないのですが、作ってるソフト上外せません。
最初からアクティブになっていないと 1 が返らないようです。

これはなぜなのか誰か分からないでしょうか・・・。
698名無しさん@お腹いっぱい。:2014/04/12(土) 05:23:44.25 ID:X3SA6h240
>>697
>>618>>620この辺と同じじゃない?
699名無しさん@お腹いっぱい。:2014/04/12(土) 06:57:58.83 ID:K9EuuPEp0
>>698
ありがとうございます。
すぐ上に書いてありましたね。

これについては解決したのですが、実行すると暫くループしてからUWSCに問題が発生して落ちてしまいます。
この場合はコードが悪いんですかね
700名無しさん@お腹いっぱい。:2014/04/12(土) 09:42:07.22 ID:koHPxBlt0
>>695
スレッドを駆使してフリーズを判定し、ブラウザ強制終了によるデッドロック解除を行う。
難しいし安定しないよ。
701名無しさん@お腹いっぱい。:2014/04/13(日) 08:25:07.57 ID:soI4vXQv0
いつだったか、ブラウザが管理者権限で起動される問題について書いたけど、
やっぱり危険らしい。

> 77 名前:名無し~3.EXE[sage] 投稿日:2014/04/13(日) 03:31:20.11 ID:0Oe020AR
>  >> 71
>  そんな面倒くさい事するよりDropMyRightsかPrivatefirewallでブラウザの権限下げてやれば100%安全だから
>  
>  何故かリンク消してるけど
>  ttp://web.archive.org/web/20120528222153/http://download.microsoft.com/download/f/2/e/f2e49491-efde-4bca-9057-adc89c476ed4/DropMyRights.msi
>
>
>
>  Windowsは管理者権限のないユーザーでログオンしていればどれくらい安全か?
>
>  これは、米セキュリティベンダーのAvectoが、2013年にMicrosoftが公開した脆弱性情報全333件を分析したもので、
>  Windows OSに限定すれば「緊急」レベルの脆弱性の96%が軽減され、Internet Explorerについてはレベルに関係なく100%すべての脆弱性が軽減できるという結果が出ています。
702名無しさん@お腹いっぱい。:2014/04/13(日) 18:42:22.82 ID:Gz5sFjU30
最近uwscを使い始めました

ctrl+wでランチメニューが呼び出せるけど、そのままctrlを押したままだと
1や2を押してもメニューが実行できず、一旦ctrlキーから指を離す必要がある

これって何か対応策ないですか?
703名無しさん@お腹いっぱい。:2014/04/14(月) 17:32:08.38 ID:01n7rRih0
多分無い
個人的にはUWSCを常駐させるとショートカットをOFFに出来ない仕様の方を何とかして欲しい・・・

拡張子の関連付けで直接起動できるようにすると便利だよ
メニュースクリプトを自前で作成するのも良いかも

Windows7の小ネタとして
1.メニュースクリプトを自作して以下の様な感じでショートカットを作成
  ”UWSCのインストール先\UWSC.exe” "メニュースクリプト.uws"
2.適当なアイコンを設定してタスクバーにピン止め

すると左クリックで普通にスクリプトが実行されてメニューが表示される
右クリックするとWindowsの標準機能でuwsc.exeの「最近使ったもの」が表示されるので結構便利だよ
704名無しさん@お腹いっぱい。:2014/04/14(月) 20:06:54.26 ID:ty1O0Ezu0
そこに気づくとはやはり・・
705名無しさん@お腹いっぱい。:2014/04/15(火) 00:11:20.46 ID:mdQFKSYq0
RANDOMを使い、出た数値によって行動を変えるツールを作りました。
0で移動しない、1で左 2で右 3で上 4で下に移動です。

これを設定ファイルから上下移動をオフにしたら、その場、左右行動しかしないようにしたんですがどうすればいいのか思いつきません。

三秒ごとに実行したいので、RANDOMで出た数値を無効化することも出来ません。

誰か良い方法を教えて頂けないでしょうか
706名無しさん@お腹いっぱい。:2014/04/15(火) 00:15:58.48 ID:EYMq7X8G0
>>705
ifb 上下運動しない
 continue
endif
707名無しさん@お腹いっぱい。:2014/04/15(火) 00:21:56.88 ID:EYMq7X8G0
ミス

ランダム取得
上下運動 = ( 上 or 下 )
ifb !上下運動しない and 上下運動
 continue
endif
ランダム運動
sleep(3)

上下運動にフラグが入るような計算をする。
708名無しさん@お腹いっぱい。:2014/04/15(火) 00:47:21.90 ID:MP+sjxhR0
34がでたら-2するとか…あ、これだとその場の確率が下がるな。
709名無しさん@お腹いっぱい。:2014/04/15(火) 02:18:55.15 ID:mdQFKSYq0
continueで上下が出たのみ、ループの先頭に戻してまたランダムを実行するってことですか?
710名無しさん@お腹いっぱい。:2014/04/15(火) 13:32:19.58 ID:EYMq7X8G0
>>709
そうだよ
最初からランダムで不連続な値は作れない。

値変換テーブルを作る方法もあるし
>>708 もいいし
>>705 に限っては範囲を変更する方法もあるけど

やっぱ >>708 がシンプルでいいかな。
ただ、何をしてるか分かりにくくなるからコメント必要。

>>707 は何をするかがコード中の変数名、関数名、条件式で書いてあるからコメントなくても分かると思う。
あ、つまり、冗長ってことか。
711名無しさん@お腹いっぱい。:2014/04/16(水) 10:37:18.99 ID:1KWk4EqM0
DIMに変数を入れ、あとから使いたいです

DIM A[] =hensuuB,hensuuC
for i = 1 to 2
A[i] = 5
next
msgbox(hensuuB)
msgbox(hensuuC)

しかしこれではエラーが出るのですが、このような使い方は出来ないのでしょうか
712名無しさん@お腹いっぱい。:2014/04/16(水) 10:58:20.16 ID:1KWk4EqM0
すいません、質問したものの必要有りませんでした
おかしな質問してすいませんでした。
713名無しさん@お腹いっぱい。:2014/04/16(水) 11:03:56.33 ID:9sqNOTtG0
>>711
出来ません
「連想配列」というものがあります。ひょっとすると気に入るかもしれません
こういうものです(UWSCのヘルプからコピペ)
A["あ"] = 1
A["う"] = 3
A["え"] = 4

// "う"の値は何?
print "'う' の値は " + A["う"]

// "え"があれば削除
ifb A["え", HASH_EXISTS]
  flg = A["え", HASH_REMOVE]    // 必要無くとも変数で受ける
endif
714名無しさん@お腹いっぱい。:2014/04/18(金) 04:27:05.83 ID:OYwcgbG60
有料版のEXE作成のアイコン変更って、一つのiconファイルしか参照できませんか?
サイズによってiconを変えたいのですが・・・・。
715名無しさん@お腹いっぱい。:2014/04/18(金) 08:02:26.05 ID:0o+o6ybX0
1つのiconファイルに複数サイズ格納すればいいだけの話だろ。
716名無しさん@お腹いっぱい。:2014/04/18(金) 09:18:48.30 ID:OYwcgbG60
>>715
できてないのかと思ったら出来てました。
ありがとうございます
717名無しさん@お腹いっぱい。:2014/04/19(土) 09:21:20.97 ID:5rco1iGQ0
別プロセスのメモリを読み取り、書き込みする方法を教えて下さい
718名無しさん@お腹いっぱい。:2014/04/19(土) 09:39:05.92 ID:of3EXita0
メモリエディタとパケットジェネレート欲しいわ(´・ω・`)
チートし放題や
719名無しさん@お腹いっぱい。:2014/04/19(土) 17:57:24.19 ID:dckjWDY80
現在UWSCをrubyに移植中なんですが、UWSCのinputをrubyで作る場合ってどうすればいいです?
inputは入力ボックスにファイルをドラッグ&amp;ドロップでファイルの位置をコードに変換できるところが素晴らしいんですがrubyは無いのでしょうか
720名無しさん@お腹いっぱい。:2014/04/19(土) 19:24:54.17 ID:EW5wXD960
rubyistに聞いてくれよwww
721名無しさん@お腹いっぱい。:2014/04/19(土) 21:06:21.82 ID:RmHpkVyh0
メモ帳を開いている状態でメモ帳内の特定箇所のコピーができるマクロってないでしょうか
メモ帳の内容は
入荷100
良品70
不良30
出荷50
という内容でコピーしたい箇所は100や70の数字だけを個別でコピーしたいというものです

現在はメモ帳の位置を固定して座標とSCKEYで無理やりコピーしてるのですが
たまに少し座標がずれたりするので、キチンとしたマクロを組みたいと思ってます

たとえばTEST.txtというテキストファイルを開いている状態で

id = GETID("TEST.txt - メモ帳", "Notepad", -1)

STR = GETSTR(id, 1)

SENDSTR(0, STR)

なら全てをコピーしてくれるのですが、それをCOPY、POSという関数で指定できないのです
COPY、POSはプログラム内で書かれた文字列を特定箇所を指定してコピーできるのは確認しましたが
GETSTRで取得した内容をCOPY、POSで箇所指定できるようなことができますでしょうか
722名無しさん@お腹いっぱい。:2014/04/19(土) 21:19:34.44 ID:EW5wXD960
メモ帳なんかに書かず最初からEXCEL使っとけやwww

正規表現使えるテキストエディタで文字と数値の間にタブ文字入れてEXCELに貼り付けりゃ分離できるよ。
723名無しさん@お腹いっぱい。:2014/04/19(土) 21:22:02.59 ID:fkhZbiTZ0
sendstrがいらない
724名無しさん@お腹いっぱい。:2014/04/19(土) 21:28:05.48 ID:aWMQIFjd0
そのTEST.txtをuwscで直接読み込めばいいだけだろ
725名無しさん@お腹いっぱい。:2014/04/19(土) 21:29:26.32 ID:EW5wXD960
おっ
notepad上だと[ctrl]+[←]の英単語境界ジャンプが使えるじゃん。
対象の行で、[end], [ctrl]+[shift]+[←], [ctrl]+[C], GETSTR(0)
はいできたw
726名無しさん@お腹いっぱい。:2014/04/19(土) 21:34:12.89 ID:EW5wXD960
ん?
コピーしてクリップボードに入ってる文字列 strClip = GETSTR(0)

strNum = COPY(strClip , POS(strClip, "1", …

ってことがやりたいと思われ。
727名無しさん@お腹いっぱい。:2014/04/19(土) 21:37:18.56 ID:5lkSU6W+0
>>721
正規表現ならテキスト全体から
/出荷([0-9]+)/ とかを検索条件にすると
サブマッチとして数字部分が取れる
728名無しさん@お腹いっぱい。:2014/04/19(土) 22:17:03.30 ID:RmHpkVyh0
色々なご回答ありがとうございます

すいませんメモ帳から抜粋した数字をエクセルに張り付ける作業をしていて
その数字は常に変化して一時的にメモしてるといったものなのです
それをあくまでUWSCでなんとかしたくて・・・

なるほど[end], [ctrl]+[shift]+[←], [ctrl]+[C]は参考になりました
GETSTR(0)というのは知識不足でまだわからないですが勉強して
strClip = GETSTR(0)
strNum = COPY(strClip , POS(strClip, "1", …
というようなのを取り入れたマクロでコピーできるよう頑張ってみます
729名無しさん@お腹いっぱい。:2014/04/19(土) 23:01:06.61 ID:of3EXita0
フォーマット弄っていいのか分からんけど、
弄っていいんなら、多分、最初から最後まで全部自動化できるよ。
あなたは不要になる。それがUWSC。
730名無しさん@お腹いっぱい。:2014/04/19(土) 23:41:22.36 ID:45gClwy20
//全部持ってきてから加工したほうが楽じゃないかな?
TEXTBLOCK inTxt
入荷100
良品70
不良30
出荷50
ENDTEXTBLOCK

oRegExp = CreateOLEObj("VBScript.RegExp")
oRegExp.Multiline = true //各行で^$が有効になる
oRegExp.Global = true  //最初にヒットした後も検索を続ける
oRegExp.Pattern = "\d+$" //Multilineがtrueなので各行の末尾の数値にヒットする
oMatches = oRegExp.Execute(inTxt)

outTxt = ""
For i = 0 to oMatches.count - 1
 outTxt = outTxt + oMatches.item[i] + "<#CR>"
Next
outTxt = TRIM(outTxt) //最後の改行を削除
SENDSTR(0, outTxt) //結果をクリップボードに入れるならこんな感じ
print outTxt
731名無しさん@お腹いっぱい。:2014/04/20(日) 13:53:57.58 ID:vf3QzuE30
>>730
UWSCで正規表現を使う場合の事前テストプログラムの雛形にも良いですね〜
732名無しさん@お腹いっぱい。:2014/04/22(火) 01:36:41.16 ID:egD74W0j0
UWSCでエクセルをオートフィルターで絞り込んで、その後オートフィルターを解除もしくは(すべて選択)をしたいのですが
オートフィルターで絞り込むの方は
Dim o_XL = GetActiveOleObj("Excel.Application") // エクセルを立ち上げてから実行して下さい。
Dim t_Col = 1 // 1列目で検索
Dim t_Filter = "1" // 1を含む行を抽出
Dim t_Range = "A1:IV65536" // フィルタの対象範囲
With o_XL.ActiveSheet
.AutoFilterMode = FALSE // フィルタ解除
.Range(t_Range).AutoFilter(Field := t_Col, Criteria1 := t_Filter) // フィルタ実行
EndWith
または

EXCEL = Getactiveoleobj("EXCEL.Application")
Excel.Worksheets("Sheet1").Range("A1").AutoFilter(Field:=1, Criteria1:="1")
みたいなので見つかったのですが解除もしくは(すべて選択)をするのに

EXCEL = Getactiveoleobj("EXCEL.Application")
Excel.Worksheets("Sheet1").Range("A1").AutoFilter(Field:=1, Criteria1:="すべて選択")
みたいなので試してみたのですが無理でしたので

別にマクロ作って
id = GETID("Microsoft Excel", "XLMAIN", -1)
id = GETID("", "Net UI Tool Window", -1)
CLKITEM(id, "(すべて選択)", CLK_TREEVEW or CLK_LEFTCLK)
みたいなのでもオートフィルターの解除ができませんでした

EXCEL = Getactiveoleobj("EXCEL.Application")
Excel.Worksheets("Sheet1").Range("A1").AutoFilter(Field:=1, Criteria1:="?")
でCriteria1:="?"の?にすべて選択するみたいな値があるのでしょうか
それともまったく別のアプローチがあるのか教えて頂けないでしょうか
よろしくお願いします
733名無しさん@お腹いっぱい。:2014/04/22(火) 02:02:26.79 ID:JB4C2X920
俺の手元にはEXCEL2000しかないんだが、
「全て表示」コマンドをマクロ記録してみたら、
ActiveSheet.ShowAllData
だったよ。
734名無しさん@お腹いっぱい。:2014/04/22(火) 02:12:53.99 ID:JB4C2X920
特定の列だけを対象としたい場合、

列2を値5で絞り込むときは
Selection.AutoFilter Field:=2, Criteria1:="5"

列2だけのフィルタを解除するときは、
Selection.AutoFilter Field:=2

となったよ。

そこで「VBA AutoFilter すべて」などとググると、
こんなページが見つかったよ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_autofilter.html
VBAの代わりにUWSCをキーワードにしたら、直ぐには出てこないだろうね。

何度も言われてることだけど、UWSCでやろうとすることで、問題をかえって難しくしてるよ。
特にEXCELに関しては、本当にその部分はUWSCでやるのがベストなのか、
よくよく考えなおしたほうがいいよ。
735名無しさん@お腹いっぱい。:2014/04/22(火) 02:34:48.74 ID:egD74W0j0
>>733
教えて頂きありがとうございます

EXCEL = Getactiveoleobj("EXCEL.Application")
Excel.ActiveSheet.Range("A1").AutoFilter(Field:=1, Criteria1:="1")
Msgbox("オートフイルター解除")
Excel.ActiveSheet.ShowAllData

みたいなソースで自分のしたいことはできて助かりました

>>734
VBAは難しい感じがして、ちょっと手が出にくいです
あと加工しているエクセルは随時他のPCからデータができるものでマクロは入ってないので
どうしても外部から動作させようとして手軽UWSCになってしまいます
VBAで外部から動かすような知識を覚えれば使ってみようと思います
736名無しさん@お腹いっぱい。:2014/04/22(火) 02:41:03.96 ID:JB4C2X920
別のブックにある標準モジュールから他のブックのシートいじれるよ
やりたいことをマクロの記録できるんだから EXCEL VBA のほうが簡単だし、
EXCEL VBA が出来て初めて、それをUWSCで使うことも出来るんだよ
UWSCでIEやEXCELにこんな事出来ますって書いてる人って、
当然VBだとかCだとかのプログラミング経験を応用してる訳だからね。
737名無しさん@お腹いっぱい。:2014/04/22(火) 02:59:47.55 ID:egD74W0j0
>>736
なんか順番がでたらめな感じでプログラミングしてます
Cはまったく知らないですしVBとVBAの違いとかもわからないです
なのでVBかVBAを使ってることすらわからない現状で・・・
記録の仕方とかはわかるのですがそのままうまく自分の求めるソースになってくれなくて・・・
で手軽なUWSCに嵌ってしまったといういきさつです

最初は低レベ記録でゴリ押しで作業してたのですがさすがにそろそろもうちょっと安定したものを
と思いたって色々と低レベ記録で作ったソースを見直しています
VBAでも何かそういうものに目覚めれば頑張ろうと思います
738名無しさん@お腹いっぱい。:2014/04/22(火) 03:28:34.75 ID:ugVWxBMJ0
ポリシーの問題でエクセルにマクロ組み込めないケースもあるかもだし一概に否定はしないけれど
(そういった環境でUWSCなら良いのか?って話は割愛)
とりあえずエクセルで手動操作をマクロ記録してみるって習慣はあったほうが良いかと参考になるよ
739名無しさん@お腹いっぱい。:2014/04/22(火) 11:37:56.03 ID:KVuO8qQX0
INPUTで 16進数で入力したものを、16進数で計算して出力したいです。
入力したものを16進数と判断する方法はありますか?
740名無しさん@お腹いっぱい。:2014/04/22(火) 12:13:21.05 ID:KVuO8qQX0
すいません、上は出来ました。
しかし今度は最後の一文字を把握して、特定の文字に変換する必要が出ました。


最後の一文字(0〜F) 0の場合は5に変換 2の場合は1に変換、と言ったような形です
どうにか方法を伝授して下さい
741名無しさん@お腹いっぱい。:2014/04/22(火) 12:53:19.88 ID:CjkxC7Uh0
16進数を10進数に変換するだけならval()を使って出来るわけだけど
実際にどうやって解決したかを書いた方がいいよ

文字変換はhashtblで変換の一覧を作って置き換えれば楽じゃないかな
742名無しさん@お腹いっぱい。:2014/04/22(火) 13:54:22.59 ID:ugVWxBMJ0
//16進数をUWSC内蔵表記である$〜でやるなら簡単
inTxt = "$A"
print CHKNUM(inTxt)
outTxt = VAL(inTxt)
print outTxt

//実行結果
// True
// 10

//もしかしてをの$じゃなくて&H〜とかでやりたいのかな?
//それなら最初の文字を内部的に置き換えてからチェックすれば良いんじゃないかな?
743名無しさん@お腹いっぱい。:2014/04/22(火) 22:44:41.19 ID:KVuO8qQX0
16進数を10進数にはvalを使い出来ました。

$で問題はなかったです。

しかし最後の文字を特定して変換する方法がいまだよくわかりません・・・。
hashtblで出来るのでしょうか
744名無しさん@お腹いっぱい。:2014/04/22(火) 22:58:12.13 ID:ugVWxBMJ0
//こんな感じだよ
HASHTBL changeTbl
changeTbl["0"] = 5
changeTbl["2"] = 1 //必要に応じて追加

inTxt = "〜0"
lastChar = COPY(inTxt, LENGTH(inTxt)) //最後の文字を抽出
PRINT lastChar
PRINT changeTbl[lastChar] //ハッシュテーブルの添字に直接入れる

//実行結果
// 0
// 5
745名無しさん@お腹いっぱい。:2014/04/23(水) 00:54:17.19 ID:+GIabYhZ0
>>744
返信ありがとうございます!
しかしこれだと、最後の一文字しか出力されないです。
"132456798AB"と入力した時、Bを例えば5などに変換して "13245678A5" と出力して欲しいです・・・。


また、16進数だと判断する $ を数字へ付け加える方法が知りたいです・・・。
746名無しさん@お腹いっぱい。:2014/04/23(水) 01:12:37.57 ID:fc/AzcuK0
流石に応用力つけろ
747名無しさん@お腹いっぱい。:2014/04/23(水) 01:24:04.40 ID:rHRBaO3r0
>>745
あなたのような質問の仕方は典型的に嫌われるよ。
仕様の後出し(自分自身が仕様を把握しきれてない場合も含む)
748名無しさん@お腹いっぱい。:2014/04/23(水) 02:31:08.65 ID:4WssUKTcO
>>745
丸投げは良くないね
とりあえず中途半端でもいいから自分で作ったものを持ってきてみてよ
749名無しさん@お腹いっぱい。:2014/04/23(水) 10:15:51.86 ID:+GIabYhZ0
>>747
すいません、きちんと質問内容を書き込めていませんでした・・・。
以後気をつけます

>>748
data = input("16進数を入力")
data = val("$"+ data) //10進数に変換

//行いたい計算
//16進数で計算出来ると一番良いがやり方がわからないため10進数で行う
data = data + 2896 //+$B50

data = Format(data, , -1 ) //16進数へ戻す

//最後の文字のみhashtblで変換
//やり方が分からない
textblock a
HASHTBL changeTbl
changeTbl["0"] = 5
changeTbl["2"] = 1
changeTbl["C"] = 9 //必要に応じて追加
lastChar = COPY(data, LENGTH(data)) //最後の文字を抽出
endtextblock

msgbox(data)


一応こんな感じなのですが、
例えば123456ABCと入力したらCをchangetblによって判断した数値に変え、123456AB9にしたいです
750名無しさん@お腹いっぱい。:2014/04/23(水) 11:36:19.03 ID:7WEFZ+Oy0
一文字抽出→一文字置換→一文字出力
ならば
全文字一つずつ抽出→全文字全文字一つずつ置換→連結して全文字出力
だろ
751名無しさん@お腹いっぱい。:2014/04/23(水) 11:42:06.39 ID:fc/AzcuK0
data = val("$"+ data) //10進数に変換
↑この行が書けるって事は文字列の連結が理解できている筈

lastChar = COPY(data, LENGTH(data)) //最後の文字を抽出
↑昨日のこの行が理解できたら文字列の分解が分かる筈

では、最後の文字以外を抽出した結果とハッシュテーブルの添字に直接入れた結果を連結するにはどうしたらいいだろうか?
ヒント
戻値 = COPY( 文字列, 開始位置, [コピー文字数] ) ←コピー文字数の方に注目だ
戻値 = LENGTH( 文字列 ) ←この値を少し修正すると使えそうだね
戻値 = ハッシュ配列[添字] ←ハッシュ配列に入れるのを文字列にしたら連結が楽だね
752名無しさん@お腹いっぱい。:2014/04/23(水) 12:30:16.75 ID:rHRBaO3r0
//データ型をしっかり意識して区別、異なるデータに一つの変数を使いまわさないようにする
//プリフィックスとして文字列型の変数はstr、数値はnumを頭につけてみる
strInputData = input("16進数を入力")
numData = val("$"+ strInputData) //数値に変換
numData = numData + $B50
strOutputData = "$" + Format(numData , , -1 )
753名無しさん@お腹いっぱい。:2014/04/23(水) 23:32:50.74 ID:+GIabYhZ0
>>751
出来ました!
答えを教えてくれたほうが簡単なはずなのに、ヒントを出して下さってありがとうございます。
これで少しは自分が成長出来たような気がします。

>>752
こうすると分かりやすくて良いんですね!
今後やっていきたいと思います。

不格好ですが、完成品を載せておきます。
もっと良くなる点などがあれば今後の参考のために教えてもらえると嬉しいです。
inputdata = input("16進数を入力")
//16進数で計算出来ると一番良いがやり方がわからないため10進数で行う
inputdata = val("$"+ inputdata) //10進数に変換
inputdata = inputdata + 2896 //+$B50 //行いたい計算
inputdata = Format(inputdata, , -1 ) //16進数へ戻す
fastchar = COPY(inputdata,0,LENGTH(inputdata)-1) //最後の文字以外を抽出
lastChar = COPY(inputdata, LENGTH(inputdata)) //最後の文字を抽出
lastchar = val("$" + lastchar) //10進数に変換
//hashtblで最後の文字を変換
dim hairetsu1[]="0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"
dim hairetsu2[]="1","2","5","9","7","A","F","D","B","0","3","4","6","C","8","E"
HASHTBL changeTbl
changeTbl[hairetsu1[lastchar]] = hairetsu2[lastchar]
lastchar = format(lastchar , , -1) //16進数に戻す
outputdata = fastchar + "" + changetbl[lastchar] //""で文字列にする
msgbox(outputdata)
行数が制限されてるため、見辛いですがご容赦下さい
スレの皆様には多大な迷惑をかけ、申し訳ありませんでした。
答えてくださった方々、ありがとうとうござました。
754名無しさん@お腹いっぱい。:2014/04/24(木) 00:07:01.20 ID:iYjQTSJu0
とりあえず完成おめ
先ずは動けが正解なのです

ただ一つ
lastchar = val("$" + lastchar) //10進数に変換
これを使って hairetsu2[lastchar] でアクセスしている時点で変換完了しているので
この方法だと

HASHTBL changeTbl
changeTbl[hairetsu1[lastchar]] = hairetsu2[lastchar]
lastchar = format(lastchar , , -1) //16進数に戻す
outputdata = fastchar + "" + changetbl[lastchar] //""で文字列にする

は不要ですよ

outputdata = fastchar + hairetsu2[lastchar]

でおkな筈
755名無しさん@お腹いっぱい。:2014/04/24(木) 01:21:51.85 ID:33B/MSHs0
>>754
おお、使ったことない機能(HASHTBL)だったので混乱してましたが、こう見ると必要ありませんでしたね・・・。
この通りにしたら問題なく動きました!ありがとうございます

あとは>>752さんが書いてくださった16進数のままでの計算も試してみます!
756名無しさん@お腹いっぱい。:2014/04/24(木) 22:08:48.66 ID:wTRJdF720
>>755
$B50は文字じゃなくて数値。直接足せる。
Formatの戻り値は文字列。足したら文字列連結になる。
UWSCは型を曖昧に扱えるから、
同じ変数に数値を入れたり文字列を入れたりできるが、
プログラミングの作法としては非常に悪い。
作法が悪いというのはバグの温床になるということ。
文字列連結しようとしたら加算結果の数値になっていたり、
逆に足し算しようとしたら文字列連結になってしまったり、
複雑になってくると、そういうバグが起こり得る。
やめといたほうがいいよ。
757名無しさん@お腹いっぱい。:2014/04/25(金) 19:40:26.04 ID:xJmD+sGY0
>>756
>同じ変数に数値を入れたり文字列を入れたりできるが、

perl,javascriptとかのスクリプト言語はだいたい同じ変数に入れることが可能
UWSCガ特別ゆるいわけではない
758名無しさん@お腹いっぱい。:2014/04/25(金) 20:04:21.15 ID:Z8zVocDj0
そのようですね。主流スクリプト言語は殆ど全部ないですね。
ただ、言い方の問題で、変数に型はないけど値にはあるんですね。
UWSCにもVARTYPEという関数があり、単純に数えるだけでも20種類の型があるようですね。
こういうところ、いかにもプログラミング初心者に他言語勧めたくなります。

想定外の型の値が入った場合にバグになる場合は多いので、これらの型を意識し、
変数名で区別するなどの工夫で可読性を上げるべきでしょう。
上記の質問では、質問者が数値と16進表記文字列とを区別できず混乱していますね。
役割が全く違う複数の値に同じ変数を使いまわすことで得られるメリットは実に僅か。
それより、冗長にならない範囲で贅沢に複数の変数を使い、
型や意味のわかる適切な名前をつけることで、コードの可読性を上げるべきでしょう。
759名無しさん@お腹いっぱい。:2014/04/25(金) 20:04:54.78 ID:ggIMveYT0
言語仕様として許されているのだから絶対ではないが
無料版だとデバッガがないからトラブルの原因になるよねって話だけなら同意
最終的には好きにしたらいいのさ
760名無しさん@お腹いっぱい。:2014/04/25(金) 21:10:15.87 ID:KJobuOae0
変数名に型名をつけるコーディングスタイルは嫌い
761名無しさん@お腹いっぱい。:2014/04/25(金) 21:20:44.31 ID:Z8zVocDj0
文字列経由せず出来ますね

//               0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
dim numArrayLastNumChange[] = $1, $2, $5, $9, $7, $A, $F, $D, $B, $0, $3, $4, $6, $C, $8, $E
try
  numInput = val("$" + input("16進数を入力"))
except
  msgBox("16進数を入力してください($は不要)")
  exit
endtry
numCalc = numInput + $B50
print "numCalc = " + format(numCalc,,-1)
lastNum = numCalc AND $F
print "lastNum = " + format(lastNum,,-1)
lantNumChanged = numArrayLastNumChange[lastNum]
print "lantNumChanged = " + format(lantNumChanged,,-1)
numOutput = numCalc - lastNum + lantNumChanged
print "numOutput = " + format(numOutput,,-1)

>>760
デメリット私も調べましたが仕様変更で型が変わった時に変数名全書き換えになりますねw
組込みなんかで低レベルの実装する分には型名付けてもいいと思いますし、
ゆるい型名(文字か数字か日付か程度)はいいと思いますけどね
762名無しさん@お腹いっぱい。:2014/04/25(金) 21:22:06.06 ID:Z8zVocDj0
lantはlastの書き間違い
763名無しさん@お腹いっぱい。:2014/04/29(火) 14:42:10.38 ID:WxD6cSAJ0
これさー
非アクティブウィンドウにエンター押すとかの命令はできるけど
ウィンドウの指定の位置をクリックは一度アクティブにしないと無理だよね?
764名無しさん@お腹いっぱい。:2014/04/29(火) 14:45:32.61 ID:oOY59Zus0
エンターが送れるウィンドウなら指定座標クリックも送れるだろ
765名無しさん@お腹いっぱい。:2014/04/29(火) 18:11:06.31 ID:mzR450oH0
クリックしたって情報は送れるが
裏のウィンドウの指定座標をクリックは無理だろ
766名無しさん@お腹いっぱい。:2014/04/29(火) 18:22:30.83 ID:oOY59Zus0
無理なわけないだろw
何言ってんだ?
767名無しさん@お腹いっぱい。:2014/04/29(火) 18:37:31.99 ID:mzR450oH0
すまん 単に非アクティブならって話だったな
ウィンドウ重なってる時に裏のウィンドウアクティブにしないで
指定座標クリックさせんのかと思ったわ
768名無しさん@お腹いっぱい。:2014/04/29(火) 18:53:00.79 ID:oOY59Zus0
非アクティブでウィンドウが他のウィンドウに隠れてても指定座標クリックできるだろ
xpでも使ってんのか?
769名無しさん@お腹いっぱい。:2014/04/29(火) 18:58:41.94 ID:JsAwoWG50
クリックするとアクティブになっちゃうことあったけど
あれはソフトウェアの問題だったなぁ
770名無しさん@お腹いっぱい。:2014/04/29(火) 19:00:33.27 ID:mzR450oH0
>>768
無理やろ
どうやんねん
771名無しさん@お腹いっぱい。:2014/04/29(火) 19:00:33.57 ID:H8lVjGC60
BTN命令にウィンドウID指定項がないけど別の使うの?
772名無しさん@お腹いっぱい。:2014/04/29(火) 19:18:43.23 ID:oOY59Zus0
MOUSEORG
※ 以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする
※ 基準指定にて MORG_DIRECTが指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る

mouseorg使うのなんて基本中の基本だろ?
隠れてるウィンドウにchkimgしてクリックできるぞ
773名無しさん@お腹いっぱい。:2014/04/29(火) 19:51:23.50 ID:mzR450oH0
>>772
ようわからんが俺が無知だっただけのようだ すまんな
ありがとう

>>763もお礼言っとけよ
774名無しさん@お腹いっぱい。:2014/04/29(火) 19:59:43.09 ID:zVQw90py0
実はuwscではつい最近の実装だから割と知られてないのも無理は無い
よね?
775名無しさん@お腹いっぱい。:2014/04/29(火) 20:46:20.03 ID:Wzlkj8vO0
>>772
chkimgって何か意味あんの?
指定座標クリックするだけなら
一度MOUSEORGすりゃ裏のウィンドウが基準になるんなら単に
BTN(LEFT,0,100,100)とかでいいんでねーの?
776名無しさん@お腹いっぱい。:2014/04/29(火) 20:50:56.10 ID:zXn5D50n0
隠れてるウインドウのchkimg出来ることと、それに応じてクリック出来るのが重要なんじゃないの
777名無しさん@お腹いっぱい。:2014/04/29(火) 23:03:14.66 ID:sDXjf93S0
裏でクリックって電卓だとできるんだけど
ブラウザだと何故かなんねーんだよな
俺も諦めてる
778名無しさん@お腹いっぱい。:2014/04/29(火) 23:13:24.58 ID:33LYHN3q0
それは対象アプリ側の問題
ブラウザはスクリプトをリモートで実行して何かを勝手にインストールされないように対策されているアプリ筆頭です
779名無しさん@お腹いっぱい。:2014/04/29(火) 23:21:22.47 ID:PrNQi6Qy0
ブラウザはウィンドウ内の処理も特殊なんじゃないかね
780名無しさん@お腹いっぱい。:2014/04/30(水) 00:32:36.90 ID:4vWhutiR0
そのブラウザのタブのIDじゃなくてウィンドウのIDを指定しちゃってるんじゃ?
781名無しさん@お腹いっぱい。:2014/04/30(水) 07:54:39.58 ID:XUEDylxE0
>>780
それだ
タブのIDとか指定できるのかよ
要はクライアント領域ってやつか
782名無しさん@お腹いっぱい。:2014/04/30(水) 10:25:16.52 ID:UFiRHYZh0
>>781
違う
タブウィンドウのID
783名無しさん@お腹いっぱい。:2014/04/30(水) 22:28:47.82 ID:XUEDylxE0
>>782
もうわけわからんわ
784名無しさん@お腹いっぱい。:2014/05/02(金) 22:06:44.45 ID:xDnq9c6q0
サイトに複数のIDで同時に入って操作したい。
今はIEとchromeを使い分けたり
仮想PCでやったりしてるんだが、
これをIEだけで実現することってできる?
785名無しさん@お腹いっぱい。:2014/05/02(金) 22:13:58.57 ID:uTSkzFIy0
ブラウザがクッキーを一元管理してる限り出来ないんじゃないかねえ
UAの切り替えはあってもクッキー切り替え拡張とか聞いたこと無いしな
786名無しさん@お腹いっぱい。:2014/05/02(金) 22:15:18.25 ID:uTSkzFIy0
いや、検索してみたらあるっぽいな→クッキー切り替え
それをUWSで活用できるかどうかは知らん
787名無しさん@お腹いっぱい。:2014/05/02(金) 22:20:14.92 ID:xDnq9c6q0
まじか
Aでログイン → 動作 → ログアウト → Bで同様の操作 をループするしかないと思ってたんだが
788名無しさん@お腹いっぱい。:2014/05/02(金) 22:36:20.69 ID:74FFqPDG0
sandboxie で隔離した環境なら、クッキーも別管理。
789名無しさん@お腹いっぱい。:2014/05/06(火) 10:02:31.70 ID:TJJVvVdB0
SP+メーカーのチェック状態を切り替えるスクリプト作った。
ttp://toro.2ch.net/test/read.cgi/win/1286780370/189

ダイヤログの表示を監視するのって案外反応鈍いな。
回数が少なければいいけど、100回くらい監視するのに毎回何秒も待ってられないんで
ダイヤログが表示された場合とされない場合のフォーカスのズレを利用して
ダイヤログが表示されたかどうかを判断した。

録画でリストのチェック状態を拾ってくれなかったんだけど
それを TAB 移動とスペースキーでやることにしたんで上記の方法を簡単に導入できた。
790名無しさん@お腹いっぱい。:2014/05/06(火) 13:36:30.80 ID:zOu59EBz0
これで株取引の自動化してる猛者はいないの?
791名無しさん@お腹いっぱい。:2014/05/06(火) 14:57:49.40 ID:U+tRWewy0
わざわざGUI通して操作してたら大手の超高速株取引アルゴリズムに反応すら出来んだろう
792名無しさん@お腹いっぱい。:2014/05/06(火) 18:48:33.46 ID:zmsB8i9O0
>>791
取引所の建物内にサーバー設置する有料サービスある世界だし
793名無しさん@お腹いっぱい。:2014/05/09(金) 14:20:03.39 ID:zh3kBh0j0
トレードソフトでウィンドウの操作がブロックされてるものって
結構あるのかね?
どうもうまくいかなくてさ。
794名無しさん@お腹いっぱい。:2014/05/09(金) 14:34:28.44 ID:hmS+Uq660
>>793
普通セキュリティくらいはかかってるだろ。

キーとマウスをエミュすれば回避できるんだから UWSC で操作できないって事はない。

ただ、遅いから方法はよく考えないと無駄に終わる。
795793:2014/05/09(金) 15:36:06.25 ID:zh3kBh0j0
>>794
ウィンドウ右クリックでコンテキストメニューを表示させるまではマウスの
エミュでできたんだけど、メニュー選択の為のクリックが反応しないんだよな・・。
テキストボックスにフォーカスするためのクリックも反応なし。
なぜ??
796名無しさん@お腹いっぱい。:2014/05/09(金) 17:25:37.60 ID:hmS+Uq660
>>795
メニューは無名の子ウィンドウだったり枠ごとに別のウィンドウだったりだからめんどくさい。
メニュー項目に対応したキーが定義されているなら、メニュー表示操作をしたらキーで操作が簡単。

テキストボックスに無反応か。
時々あるよね。
UWSC の実行アカウントが操作対象のアプリから弾かれてるとか。
797793:2014/05/09(金) 18:09:14.69 ID:zh3kBh0j0
>>796
メニューのID掴んでアイテム名取得を試みたけど何も取得できなかったし
キーの操作も完全ブロックな感じ。
自分の知識と技術ではここで詰みですわ・・・。
アドバイスありがとう。
798名無しさん@お腹いっぱい。:2014/05/09(金) 19:16:29.07 ID:GVJxa/Qq0
WindowsFormsアプリじゃなくてWPFアプリなんじゃないの?
UWSCだと操作し難かったはず
799名無しさん@お腹いっぱい。:2014/05/10(土) 03:50:26.85 ID:QPzG5L/s0
バックグラウンド操作とFUKIDASI機能って一緒に使うのは難しいですか?
800名無しさん@お腹いっぱい。:2014/05/10(土) 07:11:11.03 ID:EIWPk+oD0
>>799
FUKIDASI 画面が邪魔にならなければ相性いいよ
801名無しさん@お腹いっぱい。:2014/05/10(土) 14:48:42.65 ID:FXo0jxTk0
DIM str[] = "おはよう", "こんにちは", "こんばんは"
i = RANDOM(Length(str))
IESETDATA (IE, str[i],"メッセージ")

上記のコードでランダムに挨拶をieに送りたいのですが
挨拶ではなく012と要素数を送ってしまいます
なんとか挨拶を送る方法はないものでしょうか
802名無しさん@お腹いっぱい。:2014/05/10(土) 19:28:09.94 ID:wkOERuo20
>>801
挨拶送ってるけど
これ以外の部分で何かおかしいんじゃないの?
803名無しさん@お腹いっぱい。:2014/05/11(日) 11:30:06.21 ID:yXK7kEq90
chromeでGETITEMを使ってボタンの位置を取得し
クリックしたいのですが、
以下のサイトにあるように過去のバージョンでは上手く行ったようですが
サンプルにあるコードをそのまま使っても
全くといっていいほどに上手く動きません。どなたか良い知恵はないでしょうか?
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&amp;start=30&amp;log=ON&amp;cnt=33
804名無しさん@お腹いっぱい。:2014/05/11(日) 23:14:23.27 ID:PG0Lg6lO0
VMware PlayerでKBD関数をバックグラウンドで動かしたいんですが、GETIDもアクティブでないと動かないのは何故でしょう?
805名無しさん@お腹いっぱい。:2014/05/12(月) 14:30:55.26 ID:lU0EUq1S0
2014/05/12 UWSC Ver5.0.0、 Pro版と Free版をリリースしました。
806名無しさん@お腹いっぱい。:2014/05/12(月) 15:13:00.12 ID:NyLCN+2O0
あら、このバージョンから強制的にAppDataフォルダにINIとLogを保存する使用になったんだね
勝手に移動してた
それ自体は別に良いがログは移動せずに勝手に消すのかよw
本体ログに残してた自分が悪いのかもしれないが
ならprint文のデフォルトの出力先が其処にするなよって話です
807名無しさん@お腹いっぱい。:2014/05/12(月) 20:18:23.41 ID:RT6MJQvO0
print文組込みのログに頼らず独自ログにしてて正解だったようだな
808名無しさん@お腹いっぱい。:2014/05/13(火) 16:40:02.05 ID:UxyxXerQ0
>>689
> 配列の要素数分ループする FOR In 構文を付けた

だが断る(バグ恐れて様子見)
809名無しさん@お腹いっぱい。:2014/05/13(火) 21:16:36.83 ID:WTYfbdNq0
数日前からchromeにmouseorgでクリック情報を直接送ってクリックする度に、ウィンドウがアクティブになるようになってしまった
俺だけ?
810名無しさん@お腹いっぱい。:2014/05/13(火) 21:21:50.77 ID:3v6QcYIk0
[Ver5.0.0] センサー情報を返す SENSOR関数を付けた

よくわからんけどすごそうだな
UWSCがセキュリティや軍事目的で使われる日は遠くないかもしれん

戻値 = SENSOR( 取得項目 )
引数
 取得項目: 以下の定数
   SNSR_Biometric_HumanPresense   // 人が存在した場合に True
   SNSR_Biometric_HumanProximity   // 人との距離(メートル)
   SNSR_Electrical_Capacitance    // 静電容量(ファラド)
   SNSR_Electrical_Resistance    // 電気抵抗(オーム)
   SNSR_Electrical_Inductance    // 誘導係数(ヘンリー)
   SNSR_Electrical_Current      // 電流(アンペア)
   SNSR_Electrical_Voltage      // 電圧(ボルト)
   SNSR_Electrical_Power       // 電力(ワット)
   SNSR_Environmental_Temperature  // 気温(セ氏)
   SNSR_Environmental_Pressure    // 気圧(バール)
   SNSR_Environmental_Humidity    // 湿度(パーセンテージ)
   SNSR_Environmental_WindDirection // 風向(度数)
   SNSR_Environmental_WindSpeed    // 風速(メートル毎秒)
   SNSR_Light_Lux          // 照度(ルクス)
   SNSR_Light_Temperature      // 光色温度(ケルビン)
   SNSR_Mechanical_Force       // 力(ニュートン)
   SNSR_Mechanical_AbsPressure    // 絶対圧(パスカル)
   SNSR_Mechanical_GaugePressure   // ゲージ圧(パスカル)
   SNSR_Mechanical_Weight       // 重量(キログラム)
   SNSR_Motion_AccelerationX, Y, Z  // X/Y/Z軸 加速度(ガル)
   SNSR_Motion_AngleAccelX, Y, Z   // X/Y/Z軸 角加速度(度毎秒毎秒)
   …
戻値
 取得したセンサー値
811名無しさん@お腹いっぱい。:2014/05/13(火) 21:27:01.51 ID:79UdoI/C0
Windowsに標準で付いてるセンサーAPI叩いでるだけやろ
812名無しさん@お腹いっぱい。:2014/05/14(水) 07:57:18.88 ID:xstzbXJA0
こうなってくるとPC外の物も自動化したくなってくるな
無線LANで動くロボットとかをPCから操作できたら面白そう
813名無しさん@お腹いっぱい。:2014/05/14(水) 10:11:39.70 ID:ddq+KWaY0
IOボード付けたら
20年前級のPLC+モニタくらいの自動機制御は出来るんだろうか
814名無しさん@お腹いっぱい。:2014/05/14(水) 22:08:30.49 ID:DpPN90N70
物理デバイス操作となれば無限に夢が広がるね。
アイデア次第でビジネスにもなりそうだし。

目玉焼き作成用のUWSファイルが配布される可能も?
815名無しさん@お腹いっぱい。:2014/05/14(水) 22:40:31.12 ID:WlVIbwek0
目玉焼き用って落としたUWS使って火事とかになったら大変やなw
816名無しさん@お腹いっぱい。:2014/05/14(水) 23:22:27.78 ID:e+2uAq+X0
>>815
IHヒーター専用とかなんか面倒くさくなりそうな予感
817名無しさん@お腹いっぱい。:2014/05/15(木) 08:01:21.57 ID:WI5qmmvF0
んなあほな
ロボットなどの組込みを
WindowsのGUI通して自動操作するとかありえんだろ
1ビットのI/O叩くのにどんだけ手間かかるんだ
最新のPLCがどんだけ高性能化したか…
μ秒単位のタイマー使ってパルス制御とかUWSCでありえんだろ
簡単にデッドロックで止まりまくるのに
818名無しさん@お腹いっぱい。:2014/05/15(木) 08:40:36.30 ID:7d0uB0bk0
誰がいつ最新PLCと比較したんだ?
819名無しさん@お腹いっぱい。:2014/05/15(木) 18:28:32.40 ID:AnvxGZb80
20年前はWindowsをサーバー用途とかwwwwwだったから
今から20年後にはWindowsロボットだらけになってるかもね
820名無しさん@お腹いっぱい。:2014/05/16(金) 09:02:39.78 ID:QLSDapD/0
誰がいつ20年前のWindowsの話してんだ?
821名無しさん@お腹いっぱい。:2014/05/16(金) 18:32:13.31 ID:1zWJkVAY0
同じ動作繰り返してるんだけど約20分おきに、
「UWSCは動作を停止しました。問題が発生したためプログラムが正しく動作しなくなりました」
って表示されて中断されるんだけどどうやったら解決できる?
あんまり詳しくないんで具体的に教えてくれるとありがたいっす。
822名無しさん@お腹いっぱい。:2014/05/16(金) 20:05:45.20 ID:jrcP/02/0
なら19分経ったら
停止して再読み込みして再スタートさせるようにすれば?

つか20分でPCの電源管理とかモニタ制御とか掛かってんじゃねーの?
823名無しさん@お腹いっぱい。:2014/05/16(金) 20:39:07.91 ID:Xyf2SGFd0
関数を延々とコールし続けててるとか?
何にしろソースくらい晒さないと
824名無しさん@お腹いっぱい。:2014/05/16(金) 22:09:17.59 ID:1zWJkVAY0
>>822
レスありがとう。
停止して再スタートできるようになればベストですね
例みたいなものがあればおしえてください。


>>823
コールを続けると停止するんですか、知らなかったですorz
たぶんそれが原因かなぁ。。
ソースは座標ばっかりなので見る価値ないですw
825名無しさん@お腹いっぱい。:2014/05/16(金) 22:15:12.03 ID:YQJE9cKT0
見る価値があるなしじゃない
826名無しさん@お腹いっぱい。:2014/05/16(金) 22:32:01.76 ID:9pDGZ29d0
20分きっちりってことは
スクリーンセーバーが起動して画像認識に失敗してるとかじゃない
外部DLLとか使ってるとアクセス違反は簡単に起きる
827名無しさん@お腹いっぱい。:2014/05/16(金) 23:05:50.55 ID:GFwh4du00
価値とかじゃなく原因特定のためには情報が必要って話
828名無しさん@お腹いっぱい。:2014/05/17(土) 02:24:22.24 ID:2OnAOVsr0
乱数の結果を出力させる時に横並びにしたいんですが

for i = 1 to 5
print random(5)
next
↑こうやると
1
3
2
1
2
みたいに縦並びになってしまうので

print random(5)+""+random(5)+""+random(5)+""+random(5)+""+random(5)
として横並びにしてるんですがスマートな方法ありませぬか
829名無しさん@お腹いっぱい。:2014/05/17(土) 02:45:06.14 ID:df0OqgxJ0
スマートの定義は人それぞれ
必要な乱数の個数が固定であれば別にそれでいいと思うよ

様々なケースに耐えられる関数を用意しようと
引数とその判定部分を追加して関数化しても
使わなければ死にコードになってしまう

必要になった時に必要なコードを作るのが吉
830名無しさん@お腹いっぱい。:2014/05/17(土) 06:29:03.65 ID:rMTgEsmc0
表示文字列 = ""
for i = 1 to 5
表示文字列 = 表示文字列+random(5)+""
next
print 表示文字列
831828:2014/05/17(土) 08:32:16.70 ID:x6XHI1VP0
>>830
なるほどこういう風にできるのですね
ありがとうございました
832名無しさん@お腹いっぱい。:2014/05/17(土) 17:51:08.34 ID:ESL1O/wq0
msg="testScrollMsg.uws"; print msg; lid=getid(GET_LOGPRINT_WIN); mx=STATUS(lid,ST_X)+STATUS(lid,ST_WIDTH)/2; my=STATUS(lid,ST_Y)
for i=0 to 9
  ml=""
  for j=0 to 9
    if j then ml=ml+", "
    rdm=random(5); ml=ml+rdm; FUKIDASI(msg+"<#CR>"+ml,mx,my,3,,,,,85); sleep(rdm/10)
  next
  msg=scrollMsg(ml,msg,4,true,mx,my,true)
next
FUNCTION scrollMsg(lPostMsg, lBaseMsg, lMaxLines, lDoFukidasi=FALSE, lFPosX=0, lFPosY=0, lDoPrint=FALSE)
  lCr = "<#CR>"; IF lBaseMsg = "" THEN lCr = ""
  RESULT = limitMsgLines(lBaseMsg + lCr + lPostMsg, lMaxLines)
  IF lDoFukidasi THEN FUKIDASI(RESULT, lFPosX, lFPosY)
  IF lDoPrint THEN PRINT lPostMsg
FEND
FUNCTION limitMsgLines(lMsg, lMaxLines)
  RESULT = lMsg; lCurLines = countString("<#CR>", lMsg) + 1
  IFB lCurLines > lMaxLines THEN
    RESULT = COPY(lMsg, POS("<#CR>", lMsg, lCurLines - lMaxLines) + 2)
  ENDIF
FEND
FUNCTION countString(lTargetStr, lSourceStr)
  RESULT = 0; lCnt = 0; lCurPos = 0; lWorkStr = lSourceStr
  FOR lI=1 TO LENGTH(lSourceStr)
    lCurPos = POS(lTargetStr, lWorkStr)
    IF lCurPos<1 THEN BREAK
    lCnt = lCnt + 1; lWorkStr = COPY(lWorkStr, lCurPos + LENGTH(lTargetStr))
  NEXT
  RESULT = lCnt
FEND
833名無しさん@お腹いっぱい。:2014/05/17(土) 23:54:27.73 ID:zaZr5AOT0
本家が落ちてるのでこっちで先に聞ききます
Pro版フォームのフォーム上で右クリックメニューを使いたい。
思いつくのはpopupmenuを使う方法だけど、「選択文字列をコピー」な事は難しいかと思う。
IEコンポーネント関連で何かゴニョゴニョすることで右クリックメニューをカスタム出来ないだろうか
834名無しさん@お腹いっぱい。:2014/05/23(金) 01:52:59.78 ID:JdoO+v/S0
UWSCでフォルダー内にあるcsvファイルをアスタリスクを使って開きたいのですが無理でしょうか
そのcsvのファイル名に日付を入れないといけないのでUWSCで開くためにはソースを変更しないといけないんです
たとえば

id = GETID("Program Manager", "Progman", -1)
SLEEP(0.1)
CLKITEM(id, "書類データ", CLK_LSTVEW or CLK_LEFTCLK)
SLEEP(0.1)
id = GETID("書類データ", "CabinetWClass", -1)
SLEEP(0.1)
CLKITEM(id, "書類*.csv", CLK_LSTVEW or CLK_DBLCLK) //書類1405023.csvなら開くことができます

みたいなアスタリスクを使って開けるようなことはできないでしょうか
上記のソースでは開くことはできなかったので、よろしくお願いします。
835名無しさん@お腹いっぱい。:2014/05/23(金) 01:57:24.58 ID:IIVAMfXM0
ヘルプの例より抜粋

// *.datファイル名のみ表示
for i=0 to GETDIR("C:\temp","*.dat")-1
  print GETDIR_FILES[i]
next
836名無しさん@お腹いっぱい。:2014/05/23(金) 03:23:13.53 ID:tvSanBO6O
>>835
>>834です
詳しく教えて頂きありがとうございます。
ヘルプも見たのですがFOPEN関数ばかりに目がいってました。
あとfor i〜nextの使い方も決まった回数を動作させる時しか使ってなかったのですが、こういう使い方もあるのはとても参考になりました。
さっそく明日、使える所はソースを手直しして試してみます。
837名無しさん@お腹いっぱい。:2014/05/23(金) 22:49:03.57 ID:iX2EBpPT0
このツール使い始めたばかりなんだけど
RTPVXとかのフリーゲームで仮想KEYでVK_UPとかVK_Zとか入れて使ってみたんだけど
あんま反応しなかったりするのは相性悪いとかあるのかな?
マウスレコーダーで記録したのはかなり正確に反応してくれる
裏マクロ使いたいから色々試してみたんだけど、mouseorg入れるとまったく反応しなくなるのも訳わからん
ブラウザも裏マクロ反応してくれないし誰か助けてほしい、↓ブラウザで画像認識でクリックっていうの試しに作ってみたやつ

While !(getkeystate(VK_RSHIFT))
sleep(0.1)
wend

id=getid(get_active_win)

mouseorg(id,2)

while true

ifb chkimg("検索.bmp",0)
btn(left,0,g_img_x,g_img_y)
sleep(0)
endif

if GETKEYSTATE(VK_ESC) then exit

wend
838名無しさん@お腹いっぱい。:2014/05/23(金) 23:09:17.99 ID:0auGorIN0
UWSCのオフ会いいね。
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=5359

同じ目的でも人によるアプローチ違うから、
考え方というか、発想というか。解説サイトじゃ学べないことたくさん学べそうだ。
839名無しさん@お腹いっぱい。:2014/05/24(土) 13:56:12.32 ID:xYqIYal10
バックグラウンドのマクロはVMWareとかでやってるな
840snatch:2014/05/26(月) 21:28:35.41 ID:qcYLKJrL0
バイナリーオプションの自動売買システムを作りたいと思っております。
しかし、IE上の選択ボックスの値が有効になりません。
アドバイス頂けないでしょうか。

【やりたいこと】
http://jp.demo.highlow.net/のページを自動で操作したいです
しかし、通貨選択がうまくいきません。

UWSCにて以下のコードを書いたのですが、
画面上はAUDJPYが選択されているのですが、情報が更新されません。
どうしたらいいでしょうか。


iobj=ie.document.getElementByID("assets")
iobj.Value="AUDJPY"
for i = 0 to iobj.length() -1
if iobj.options(i).value ="AUDJPY" then iobj.options(i).selected = true
next
iobj.FireEvent("onChange")

宜しくお願いします。
841名無しさん@お腹いっぱい。:2014/05/26(月) 21:48:35.32 ID:c+cyIITk0
真面目に答えようと思ったがマルチポストだったからやめた
http://chiebukuro.search.yahoo.co.jp/search?sort=16&p=uwsc
842snatch:2014/05/26(月) 22:26:27.46 ID:qcYLKJrL0
841さん 申し訳ありませんでした。
どこかで回答頂けるだろうと安易に考えていましたが、マナー違反だったんですね。。

すみません、今後気をつけます。
843名無しさん@お腹いっぱい。:2014/05/26(月) 22:32:58.64 ID:GPP2bJmO0
844名無しさん@お腹いっぱい。:2014/05/26(月) 22:47:24.41 ID:TFkUIuGo0
>>840 のページ見てるけど
IE11で見ると   <span id="asset" ってのがあるけど
Chrome で見ると <select id="assets"> ってなってる。

それが原因か分からないけど
iobj=ie.document.getElementByID("assets")
で、エラーになったりならなかったり。

さっぱり分からない。
845snatch:2014/05/26(月) 22:51:28.39 ID:qcYLKJrL0
マルチポストしていた板での質問を取り下げました。大変失礼しました。
846snatch:2014/05/26(月) 23:04:20.29 ID:qcYLKJrL0
ページに特殊なセキュリティでもかけてられているんですかね。
847名無しさん@お腹いっぱい。:2014/05/27(火) 04:35:39.64 ID:COoVGkcL0
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&log=ON&cnt=33
no.3867で、google chrome内でのimg のalt要素をposaccで読み取れるようなことを書いてありますけど
これって今(chrome 35)でもできますか?
自分で試したらタブの文字などは読み取れたけど
クライアント領域内の物は全く読み取れませんでした
848名無しさん@お腹いっぱい。:2014/05/27(火) 06:37:37.25 ID:JzGSFxOv0
>>847
少なくともchrome 35では無理だねぇ
849名無しさん@お腹いっぱい。:2014/05/27(火) 09:39:20.55 ID:COoVGkcL0
ありがとうございました
850名無しさん@お腹いっぱい。:2014/05/28(水) 08:52:21.95 ID:7lnY423gi
クロムの昔のバージョンを落としたいのにどこも無理で困ってるわ
851名無しさん@お腹いっぱい。:2014/05/28(水) 22:29:15.31 ID:gEre5x5E0
こんなツールで自動売買とか危険過ぎる……
852名無しさん@お腹いっぱい。:2014/05/28(水) 23:10:55.33 ID:+el/Mk1m0
俺はこの3つ巡回してるがお前ら他に巡回してるサイトある?


■Yahoo!知恵袋
http://chiebukuro.search.yahoo.co.jp/search?sort=16&p=uwsc
初心者向け。くだらない質問にも答えてもらえる。


■公式掲示板
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
中級者以上向け。上級者や作者も降臨。
ヘルプ見れば解決することを投稿するのは他の質問が流れるのでやめよう。


■クラウドソーシング
http://www.lancers.jp/work/search/all?keyword=uwsc
他人に言えない事の自動化とか、スキル不足だが絶対完成させたい案件はこっちで。
853名無しさん@お腹いっぱい。:2014/05/29(木) 01:47:50.02 ID:OsbOy55M0
開発環境って何か工夫してます?
エディタでキーワードの色を変える程度しかやってなくて、
正直効率が悪すぎるなあと思ってるんですが
854名無しさん@お腹いっぱい。:2014/05/29(木) 06:45:19.33 ID:u0muWq6A0
それに加えて
編集中のスクリプトファイルを保存後の実行するボタンとショートカット
UWSCのヘルプを表示するボタンとショートカットを設定している位だねぇ
855名無しさん@お腹いっぱい。:2014/05/30(金) 16:26:28.78 ID:wnUW9Haw0
A0 = 1
A1 = 1
A2 = 1
A3 = 1 //〜A20 くらいまで実際はあります

for B = 0 TO 3
 結合 = "A" + B
 ifb 結合 > B //ここでA0,A1,A2,A3それぞれの変数の値について調べたい
  print 結合 + "は"+ B + "よりも大きい"
 endif
next

//[A+数字が順番に割り振られている変数]を条件式に一度に掛けられる方法ってありますか?
if分を全部書けば一応解決しますが、実際には変数がA20くらいまであって、さらにそれが何種類かあるので簡単に書きたいです。
print の結果は以下でした。[結合]はそもそも変数といて認識されていないっぽい…
A0は0よりも大きい
A1は1よりも大きい
A2は2よりも大きい
A3は3よりも大きい
856名無しさん@お腹いっぱい。:2014/05/30(金) 16:27:44.01 ID:ZTm7s2kc0
普通は配列を使います
857名無しさん@お腹いっぱい。:2014/05/30(金) 16:36:46.86 ID:wnUW9Haw0
>>856
A[3]
for B = 0 TO 3
 if A[B] > 0
  print A
 endif
next

これで試したらいけそうです。ありがとうございました!!
858名無しさん@お腹いっぱい。:2014/05/31(土) 01:33:25.60 ID:7GVxRVHV0
>>855
プログラム歴2ヶ月のおれですら配列使えよ!って突っ込みそうになったぞw
859名無しさん@お腹いっぱい。:2014/05/31(土) 02:10:18.91 ID:qPUIAXTy0
IEで複数のセッションって、開始はできるけど維持はできないんだな
nomargeとInPrivateを知って試してみたがあくまで「セッションを引き継がないで起動する」だけだった

IE1でAというユーザでログイン、別セッションでIE2でBというユーザでログイン後
IE1で画面遷移したらBのログイン状態だった。

並列で別々のユーザ操作ってやっぱりできないか…ぬかよろだぜ
860名無しさん@お腹いっぱい。:2014/05/31(土) 02:33:26.73 ID:FVEn1BTX0
仮想マシンでええんじゃね
861名無しさん@お腹いっぱい。:2014/05/31(土) 09:10:48.73 ID:b2iYsN4t0
別々のprofileのfirefoxを三つ起動させているとして
それぞれに同じ指示(F5で更新させるなど)を出したいのですが
タイトル、クラスがMozilla Firefoxで被っていて一つのブラウザしか動作させることができません。
For i = 0 to GETALLWIN()-1
からどう記述すればいいのでしょうか?
出だしからつまづいています。
862名無しさん@お腹いっぱい。:2014/05/31(土) 09:23:50.79 ID:o9cg1UDK0
ヘルプでGETALLWIN()の例を見て
タイトルにFirefox含まれてたら「指示」してやればいいんじゃない?
863名無しさん@お腹いっぱい。:2014/05/31(土) 13:51:26.01 ID:HhOPBAjl0
dim cnt=0, num=2, ID_FIREFOX[num]

for i=0 to GETALLWIN()-1
 IF POS("Mozilla Firefox",STATUS(ALL_WIN_ID[i], ST_TITLE))>0
  ID_FIREFOX[cnt] = ALL_WIN_ID[i]
  cnt = cnt+1
 endif
next

for i=0 to num
 SCKEY(ID_FIREFOX[i],VK_F5)
next


※テストはしてない
864名無しさん@お腹いっぱい。:2014/05/31(土) 14:00:16.01 ID:FVEn1BTX0
array.pushほしいよねw
865名無しさん@お腹いっぱい。:2014/05/31(土) 14:46:47.76 ID:qPUIAXTy0
前から指摘されてることだが、公式掲示板のシステムが使いづらいと思う

投稿文字にhttpがあると勝手にリンクされるならまだしも
スクリプトソース貼った時に<とか>とか特殊文字が勝手にHTML変換されてしまうから
投稿前や投稿後に<を<にしたりhttpをhを全角にしたり、投稿者が修正しなきゃいけないってなんだかなぁ。

個別スレのアクセスURLブクマしたい時もアクセス方式がPOSTだから、GETでURL繋げなきゃならんし
board.cgi?id=umiumi&resno=●●

その他もろもろ不便なところが多数
やり取りの質が高いだけに惜しい
866名無しさん@お腹いっぱい。:2014/06/01(日) 07:20:04.05 ID:nwTBKrVQ0
>>864
System.Collections.ArrayList
867名無しさん@お腹いっぱい。:2014/06/01(日) 16:28:38.82 ID:L8a2x+Uz0
CREATEOLEOBJしてUWSC配列をコレクションに転写する自作関数で転写して使うのかな
でもだったら要素を連結する自作関数作ったほうが手間が少ない気がするなぁ
868名無しさん@お腹いっぱい。:2014/06/03(火) 16:43:10.83 ID:fIsrkivC0
前から趣味の効率化でちょくちょく目当てのもの作ってたんだけど
この前友人に、こんなの作ってくれ。と言われて、たいした物じゃないから作った
その友人から「これって使用言語何?」
と聞かれて答えに窮してしまった
スクリプト言語と答えておけばOKですか?
869名無しさん@お腹いっぱい。:2014/06/03(火) 20:56:27.35 ID:l5+mCBSO0
本買おうかなって思ってるんですが内容薄い予感がするんですけどその辺はどうでしょうか?
本を買った方で買ってよかったと思う方はいますか?
870名無しさん@お腹いっぱい。:2014/06/03(火) 22:40:23.97 ID:roaxPEe+0
友人から聞かれたなら正直にこれ使って作ったって言えばいいんじゃないか、別に金取ったわけじゃないんでしょw
871名無しさん@お腹いっぱい。:2014/06/03(火) 22:45:13.71 ID:cMX6OpBF0
「マクロ」って言うと大抵「へー」って納得する
872名無しさん@お腹いっぱい。:2014/06/03(火) 23:50:19.59 ID:HL9ynRWA0
VBかVBAという単語が通用するならそれっぽいやつと答えればOK

WikipediaにもBASICライクって載ってるしな
http://ja.wikipedia.org/wiki/UWSC

てかWikipedia全然更新されてないのな。 最新リリースがVer4.7cで止まってるぞ。
873名無しさん@お腹いっぱい。:2014/06/04(水) 15:08:28.86 ID:0B7rSwue0
Windowsサーバー上で動かしたい。
サーバーにログインしてるときはスケジュール通りに動くんだけど、切断するとスケジュールが動かないんです。
Windowsサーバーでは動かすのは無理なんですかね?
874名無しさん@お腹いっぱい。:2014/06/04(水) 16:58:44.09 ID:IrEvPwoH0
非ログインで動作するプログラムはサービス化しないと駄目
普通のプログラムをサービス化するプログラムってのも存在するよ
でもスケジュールってのが単純なら
Windowsのタスク スケジューラに登録する方が楽かもしれない

但し、どっちにしてもそうやって動作したUWSCスクリプトでは
ログイン中の画面コントロールにはアクセス出来ない

スクリプトそのものがサービスで動作可能なタイプなのかてのが重要
875名無しさん@お腹いっぱい。:2014/06/04(水) 22:40:22.54 ID:B85v7ctF0
>>873
やめたほうがいいよ
UWSCのサポートOSにないサーバOS上で動かすと、
その時は動いてもバージョンアップしたらある日突然
今まで普通に使えてたHELPに載ってる普通の関数や制御文が
Syntax error
作者さんが動作確認環境もってないらしい……( ゚д゚)ポカーン
例えば今のところまだXPは使えてるけど、
まだ延長サポートは終了していない Windows Server 2003 は
2013年初旬にアウトになってる。
876名無しさん@お腹いっぱい。:2014/06/10(火) 13:26:46.57 ID:PfXppzKD0
スクリプト書くのも初めてで、かなり初歩的な質問で悪いんだけど

ウィンドウのとある座標の色を読み取るのに
a = peekcolor(100,100)
とかってとこまではわかったんだ

で、この変数aを条件の判定に使ってるんだけど
この変数をスクリプト中で常に更新させたい時はどうすればいいのかな?
変数aで条件判定したりするのにいちいちa = peekcolor(100,100)って一行を入れるのがめんどうでさ
877名無しさん@お腹いっぱい。:2014/06/10(火) 13:36:25.59 ID:ATOWD9620
別スレッドで一定時間ごとにpeekcolor使う
ただ、俺なら必要になる度にpeekcolor書く
毎回必要になるpeekcolorを含んだひとまとめの処理が
関数として切り出せないかも考え直してみるべき
878名無しさん@お腹いっぱい。:2014/06/10(火) 14:48:37.91 ID:PfXppzKD0
>>877
スレッドとか自作関数とやらの存在を今初めて知ったよ
サンクス これほんっと便利だな
879名無しさん@お腹いっぱい。:2014/06/10(火) 15:04:28.01 ID:Qt1wZ+Jf0
文字数多いのが面倒ってだけならp()みたいな関数書くかもw
880名無しさん@お腹いっぱい。:2014/06/10(火) 18:12:27.69 ID:K1tLcoj40
IF peekcolor(100,100) THEN FUKIDASI("!")
変数aを判定以外でも使ったり、aを取得した時点での過去の情報が必要なら、変数aは要る。
そうじゃないなら変数aに一旦代入すること自体が無駄。
>>879が正解。
別スレッドで回した場合、
・判定時点の最新の情報であることが保証されない
・判定結果を広域変数でやりとりしなければならない
・別途、スレッドを止めたり何なりする処理を書かないと、必要なくとも永遠に判定し続けるゾンビスレッドになる
・うまく書けば都度判定よりはCPU負荷を軽減できるかもしれない
881名無しさん@お腹いっぱい。:2014/06/10(火) 18:38:56.24 ID:n63AJLRu0
YahooメールをIE.document.body.innerhtmlで件名やら取得して色々やってたのにできなくなった

件名、差出人と開いた後に本文も取得したいんだけど誰かいいアイデア教えろください
882名無しさん@お腹いっぱい。:2014/06/10(火) 18:40:06.51 ID:Qt1wZ+Jf0
popのメーラ使うわけにはいかんのか
883名無しさん@お腹いっぱい。:2014/06/10(火) 19:16:01.88 ID:ATOWD9620
>>879
言わなくてもわかってそうだけど
書くより読むほうが大切だから
縮めるためだけのオレオレ糖衣はあまりオススメしないなあ
884名無しさん@お腹いっぱい。:2014/06/10(火) 19:47:38.42 ID:K1tLcoj40
定形部分を省略するための糖衣+適切な関数名なら良くやるよ
pはaに対する返しでしょうなw
885名無しさん@お腹いっぱい。:2014/06/10(火) 21:06:57.48 ID:PfXppzKD0
>>880
とりあえず自作関数で色取得、判定、その後の処理をひとまとめにしてみたら
だいぶスッキリしたよ
色の変数aは判定にしか使わないけど、一旦代入する事が無駄ってのと
「IF peekcolor(100,100) THEN FUKIDASI("!")」 の一行はどういう意味なの?
886名無しさん@お腹いっぱい。:2014/06/11(水) 00:01:39.62 ID:33DzCGfy0
値を変数に入れるなら、入れた時点での値を再利用しないと入れた意義がないでしょ?
ところが色判定は、つねに最新の情報が欲しい。
前回取得と今回取得との間にaを2回以上参照するのでなければ再利用とは言わない。
でも2回め以降に参照しても最新の値ではない。
>>880の書き方をすればaという変数が不要になる。
変数が少なければ複雑さが減ってシンプルになりバグが発生しにくくなる。
ただし、その色判定が例えば「処理Aの結果Bになった」ことを判定するものだとする。
変数名aの代わりに,、

処理Aの結果はB = peekcolor(100,100)
IF 処理Aの結果はB THEN FUKIDASI("!")

と書くなら、下手なコメントよりよっぽど有意義。
最悪なのはaなどという名前として無意味な暗号を使うこと。
暗号使うぐらいなら

IF peekcolor(100,100) THEN FUKIDASI("!")

のほうがマシだよね。
887名無しさん@お腹いっぱい。:2014/06/11(水) 00:48:02.90 ID:7M2+KCQR0
>>886
う、うあぁあ・・・やっと意味がわかった

「ここの色は赤だとaに代入します→もしaが赤ならクリックします」
ってのを
「もしここの色が赤ならクリックします」
って事か

変数使うのにこれっぽっちも疑問を抱いてなかったから
1回こっきりの判定でも毎回変数使ってたわ。この辺がセンスの違いって奴なのか・・・
勉強になったよ ありがとう
888名無しさん@お腹いっぱい。:2014/06/11(水) 01:05:08.49 ID:xlQeArE60
今はリソースよりも可読性を優先なんで
長い場合にはあえて変数使って分ける場合もあるよね
889名無しさん@お腹いっぱい。:2014/06/18(水) 03:26:22.95 ID:KoZWp3l+0
血バケツ?
890名無しさん@お腹いっぱい。:2014/06/23(月) 22:42:10.23 ID:juQoMcG10
yahooメールがバージョンアップしたせいで自動化できなくなったよ。
フォルダは開けるんだけど、メールが開けない…。
891名無しさん@お腹いっぱい。:2014/06/23(月) 23:44:17.15 ID:jfUfnbfd0
色々めんどくさくなったからGメールに乗り換えたな俺は
892名無しさん@お腹いっぱい。:2014/06/25(水) 02:20:12.66 ID:OO8DfT8g0
あちこちからコピペしまくって
「"読み,用語,意味"のCSVファイルを読み取り、一語ずつ
デスクトップの隅に表示させるスクリプト」を書きました。
最初はいいのですが、何百回と表示させていると
Fukidasi×3の表示されるタイミングが次第にずれてしまいます。
どうすればいいか教えてください。↓こういうのを書きました。

Thread 用語()
Thread 意味()

For i = 1 to 行数
 読み = リスト[i][1]  // 1列目、読み
 FUKIDASI(読み,0,787,0,20,,,$FFFFFF)
 Sleep(2)
 FUKIDASI()
next

procedure 用語()
 For i = 1 to 行数
  用語 = リスト[i][2]  // 2列目、用語
  FUKIDASI(用語,0,833,0,100,"MS 明朝",,$FFFFFF)
  Sleep(2)
  FUKIDASI()
 next
Fend

procedure 意味()
893名無しさん@お腹いっぱい。:2014/06/25(水) 02:39:38.75 ID:2ee6YWys0
メインスレッドと別スレッドで添字を別管理しているからズレるんだよ
単純な方法で同期させたいなら添字をグローバル変数にしてしまうのが一番楽だと思うよ

で、添字のカウントアップはメインループに限定してスレッドの方はそれを参照するだけにする
894名無しさん@お腹いっぱい。:2014/06/25(水) 06:32:12.10 ID:r0FDJnON0
そもそもスレッド必要か?これ
895名無しさん@お腹いっぱい。:2014/06/25(水) 07:02:16.90 ID:2rctgNPo0
複数のフキダシ表示させたいだけかな?
でも縦に並べてるから"<#CR>"で複数行表示すれば
1つのフキダシで妥協できるんじゃね?
どうしても複数表示したいなら、
引数をそのままFUKIDASIに丸投げして
純粋にフキダシを表示する「だけ」の関数を作って、
追加で表示秒数を受け取り経過後自動終了するようにし、
それをスレッドで呼び出しゃいいよねぇ
そうすりゃ行数ループは1個だけで済むだろ。
896名無しさん@お腹いっぱい。:2014/06/25(水) 08:38:39.76 ID:OO8DfT8g0
>>893-895
ありがとうございます!なにぶんコピペ改変で作ったもので…。
フォントサイズを変えたいのでFUKIDASIを複数表示しています。
アドバイス通りに修正できているでしょうか?300語テストした結果は
大丈夫そうでしたが、2000語以上表示させたいので
おかしなところがあれば教えていただけると嬉しいです。

For i = 1 to 行数 // 行数分
 読み = リスト[i][1]  // 1列目、読み
 用語 = リスト[i][2]  // 2列目、用語
 意味 = リスト[i][3]  // 3列目、意味
 Thread cre_fuki(用語,833,100,"MS 明朝")
 Thread cre_fuki(意味,985,20,"MS ゴシック")
 cre_fuki(読み,787,20,"MS ゴシック")
 Sleep(時間)
 FUKIDASI()
next

procedure cre_fuki(msg,y,size,ff)
 FUKIDASI(msg,0,y,0,size,ff,,$FFFFFF)
 Sleep(時間)
 FUKIDASI()
Fend
897名無しさん@お腹いっぱい。:2014/06/25(水) 11:48:08.16 ID:2rctgNPo0
時間も引数に追加すれば汎用性高まるよ
そうしておいてフキダシ消滅と全く同じタイミングで次のフキダシを生成せず、
ちょっとだけ消滅を早めたほうが気持ちいいかもしれない
898名無しさん@お腹いっぱい。:2014/06/25(水) 11:50:18.80 ID:2rctgNPo0
そういえば低スペックのPCだと、
スレッド生成の負荷による遅延が無視できないほどデカイ場合があった。
2000語表示全体としての経過時間が遅れてはならない場合、
スレッドを消滅させず再利用するように工夫が必要になるかもしれない。
そうでなければ問題ないと思う。
899名無しさん@お腹いっぱい。:2014/06/25(水) 19:26:05.01 ID:OO8DfT8g0
>>897-898
時間を引数にしてSleep整理しました。気持ちよくなりました!
負荷による遅延もなんとかしてみたいと思いましたが、
「スレッドを消滅させず再利用する工夫」が検討もつきません。
検索してみても一から十まで質問しないと無理そうな感じだったので、
とりあえずPCの潜在能力を信じて走らせ続けることにしました。

今のところはみなさんのおかげで望み通りの動作をしており、
とても満足です!ありがとうございました!
900名無しさん@お腹いっぱい。:2014/06/26(木) 23:57:11.72 ID:XeLNt26Y0
>>891
おそくなったけどありがと。
俺もそうしたわ。
901名無しさん@お腹いっぱい。:2014/06/27(金) 00:41:18.22 ID:L0xawc0V0
スマホ、タブレットでuwsc動かしたいなーって思ってたら、
Lenovoでは動かせるって記事を見つけて興奮した。
調べてみたら8インチのやつだったんだけど、
理想はiphoneサイズくらいで動いたらなーと思ってるんだけど、
既にuwsc持ち歩いてる人いたら情報下さい。
液晶ちっちゃくて軽くてuwsc動いたら最高。
家電いってもたぶん、DL駄目だよね?
902名無しさん@お腹いっぱい。:2014/06/27(金) 03:18:42.70 ID:sBXaqQey0
exe化したものを貰ったのだけど、編集できない?
903名無しさん@お腹いっぱい。:2014/06/29(日) 11:33:56.68 ID:q8Oo1IMC0
UWSCでいくつかブラウザゲーム用マクロを作っていたのですが、
前から微妙に気になっていた問題が致命的になってきたのでアドバイスをお願いします。

//開始決定
While flag
sleep(1)
//exit・・・UWSCを終わる
if GETKEYSTATE(VK_ESC) then exit

ifb CHKIMG("開始.BMP") // 画像があった
sleep(1)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) // 左クリック
sleep(1)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) // ミスクリック対策
//ループ抜け
flag = false
endif
Wend
flag = true

このように、開始ボタンの画像が出てきたら開始へ行くようにしていますが、
開始ボタンが出た時は100%そこにカーソルが動きます。
問題はクリックされないことがあるということです。
念のためクリックを二重化していても押されずに通過されることがあります。
CLICKコマンドは確実にCLICK出来ない時があるのでしょうか?
904名無しさん@お腹いっぱい。:2014/06/29(日) 12:19:49.88 ID:GIDkP2fT0
端的に言うとあります
クリック後の相手を検知できる方法を探して
それが検知できるまでクリック処理を抜けない事だと思いますよ

以下は余談

BTNの第5引数のミリ秒は実行待機時間的な事しかヘルプに記入されていませんが
この説明が実に曖昧で
マウスイベントを送信するためのアイドルイベントを待つ待機時間なのか
単なるウェイトなのか
よくわからないんですよね

この数値を上げるとマウスイベントの未送信は少なくなるがゼロになるわけではないって感じで
本当によくわかりません
905名無しさん@お腹いっぱい。:2014/06/29(日) 12:35:49.53 ID:irgfllLY0
俺はDOWNとUPに分けて間にSLEEP噛ませてるよ
それでも相手がブラウザだと相手の気まぐれ次第で失敗する。

(1) まず待機画像を待機してていい画面かどうかチェック。違ったら待機画面に再移動。
(2) 画像を待機。待機ループには絶対必ずSLEEPを噛ませること。暫く待っても画像が見当たらないなら(1)
(3) 画像をクリック
(4) クリックした結果画面に遷移するのを待機。遷移したら全体のループを抜け次の処理へ。
(5) 暫くしても(1)の画面から変化がなく(4)の画面に遷移しなかったら(3)からやり直し
(6) (3)〜(5)を数回繰り返してもダメなら(1)からやり直し
(7) (1)〜(6)を数回繰り返してもダメならブラウザ再起動処理して0からやり直し
906名無しさん@お腹いっぱい。:2014/06/29(日) 12:58:33.13 ID:PL8oFf1+0
chromeだと画面の描画が終わった直後にボタンをおしても
反応しないことがある
(正確に言うと通信は行われるのに画面は再描画されない)

試しに画像見つけてから3秒ほどスリープさせたあとで
ボタンを押すようにプログラム書き換えて、
問題が起きなくなったらそれが原因
907名無しさん@お腹いっぱい。:2014/06/29(日) 15:50:30.08 ID:q8Oo1IMC0
>>904
そういえば、第5引数ありましたね。
(何故か画像認識後のBTNクリックには使ったことがなかった・・・)
通常のクリックでは300設定してるので、まずは設定してみます。

>>905
ふむふむ。確かにドラッグ操作で使ってますが、DOWNとUPの組み合わせは失敗を見たことがない気がします。

お二方の言うとおり、確実にいくためには遷移後の画面を確認したらループ抜ける作りにすべきですね。

>>906
なんと・・・
ちょっと現象は理解しきれていませんが、1秒スリープを3秒にすれば、
解決するかもしれないということですね。
908名無しさん@お腹いっぱい。:2014/06/29(日) 17:56:57.60 ID:q8Oo1IMC0
>>906
なんかわかった気がします

画像が見つかったらその座標クリック
見つからなければ次のページに

といった処理を作った際に、
何故か、見つけたタイミングより1つ先のページを同座標をクリックする現象があって、
ロジック的には見つけたあとは次のページに進める処理は発生しないのに、
次のページに進めた後で座標クリックしてるようなことがありました

結果、次のページヘ進めたあと1ページウェイトを入れたら、
正しく該当ページで座標クリックしてくれました

腑に落ちないところですが、画像検索の前後にはウェイトを入れたほうがいいのかなと思いました
909名無しさん@お腹いっぱい。:2014/06/29(日) 20:29:53.14 ID:OwLB7/ny0
>>908
画像検索や自動操作をループするときは散々既出だが必ずSLEEP入れる。
入れないとUWSCがCPU時間を専有して操作対象が処理落ちしたりする。
910名無しさん@お腹いっぱい。:2014/06/29(日) 20:32:10.35 ID:OwLB7/ny0
ってか入ってるじゃん その前の処理で入ってなかったのか
READY待機とかの手もあるけど
割りと永遠にREADYにならないときがあるから
適当な秒数を決め打ちSLEEPだなぁ
911名無しさん@お腹いっぱい。:2014/06/29(日) 22:07:40.50 ID:q8Oo1IMC0
>>910
うーん・・・

幾つか、こういう画像発見したら押すという処理があって、
>>903のWhileの次のsleepは、画像認識のIF文のためのsleepという認識ではなかったので、
一部の画像認識処理で誤作動が起きていた感じです


今まで、細かく理解せずに適当に書いてきたため、
自分の認識とは違う部分のウェイトが功を奏してる部分があったりしてます
912名無しさん@お腹いっぱい。:2014/07/01(火) 07:58:58.61 ID:ifE0Fzw40
>>910
>割りと永遠にREADYにならないときがあるから
これ最近知ったんだけど、F5押すと先に進む場合あるよね?
だとしたら90秒待機でreadyにならない→f5クリックで
いけないかな?
今度試してみよ。
913名無しさん@お腹いっぱい。:2014/07/01(火) 08:41:04.10 ID:fWQ7X9F20
READYにならなくても支障ないなら更新より中止おすすめw
914名無しさん@お腹いっぱい。:2014/07/02(水) 20:59:50.72 ID:NpQ34W/h0
UWSCからWEB情報DBの値を読み取る方法ってありますか?
915名無しさん@お腹いっぱい。:2014/07/02(水) 21:04:38.16 ID:USvuPz+N0
正式に公開されているDBならアクセス方法が明記されている筈だよ
916名無しさん@お腹いっぱい。:2014/07/03(木) 04:27:57.55 ID:bjki0XKw0
音量ミキサーをいじるスクリプトを書こうと思っています。
やりたいことは、いくつかのアプリのミュートです

・SndVol.exeを起動
・アプリのアイコンを認識させる
・認識したアイコンの下へマウス移動&クリック

目的のアプリが最初の方だけだとこれでいけそうな気がしますが
沢山立ち上げていると音量ミキサーの下部スライドバーで
移動させて、また認識させて・・・という感じしかないでしょうか?

もっとスマートに目的を果たせる手順、考え方などあれば是非ご教示ください
917名無しさん@お腹いっぱい。:2014/07/03(木) 05:01:29.27 ID:9sDuO/290
その手のフリーソフトを探す
918名無しさん@お腹いっぱい。:2014/07/03(木) 17:32:36.36 ID:s+H4vxYb0
UWSCを使って、自分自身の仕事を効率化している人は多いと思うけど、
実際にUWSCのスクリプトを顧客に提供している人いますか?

いたら手を上げて欲しいです。

いくつか業務効率化の相談をしたいの。
919名無しさん@お腹いっぱい。:2014/07/03(木) 22:19:54.93 ID:3WdsoJdL0
ランサーズでやれw
920名無しさん@お腹いっぱい。:2014/07/03(木) 22:35:46.47 ID:oPPnPJNp0
■Yahoo!知恵袋
http://chiebukuro.search.yahoo.co.jp/search?sort=16&p=uwsc
初心者向け。くだらない質問にも答えてもらえる。


■公式掲示板
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
中級者以上向け。上級者や作者も降臨。
ヘルプ見れば解決することをいちいち投稿するのは他の質問が流れるのでやめよう。


■クラウドソーシング
http://www.lancers.jp/work/search/all?keyword=uwsc
「他人に言えない事」、「スキル不足だが絶対完成させたい」、「業務案件」などはこっちで。
921名無しさん@お腹いっぱい。:2014/07/04(金) 01:25:46.16 ID:a4TUmgrX0
>>920
2ちゃんねるは?
922名無しさん@お腹いっぱい。:2014/07/04(金) 08:58:49.56 ID:CpYfhW8v0
>>921
ゲームマクロなど実名や公式だと答えてくれない話
実名でコード晒すのが恥ずかしいけど晒す必要のある人
無駄にディスられたいドMな人
923916:2014/07/04(金) 10:57:00.54 ID:90BKgd+v0
>>917
その手のフリーソフトが自分の調べた限りだとないんですよねぇ
924名無しさん@お腹いっぱい。:2014/07/04(金) 11:06:11.21 ID:0QWRXR+S0
>>923
id = GETID("音量ミキサー")
CLKITEM(id,"ミュート システム音")
CLKITEM(id,"ミュート解除 システム音")

とりあえずこれでクリックは出来るようだけど(Win7)
925名無しさん@お腹いっぱい。:2014/07/04(金) 11:28:33.04 ID:90BKgd+v0
>>924
おーCHKIMG使わずに取得できるのはとてもうれしいです。
そしてスライドバーも必要なさそうなので、とてもすっきりしますね
どうもありがとうございました
926名無しさん@お腹いっぱい。:2014/07/05(土) 02:18:50.15 ID:/oFFebsL0
Vista / 7 / 8 の便利な音量調整機能
http://www.gigafree.net/faq/sndvol.html

VBScriptで音量ミキサーを設定する
http://www.sanlike.jp/?p=196
'マスタ音量を100%にする(MAX)
WshShell.SendKeys "{HOME}+{TAB 2}{PGUP 5}"
やってることは自動操作だなアプリ指定は出来ない
コマンドラインオプションだけでは指定不能の模様。

UWSCなら、アイコン画像の座標でY軸だけ加算し真下のスライダをクリック可能。
解像度の違い等考慮せず自分の環境だけでよいなら、指定音量からY座標を算出し
決め打ちでクリックしてもよい。


ツールとしては、

Volume2 http://all-freesoft.net/mm9/volume/volume2/volume2.html
・システム音量に加え、アクティブなアプリケーション、指定したアプリケーションの音量を変更できます。

Quick Volume http://www.gigafree.net/media/volume/quickvolume.html
“ アプリケーション上でのホイール回転 ” で音量調整を行えるようにする機能も付いています。
927名無しさん@お腹いっぱい。:2014/07/05(土) 04:00:56.11 ID:HvVsRLW/0
windows7 64bitを使ってます。
xp modeの中でuwscを動かしたいと思っています。

CHKIMGで画像を探して位置情報を取得したところ、画像認識には成功するみたいなのですが、
G_IMG_XとG_IMG_Y の値が両方とも-99999となります。
こういう場合、
1、画像認識は成功しているのですか?
2、正しいG_IMG_XとG_IMG_Y の値を得るにはどうすればいいですか?
928927
-99999じゃなくて-999999 でした。