自動化ツールuwsc使い ..
232:名無しさん@お腹いっぱい。
10/03/08 15:19:30 8gw+l4vY0
>>231
>>97 で使ってる
> GetWindow( H, GW_ENABLEDPOPUP )
COMは多分止まってるからIEオブジェクトは使えないので、
あらかじめH = IE.HWNDとしてハンドルを保存しておく。
GetWindow()でダイアログが表示されていればハンドルが取得できる。
ただし、ポップアップウィンドウにはサブメニューとかツールチップも含まれるので、
Status()で"#32770"かどうかをチェックする必要がある。
すべてのウィンドウをリストアップするのと違い、自分の子ウィンドウだけを見るAPIを直呼びするので高速。
233:名無しさん@お腹いっぱい。
10/03/08 17:11:16 LRrJZmuF0
>>232
アドバイスありがとうございます。
APIの使い方とかわからない素人で、
>>97のスクリプトを見てもよくわからないのでもう少々詳しく質問させてください。
def_dll GetWindow(hWnd,long):long:user32.dll //dllを呼び出せるように宣言
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ
ここまではわかります。
>あらかじめH = IE.HWNDとしてハンドルを保存しておく。
これはどういう意味でしょうか?
おそらくスクリプトとしては
ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0
//ダイアログを閉じる処理をする
endif
こういう感じになるのですよね?
234:名無しさん@お腹いっぱい。
10/03/08 17:42:07 8gw+l4vY0
>>233
> H = IE.HWND
これはIEオブジェクトを管理するウィンドウのウィンドウハンドルです。
UWSCで言うIDのようなものですが、ウィンドウハンドルと言うのはWindowsのAPIで使うものです。
IDとウィンドウハンドルは「IE.HWND」で検索したら出てきますが、
ID = HNDToID(IE.HWND)
HWND = IDToHND(ID)
と言うように変換できます。
if ! IDToHND(ID) then exit
と言うように、IE窓が終了している場合に中断できるのでIDを保存しておくと便利です。
GetWindow()で使うときも
GetWindow( IDToHND(ID), GW_ENABLEDPOPUP ) とできるので、IDを保存しておいてもいいです。
> ifb GetWindow( H, GW_ENABLEDPOPUP ) > 0
ハンドルは符号なし整数なので、この比較はしない方がいいでしょう。
負の整数と判断された場合に失敗します。
!が分かりにくいなら0 <> GetWindow() でもいいです。
235:名無しさん@お腹いっぱい。
10/03/08 19:25:04 LRrJZmuF0
>>234
ご丁寧にありがとうございます。
もう少々ググッて勉強してきます。
またよろしくお願いしますm(__)m
236:名無しさん@お腹いっぱい。
10/03/16 15:03:54 HiT6yWWl0
テキスト入力のやり方が分かりません教えてください
237:名無しさん@お腹いっぱい。
10/03/16 21:52:10 cI9JqU5P0
何を聞きたいのか分かりません教えてください
238:名無しさん@お腹いっぱい。
10/03/17 06:51:54 DkHyneUl0
windows7でuwscを通常通り動かす方法ありませんか
239:名無しさん@お腹いっぱい。
10/03/17 07:01:16 8KLxlRw70
UAC切れ
240:名無しさん@お腹いっぱい。
10/03/17 11:05:24 u/flnLmx0
>>238
普通にwin7で使ってます。
しかも64
64アプリを制御できなかったりしますが、ほぼ問題なし
==>IEは32,64両方入ってますから
241:名無しさん@お腹いっぱい。
10/03/17 23:14:19 j5IphMiE0
スクリプト入力補助、3文字ぐらいうったらあとの文字が自動でるようにしたい
んですけど、どうすればいいんですか?CLCLというのは使い方が意味がわからなかったです。
242:名無しさん@お腹いっぱい。
10/03/18 16:58:33 HTSNWkk9P
それをUWSCで作ればいいと思うよ
243:名無しさん@お腹いっぱい。
10/03/18 17:57:55 pleFRDKk0
>>241
xyzzy
+
ac-mode.l (URLリンク(white.s151.xrea.com))
+
uwsc-mode.l (URLリンク(big.tm.land.to))
でできる。
244:名無しさん@お腹いっぱい。
10/03/19 00:16:25 r6TwPwzy0
241です、回答ありがとうございます。そこまで教えられてるのにわからない自分がなさけないです.
uwsc-mode.lはsite-lispフォルダに、uwscはetcフォルダに入れてください。←ここまではわかる
siteinit.lとかに以下の文を追加してください。
; UWSC
(load-library "uwsc-mode")
(push '("\\.uws$" . uwsc-mode) *auto-mode-alist*)
↑意味ワカラン
245:名無しさん@お腹いっぱい。
10/03/19 00:40:50 ZI4R2SXH0
そうですか
246:名無しさん@お腹いっぱい。
10/03/19 01:34:35 rPEvvIJr0
>>244
URLリンク(xyzzy.s53.xrea.com)
あとは気合いと根性で
247:名無しさん@お腹いっぱい。
10/03/19 03:40:08 y7YOOYqA0
釣りじゃ無かったのかよ
248:名無しさん@お腹いっぱい。
10/03/20 18:31:49 B79HWejI0
241です
気合と根性で補完入力できるようになったんですが、そのファイルにしか適用
されないというか、ほかのファイル開いたときはまた補完されなくなっちゃうんですけど
入力して覚え直させないといけないんです。これじゃー意味ないです。
249:名無しさん@お腹いっぱい。
10/03/20 19:02:33 Ajn0jtpj0
あー、そうですか。
250:名無しさん@お腹いっぱい。
10/03/21 23:22:41 FxCOzvKn0
while true
ifb getkeystate(VK_X) then
sleep(0.3)
endif
ifb getkeystate(VK_UP) then
sleep(1)
endif
ifb getkeystate(VK_G) then
KBD(VK_DOWN,DOWN,40)
KBD(VK_DOWN,UP,40)
KBD(VK_DOWN,DOWN,40)
KBD(VK_DOWN,UP,40)
KBD(VK_X,CLICK,10)
sleep(1)
KBD(VK_DELETE,CLICK,100)
endif
KBD(VK_F,CLICK,50)
wend
これだとVK_Gのときに最初の処理がスルーされることが
あります。最初というのはダウンアップとXキーのことです。
しかもそれが大体ですがひとつおきになります。
何が問題なのでしょうか?
251:名無しさん@お腹いっぱい。
10/03/21 23:42:42 9nY7crvD0
>>250
あまりよく読んでないけど、短間隔ループの中でGetKeyで分岐というのはUWSCはムズイよ。
そこまでに押されたKEYを取得だから…
公式の過去ログで良い回答あったと思うけど、探すの面倒だわ。
252:名無しさん@お腹いっぱい。
10/03/22 10:04:04 r9UvCn9t0
>>250
用途がイマイチわからないので答えるのも難しいけど
自動操作系?
それとも入力支援?
自動操作系なら一定の待ち時間を設けるといいかも。
sleepじゃなくてループで。
例えば
while true
i=0
Repeat
ifb getkeystate(VK_X) then
sleep(0.3)
endif
Sleep(1)
i=i+1
Until i>3
とか。Xキーの押下状態で処理をする時に押されてないor押そうとしている時の待ち状態を作る感じ?
253:250
10/03/23 00:07:33 l7gIg+dd0
ゲームでアイテムを拾うというのとコマンド入力というので使っています。
連続して使うこともありできれば時間をあまりおかずに使いたいと
考えてましたがやはり短い間隔では取得が難しいみたいですね。
それとパソコンの性能が低いというのも関係あるかも。
>>252
UWSC以外にもゲームパッド用のソフトも使ってるのでXが押されたときの
スリープはそっちのソフト用です。
UPのスリープもコマンド入力時のためのものです。
ずーっとアイテムを拾うようにFキーが連打されるように
なっているのでスリープを設けないと入力できないと
いうことからです。
254:名無しさん@お腹いっぱい。
10/03/24 12:24:59 2ytrfO4cP
ifb getkeystate(VK_X) thenとかが何のためにあるかわからない・・・
これは俺がアホなのか?
255:名無しさん@お腹いっぱい。
10/03/24 15:09:35 HwpEcix70
ハンゲームでファミスタオンラインというゲームをやっているのですが、
このソフトを使ってバックグラウンドで動作させる事は可能でしょうか?
256:名無しさん@お腹いっぱい。
10/03/24 16:10:50 yu0OAHHi0
間違いない
257:名無しさん@お腹いっぱい。
10/03/24 16:47:13 C4V6o9Yd0
外部DLLとかも読み込めるんだから基本不可能なことはないだろ
258:255
10/03/24 17:14:51 HwpEcix70
MOUSEORG で 2 を指定したのですが受け付けてくれないのです。
他に何かやるべき事はあるのでしょうか?
259:名無しさん@お腹いっぱい。
10/03/24 18:13:20 C4V6o9Yd0
ヒント;DirectInput
260:255
10/03/24 18:42:44 HwpEcix70
DirectInputを使用しているアプリはUWSCの送信は受付ないという事でしょうか?
表では動くのですが、裏では動かないです><
261:名無しさん@お腹いっぱい。
10/03/27 09:48:15 2VmSdvyL0
KBDで使用するCLICKとDOWNの違いってなんですか?
CLICKが反応しなくてDOWN/UPに変更した事もあるんですが。
262:名無しさん@お腹いっぱい。
10/03/27 10:03:17 2VmSdvyL0
すいません。補足です。
例えばキーを押しながら別のキーを押したい場合はDOWNだと思うのですよ。
ですが例えば"A"を単打したい場合ってCLICKでもDOWN/UPでもどちらでもいいんですかね?
記録する時どちらも記録されていたので違いがよくわかりませんでした。
263:名無しさん@お腹いっぱい。
10/03/27 12:20:23 GJlX799VP
どっちでもいい
好きな方をつかえばいいと思うよ
264:名無しさん@お腹いっぱい。
10/03/27 12:40:55 HsANWc9NP
>>262
環境によるけど
自分はダウンアップにしてるよ
ハンゲのゲームやってたときに
よく固まってたんですよ
それでダウンダウンダウンダウンって
違う箇所を4回くらいダウンさせて
アップってしたら固まらないようになったです
珍しい事例かもしれないけど
一応お伝えしておきますねw
がんがってください^^
265:名無しさん@お腹いっぱい。
10/03/27 20:09:52 2VmSdvyL0
レスありがとうございました。
なるほど。やっぱり違いはなかったんですね。
>>264
事例ありがとうございます。覚えておきますw
266:名無しさん@お腹いっぱい。
10/03/29 16:50:16 zWqUoN180
UWSCでスクリプトを動かしている間に別の作業をしたいのでMOUSEORGを使ってキーイベントを直接送りたいのですがうまくいきません
// マウス座標を相対座標にする、 またはマウスとキー情報を直接ウィンドウへ送る
MOUSEORG( ID, [基準指定 ] )
例えばnotepadに直接キーイベントを送りたい場合は
MOUSEORG( notepad, [2] )
という書き方でよろしいのでしょうか
ご教授いただけるとうれしいです
267:名無しさん@お腹いっぱい。
10/03/29 21:36:29 xNpZMuTv0
ドラッグしてCtrl+Cでコピーした文章をSendstrで出力したいんですが、
コピーした文章の出力方法がわからないのです。
Sendstrの文字列に当たる部分にはどのように書けばいいのでしょうか?
268:名無しさん@お腹いっぱい。
10/03/29 22:25:27 NFgbt+8v0
>>266
IDはプロセスIDだから、UWSCからnotepadを開くなら開く時の戻り値、
そうでないならGetIDでIDを貰って来なきゃならん。
[基準指定]の[]は省略可を表すだけで、2っていれときゃいいよ。
>>267
何処に出力したいのかは大丈夫?
ファイルに出力するなら、ヘルプのファイル操作関連
起動しているメモ帳やなんかに出力したいならSendStr
画面に表示したいならFukidasiやらPrintやらを使えばいい。
SendStrはヘルプ読めば解ると思うけど、
String=GetStr(0)
SendStr(送り先ID,String)
とすれば、変数Stringにクリップボードの文字列を格納して、それを送り先のIDに送る。
文字列の部分には""で囲った文字列か、文字列を格納した変数名を書けば良い。
269:267
10/03/30 02:35:32 i+J5d4Um0
>>268
ありがとうございました。クリップボードからの取得方法がわからなかったのです。
よく見たらヘルプにも書いてましたね・・・初心者ですいませんm(_ _)m
270:名無しさん@お腹いっぱい。
10/03/30 06:36:51 w9o7uVAy0
どなたか、TaskbarSorterをVista対応に改良してもらえないでしょうか?
一応使えることは使えるようなんですが、使えない機能がいくつかあるので、よろしければお願いします
271:名無しさん@お腹いっぱい。
10/03/30 06:37:53 w9o7uVAy0
すいません、>>270は誤爆です…
272:266
10/03/30 10:20:54 enNRlci80
>>268
返信ありがとうございます
GetIDで取得するIDはClassというものでよろしいのでしょうか?
id = GETID("Notepad")
MOUSEORG(id,2)
〜処理〜
これでは間違っているのかうまくいきませんでした
よろしければ教えていただけるとうれしいです
273:名無しさん@お腹いっぱい。
10/03/30 10:51:08 nQEKerym0
>>272
Notepadはクラス名はNotepadになるけど、タイトル名は別名かと…
274:名無しさん@お腹いっぱい。
10/03/30 12:21:01 uAc8A7pjP
なにか重大な勘違いをしているようだ
275:名無しさん@お腹いっぱい。
10/03/30 12:24:14 B93d/s/o0
>>272
ウィンドウのタイトルでOK
ヘルプの例にあるように、
id=GetID("メモ帳")
でいいよ。
276:名無しさん@お腹いっぱい。
10/03/30 13:57:27 TB+znm4l0
親切な人が多くて素晴らしいですね
277:266
10/03/30 17:44:58 enNRlci80
ご丁寧に教えていただいてるにも関わらず未だにうまくいきません><
実はLaTaleというオンラインゲームのウィンドウに直接送りたいのですが
ウィンドウのタイトルはLaTale Clientです
id = GetID("LaTale Client")
mouseorg(id,2)
REPEAT
KBD(VK_RIGHT,DOWN,100)
KBD(VK_RIGHT,UP,100)
KBD(VK_RIGHT,DOWN,100)
KBD(VK_RIGHT,UP,500)
KBD(VK_SHIFT,DOWN,100)
KBD(VK_SHIFT,UP,400)
UNTIL FALSE
これではだめでした
どうすればよろしいのでしょうか
よろしくお願いします
278:名無しさん@お腹いっぱい。
10/03/30 20:54:57 B93d/s/o0
なんでREPEAT-UNTILに入れてるの?
条件FALSEにしてるんじゃ意味無いでしょ。
つーかまたゲームのマクロの話かよ…
どうせまたDirectInput使ってるとかだろ
そもそも配布サイトのFAQくらい読んでから来いと…
279:名無しさん@お腹いっぱい。
10/03/31 00:50:17 2kVfTA890
>>277
それをやろうとするとバン対象だよ
ゲーム側で出来ないように工夫してるし。
280:名無しさん@お腹いっぱい。
10/03/31 03:14:21 QDwO3+WbP
そもそもこのスレって暗黙の了解かなんかでチート関連の話題は原則禁止じゃなかったか?
281:名無しさん@お腹いっぱい。
10/03/31 03:40:13 J88r7xmw0
cheatだろうと何だろうと関係ない
UWSCの事なら何でもあり
そもそもUWSCを何に使おうがそれは使い手の勝手
それが気にいらなければレスしなければよい
282:名無しさん@お腹いっぱい。
10/03/31 04:05:03 /r7+U6cH0
質問してる以上、流石にそれはないと思う
というか>>280が言いたいのはこんなスレでチートとかの質問するようなアフォは喋るなって事じゃないの
なんか最近不正行為っぽい質問が多いし
要約すると>>278
不正行為関連の質問は自重すべき
283:名無しさん@お腹いっぱい。
10/03/31 06:08:31 eObzEOzl0
>>281
そうだな。チートだと思われる質問には誰も一切何も答えなければ問題ないな
チートなんか使おうとする奴が質問自重するとは思えないから、答える側が気をつけないとな
284:266
10/03/31 12:00:12 mAVKXcTv0
ハンゲームのファミスタの話が出ていたのでオンラインゲームの話題もいいのかと思っていました;
以降気をつけます。ご迷惑をおかけしました><
285:名無しさん@お腹いっぱい。
10/03/31 12:05:44 wRNvV5G10
でもなんだかんだでこのソフトはチートでの使用が一番多いわけだが・・・
286:名無しさん@お腹いっぱい。
10/03/31 15:12:32 02z0GkxwP
>>285に1票www
287:名無しさん@お腹いっぱい。
10/03/31 17:19:37 db3wAIhw0
なんか変な流れを切るようで悪いんだけど教えてほしい。
既に開いてるIEをF5で更新した時に読み込み完了まで待ちたいんだけど
どうすればいいのかな?
よく見かけるのは
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)")
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.readystate = 4
これだけど、これだとブラウザ起動からしちゃうので目的と違うんだよね。
最初に上記でブラウザを起動してから更新の度に
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.readystate = 4
をすればいいのかな?
できればサイトを開くまでは手動でやりたいんだけど。
288:名無しさん@お腹いっぱい。
10/03/31 17:57:48 zl81UiL50
も少し、ヘルプよんでよ
IE=GETactiveOLEobj
ちなみに F5=IE.refresh
289:名無しさん@お腹いっぱい。
10/03/31 18:45:29 db3wAIhw0
>>288
レスサンクス
ほんとだ、、、書いてあった。。。
ヘルプに書いてあるのに質問しちまって申し訳なかったね。
お蔭様で希望通りの動きができました。
ありがとうm(__)m
290:名無しさん@お腹いっぱい。
10/03/31 20:08:51 vqZHXpqN0
>>289
おいおい、ニダランスレから出て来るなよw
291:名無しさん@お腹いっぱい。
10/03/31 21:03:28 db3wAIhw0
ニダランスレってなんだ?
292:名無しさん@お腹いっぱい。
10/04/01 03:53:25 fwJ098Wi0
何でニダーラン?
293:名無しさん@お腹いっぱい。
10/04/01 04:01:38 S8TPP2lzP
そんなことまで「なんで?」って聞き返してくるのかよ
ここは昔から質問者に「なんで?」「何するの?」「何がしたいの?」
自分の開発のヒント探るために聞くだけ聞いて質問者への回答は無視か罵倒
だから嫌になって来なくなったんだけど
たまたま覗いてみたら相変わらずのウンコ解答者ぶり
質問者さんへ
ここで聞いても無駄だよ
作者のうみうみ氏のサイトで聞いた方が時間はかかるけど正確だ
質問するために少々勉強してからの方がいいが
ここよりまともに回答してくれるよ
俺も以前はよく解答してたんだけど
UWSCというより何か儲けれるツールを作れないか
そのネタ探しに解答者ぶっているだけ
こいつらアホだからここで質問しても無駄だよ
294:名無しさん@お腹いっぱい。
10/04/01 04:27:25 S8TPP2lzP
UWSC覚えるのには時間がかかるよ
なんせ解説本は「Windowsマクロテクニック」という基本中の基本のみの
あまり役立たない本が1冊のみ販売されている
何をしたいかによって習得期間は変わるけど
オンラインゲームでちょっと自動化を作成するのに何ヶ月もかかった
インターネットを通じてしか勉強できないのも原因のひとつだろね
解答者は無報酬で応えているので
生意気だと思えば応えないし応える義務も無い
だから解答者ぶって質問者をイビリ倒すのが趣味って変人も多いよ
ぶっちゃけ奥深く入っていくとUWSCでは間に合わないよ
ゲームだけじゃないよ事務系の仕事を自動化するのも一緒
UWSCがでてすぐに課金ユーザーになって2年ほど夜も寝ないでUWSCばっかし勉強して気づいた事がある
結局間に合わせのUWSCは間に合わせに過ぎない
きちんとしたプログラムを勉強するのが一番近道だよ
それでパールやったけどパールもダメだな
掲示板の解答者がUWSCと同じ種類の人間だらけ
それでジャバスクリプトも勉強したけど
結局スクリプト言語じゃダメだったんだ
初めからC++がいいよ
C++ならなんでもできる
教材もいくらでもあるからね
掲示板でペコペコしながら質問する必要もない
UWSCの2年間全く無駄でした
初心者は初めからC++のほうがいいよ
じっくりやれば俺でも出来るようになった
やりたいことはこれだけだからって簡単にUWSCを勉強しだしたけど
次から次へと課題は出てくるもんだ
それをなんでも解決できるのはC++ですキッパリ
俺、おっさんなんだけど俺でも出来たがんがれ
ここでいつもゴマすりながら質問してた自分が今でも情けないよ
やればできるよ
295:名無しさん@お腹いっぱい。
10/04/01 04:52:02 S8TPP2lzP
俺が一番最初に質問してた頃は1人物凄く親切な方がいてた
大阪に住んでるって言ってたな
それで俺はUWSCの楽しさを教えてもらったんだ
あの方には今でも感謝してるよ
あの方はもうこないみたいだし
今、解答者ぶって質問者にレスしてる連中は
質問者が何をしたいか聞きだすのが目的なんだ
美味しいと思えば自分が先に作ってやろうって魂胆みえみえ
それで質問者へのレスは適当にしておくか
更に罵倒して、その質問者はもう来れなくするか
ヘンテコ解答者っていうか解答者の仮面を付けた基地外だな
UWSCの使い方云々抜かしてるガキが出てきた頃から
大阪に住んでるって言ってた解答者さんは来なくなって
質問者も罵倒されるのが嫌で来なくなった
前スレか前々スレは過疎過ぎてダット落ちしてたみたいだし
UWSCの使い方までご指導頂かなくて結構ですって言いたいんだけど
それを言っちゃー解答もらえないから我慢する
それで「質問者が何をしたいのかわからないので応えようが無い」とかはぐらかされて終了
UWSCとperlの解答者には気をつけた方がいいよ
スクリプト言語なんて役に立たないことが多いし
悪い事いわないからC++かJAVAがいいよ
ゲームに使おうがビジネスに使おうがお前に関係ないだろ>糞解答者
296:名無しさん@お腹いっぱい。
10/04/01 06:04:35 f/9UZXtU0
おいおい、なんのコピペだよこれ
297:名無しさん@お腹いっぱい。
10/04/01 06:11:53 NSxeyl3Z0
不覚にもワロタ
298:名無しさん@お腹いっぱい。
10/04/01 11:07:20 0yWWJhZV0
ID:S8TPP2lzP
なにこのキチガイ
299:名無しさん@お腹いっぱい。
10/04/01 11:14:41 2Up7o9yS0
C++がいいよ
300:名無しさん@お腹いっぱい。
10/04/01 21:46:18 URK6iTyf0
指定時刻に指定ポイントをクリックするスクリプトつくれる?
301:名無しさん@お腹いっぱい。
10/04/01 22:23:08 5xeykHJ2P
余裕で作れる
というか初歩中の初歩
302:名無しさん@お腹いっぱい。
10/04/02 00:28:22 4cLa/HLo0
なんで?って聞くのは別のアプローチから期待された動作をさせた方が、
確実だったり楽だったりすることがあるからだろ…
ジャバスクリプトとかカタカナで書いている所とか、一度も出てこなかったJAVAが一番最後だけ出てくるとか、
自己矛盾か自己批判を孕んでるあたりとか、自動化をやるのにC++なんぞを使うと言い出すあたりの所ですよね、笑うポイントは。
ゲームに使おうがビジネスに使おうがなんて言ってるけど、そもそもオンゲなんかはプロテクトがかかってるのが多いから、
それすら知らないとか、プロテクトをかいくぐる技術も無いのに質問するヤツが多いから回答者が辟易して、ゲーム関係をうざがるんだろーが…
そういうダークな範囲で使いたいなら独学しろと…
303:名無しさん@お腹いっぱい。
10/04/02 05:17:12 /tViDlcK0
お前はなにをいっているんだ
304:名無しさん@お腹いっぱい。
10/04/02 05:28:23 Ue5xH3Cy0
ID:S8TPP2lzPには手を触れないよーに
305:名無しさん@お腹いっぱい。
10/04/02 06:59:15 I68nnadS0
たぶんこいつは本人で自演だろう
306:名無しさん@お腹いっぱい。
10/04/02 09:08:28 +bubi7hm0
大阪に住んでる凄く親切な回答者:ID:S8TPP2lzPがしつこくてうざいからここくるのやめた
307:名無しさん@お腹いっぱい。
10/04/02 13:18:16 fDfu5inU0
>>302
うざい解答者ってお前のことだわ
308:名無しさん@お腹いっぱい。
10/04/08 05:17:27 YpPiuNaU0
001 while
002 //いろいろ計算やら比較をやって
003 条件="おなら"
004 if 条件="ほにゃら" then break
005 print "ほにゃらではない"
006 wend
004行 で breakで ループを抜けたと思ったら、 005行を実行した上で 多重ループを抜けるんで
005 if !( 条件="ほにゃら" ) then print "ほにゃらではなかった"
というような 記述でとりあえずは逃げたんですけど、 こういうもんなんでしょうか?
309:名無しさん@お腹いっぱい。
10/04/08 09:20:05 n8jkUacb0
003 条件="おなら"
て書いてるかられしょ
310:名無しさん@お腹いっぱい。
10/04/08 09:54:44 3BOGl5Ct0
>>308
単純に、3行目のif文を間違えているだけだろう。
「5以上になったらループ抜ける」をやりたいのに「if 5>i then break」と書いちゃってるとか。
311:名無しさん@お腹いっぱい。
10/04/08 09:56:16 3BOGl5Ct0
>>310
符号が逆だった。
「5以上になったらループ抜ける」をやりたいのに「if 5<i then break」と書いちゃってるとか。
312:名無しさん@お腹いっぱい。
10/04/08 13:47:14 nLPIw5SzP
>>308
× 003 条件="おなら"
○ 000 条件="おなら"
313:308:
10/04/08 14:31:05 YpPiuNaU0
>>309-312 ありがとうございます.
やはり ありえないって事のようなので指摘していただいた点を再度調べてみます.
>>312
あ、初期値がUWSCから見えないってことでしょうか。その手の事だとすると実行前に構文チェックに掛かって修理してるような気がするんですが?
314:名無しさん@お腹いっぱい。
10/04/08 15:00:26 nLPIw5SzP
>>313
条件="おなら" は
条件="おなら" であって
条件="ほにゃら" ではない
315:名無しさん@お腹いっぱい。
10/04/08 15:29:50 n8jkUacb0
>>313
初期値っていうかなんというか
みんな言いたいことは、UWSCは間違ってなくて、記述どおり動いてるってこと
316:名無しさん@お腹いっぱい。
10/04/08 15:35:19 9crZpxrL0
>>313
いやちゃんと整理して考えてみ
317:308:
10/04/08 16:24:53 YpPiuNaU0
>>314
すみません.ぐっちゃぐちゃでした.
訂正
000 条件="おなら"
001 while 条件="おなら"
002 //いろいろ計算やら比較をやっった結果
003 条件="ほにゃら"
004 if 条件="ほにゃら" then break
005 print "ほにゃらではない" → 005 if !( 条件="ほにゃら" ) then print "ほにゃらではない"
006 wend
こうかな? こんな感じで Break条件の 否定条件をつけて逃がしてます.でした.orz
ってか、今作ったのを見直してるんですが、実際作った部分はこうです.
0001 mdelay=0; oldmdelay=mdelay; delaysw=0 //スクリプト冒頭で初期値設定済
0100 optx=7 // POPUPMENU(pp, STATUS(xID, st_x), STATUS( xID, st_y )+STATUS(xID,st_height))
0101 SELECT optx
0102 CASE 7
0103 REPEAT
0104 x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
0105 IF x= EMPTY THEN BREAK
0106 UNTIL CHKNUM(x)
0107 IFB !(x = EMPTY) THEN
0108 mdelay= x; oldmdelay=mdelay;delaysw=1
0109 PRINT "*Set07. Delay. ms: "+mdelay
0110 ENDIF
0111 CASE 8
0112 PRINT "*Set08. Hi Sensitive Start."
1000 SELEND
1001 sleep(911)
0107 と 0110 が break したつもりでも抜けられなかったんで付け加えた行です.
この行に”//"を入れてやったら、やっぱり抜け出せなかったです.
318:名無しさん@お腹いっぱい。
10/04/08 17:13:56 2KfY3Rs50
>>317
「107と110を付け加えた」のなら
例文と実際のコードのprint位置が違うのだが・・・
「107〜110を付け加えた」のなら修正前のコードが欲しいところ。
319:名無しさん@お腹いっぱい。
10/04/08 17:19:01 nLPIw5SzP
>>317
ちょっと待て
0105 のbreakでどこを抜けようとしたって?
0107にはxに数値が入ったときかxが空だったときとなるので
その制御では分岐が確かに必要になる。
そうしないとxを使ったときにエラーになるからね。
それを0105でどうにかしようと思うならifb使ってそこになにやら書くか、
exit、もしくはループを追加してbreak 2 を使う必要がある。
UWSCはBasic系なのでcaseを抜けるbreakはない。
そこで、0105から0110に飛ぶようにしたらどうだろう?
0102 CASE 7
0102.5 while true
0103 REPEAT
0104 x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
0105 +---- IF x= EMPTY THEN break 2
0106 | UNTIL CHKNUM(x)
0108 | mdelay= x; oldmdelay=mdelay;delaysw=1
0109 | PRINT "*Set07. Delay. ms: "+mdelay
0110 +->wend
ループ条件を変更して0108〜0109を次のようにするほうがいいと思う
010x ifb CHKNUM(x) then
010x mdelay= x; oldmdelay=mdelay;delaysw=1
010x PRINT "*Set07. Delay. ms: "+mdelay
010x break
010x endif
320:308:
10/04/08 17:27:56 YpPiuNaU0
>>318
すみません. 『break文で 多重ループを抜け出せない』って事があるものなのかって事を 相談したかったんで
条件式の錯誤に気がつかず、また実際のものとずいぶん違うものを提示してしまい迷惑をおかけしました.
最初 書いたときは 107 110行はありませんでしたが 105行の "EMPTY"(CANCEL)入力で BREAKしないので
単純に 107,110行を追加しているのが現状です.
321:308:
10/04/08 18:30:40 YpPiuNaU0
>>319
今 BREAK のヘルプを読んで 顔が熱くなってきました.はずかしい限りです.
0001 mdelay=0; oldmdelay=mdelay; delaysw=0 //スクリプト冒頭で初期値設定済
0100 optx=7 // POPUPMENU(pp, STATUS(xID, st_x), STATUS( xID, st_y )+STATUS(xID,st_height))
0101 SELECT optx
0102 CASE 7
0102.5 while true
0104 x= INPUT("Now : "+oldmdelay+" to set new(ms):",mdelay)
010x ifb CHKNUM(x) then
010x mdelay= x; oldmdelay=mdelay;delaysw=1
010x PRINT "*Set07. Delay. ms: "+mdelay
010x break
010x endif
0100 WEND
0111 CASE 8
0112 PRINT "*Set08. Hi Sensitive Start."
1000 SELEND
1001 sleep(911)
こうですね.バッチリきれいに抜け出せました,皆さんどうもありがとうございました.
322:名無しさん@お腹いっぱい。
10/04/11 09:21:19 WP7Ufm9tP
無料版でIE以外のブラウザの操作もできますか?
323:名無しさん@お腹いっぱい。
10/04/11 10:53:36 7t91Tinz0
>>322
基本、無理。
324:名無しさん@お腹いっぱい。
10/04/11 11:09:55 WP7Ufm9tP
そうですか。
このゲーム(待ってクリック、待ってクリックを繰り返すFH)で
自動戦闘を繰り返すマクロ作れたらお願いします
URLリンク(mob-2.com)
325:名無しさん@お腹いっぱい。
10/04/11 11:40:13 L29VjoPvP
了解しました。
20万円くらい用意しといてね。
326:名無しさん@お腹いっぱい。
10/04/11 16:04:40 S762n6IR0
>>324
テンプレくらい読んで書き込めよカス
327:名無しさん@お腹いっぱい。
10/04/11 16:21:34 ikeA/Ag60
ブラザウ動かせない糞ソフト
328:名無しさん@お腹いっぱい。
10/04/11 16:53:32 7t91Tinz0
シベリアにいた頃に作った、ゲームでクリックするだけのマクロをあげとくわ。
太鼓の達人マクロ。
URLリンク(gamezone.gooside.com)
// ( . ) ピリオドの位置にマウスを合わせて開始するといい。
FUKIDASI("マウスを読み取り位置にあわせてください。<#CR>Ctrlキーをクリックで開始します。")
// VK_CTRL が押されたら開始
Repeat; sleep(0.2); Until GetKeyState(VK_CONTROL)
FUKIDASI("実行中。<#CR>Ctrlキーをクリックで終了します。")
// マウス座標保存
MouseX = G_MOUSE_X
MouseY = G_MOUSE_Y
// キー保存変数
dim previousKey
dim key
dim isYellow = false
dim isPreviousYellow = false
sleep(1)
while true
isPreviousYellow = isYellow
isYellow = false
sleep(0.005)
// VK_CTRL が押されたら終了
if GetKeyState(VK_CONTROL) then break
key = 判定( MouseX, MouseY, previousKey, isPreviousYellow, isYellow )
if ! key then continue
329:名無しさん@お腹いっぱい。
10/04/11 16:54:06 Ik0GncC3P
// キーをクリック
ifb isPreviousYellow then
ifb isYellow then
sleep(0.02)
endif
endif
KBD(key)
// 最後に押したキーを保存
previousKey = key
sleep(0.02)
wend
// 戻り値:キーコード
// 処理しない場合、0を返す。
// X: X座標
// Y: Y座標
// key: 最後のキー
// fYellow: 前回のYellow フラグ
// isYellow:今回のYellow フラグ
// 呼び出し回数:呼び出し側は常に省略する。
// 自分を呼ぶときは+1する
function 判定( X, Y, key, fYellow, var isYellow, n = 0 )
result = 0
// 色を取得
color = PEEKCOLOR( X, Y )
ifb ! fYellow then
//黄色が出た後はグレーの判定はなし
if isGray(color) then exit
endif
330:名無しさん@お腹いっぱい。
10/04/11 16:54:53 7t91Tinz0
red = color and $FF
green = (color and $FF00) / $100
blue = (color and $FF0000) / $10000
ifb fYellow then
// 黄色フラグが立っているときは、他のカラー(青、赤)の判定はしない。
ifb 0 = color then
// 前回黄色だったら、黒は黄色とみなす。
isYellow = true
else
exit
endif
elseif 255 = blue then
result = VK_M // 青なので「m」
elseif 255 = green then
isYellow = true // 黄色
elseif 255 = red then
result = VK_Z // 赤なので「z」
else
exit
endif
ifb isYellow then
ifb 4 <= n then
// 黄色で確定 // 黄なのでmとzを交互に
if key <> VK_M then result = VK_M
if key <> VK_Z then result = VK_Z
exit
endif
// 規定個数の箇所をチェックする // (黒を除く)グレーがあれば中断
if ! n then X = X + 35
result = 判定( X + (n * 5), Y, key, fYellow, isYellow, n + 1 )
endif
fend
331:名無しさん@お腹いっぱい。
10/04/11 16:55:11 Ik0GncC3P
//////////////////////////////////////////////////////////////////
// グレーチェック
// メーターカラーなどがグレーかどうかを調べる
function isGray( color)
red = color and $FF
green = (color and $FF00) / $100
blue = (color and $FF0000) / $10000
sum = red + green + blue
aveH = sum / 3 + 10
aveL = sum / 3 - 10
Ifb ( red < aveL ) or ( aveH < red ) Then
RESULT = false
elseif ( green < aveL ) or ( aveH < green ) Then
RESULT = false
elseif ( blue < aveL ) or ( aveH < blue ) Then
RESULT = false
else
RESULT = true
endif
Fend
332:名無しさん@お腹いっぱい。
10/04/11 17:07:04 7t91Tinz0
>>328-331
1.スクリプトを起動し、
2.ゲームのページを開いて開始し、
3.( . ) ←の顔を合わせる丸括弧のピリオドの位置にマウスを合わせ、Ctrlキーで開始する。
ゲーム中は放置。
4.ゲームが終了したらCtrlキーでマクロを終了する。
マウスで指定した座標の色を監視し、顔が合わさる瞬間にキーを自動クリックするだけだが、
連打する部分を見分けるためにちょっとめんどくさい処理になっている。
顔の種類の判定をそれぞれ色素の一つしか見ずに済むこんなシンプルなゲームでも、
識別して適切な動作をするのにこれだけの長さのコードが必要になる。
グレーチェックの関数は流用でそれ以外の部分を新規に作ったが、
これだけで5時間もかけてる。
UWSCで小さいマップを動き回るマクロをいくつか書いてる僕がそれだけ時間かかるんだから、
実現可能だとしても、ゲームマクロにはそれなりの労力が必要。
ちなみにマップを動き回るマクロは1000行くらい必要になった。
333:名無しさん@お腹いっぱい。
10/04/11 21:45:43 1FTtfnsf0
マウスの感度をよくするにはどうしたらいいものか
334:名無しさん@お腹いっぱい。
10/04/11 22:12:34 oXYAxr2f0
マウスの裏を掃除する
335:名無しさん@お腹いっぱい。
10/04/13 22:18:41 2xzsxj+L0
マウスパッドを敷く
336:名無しさん@お腹いっぱい。
10/04/14 22:23:33 bbwcK6IR0
ここに1個のpdfファイルがあります。
ページ番号はついていません。
自分で簡易製本するためページ番号をつけたいんです。
偶数ページには左下に、奇数ヘージには右下に。
そんなページ番号をpdfファイルに挿入するためにはどうすればいいですか?
337:名無しさん@お腹いっぱい。
10/04/14 22:47:05 pM2mgX640
テンプレくらい読んできてね
338:名無しさん@お腹いっぱい。
10/04/15 02:27:46 Ti8sLQUA0
>>336
ググれ
基本的には印刷時にソフトで自動挿入だよ。
自動と言ってもUWSCとはまったく関係ないけどね。
PDFを直接編集するソフトなら手作業だろうね。
339:名無しさん@お腹いっぱい。
10/04/16 23:21:01 HC5SVg6T0
uwscはPDFの編集はできないよん
340:名無しさん@お腹いっぱい。
10/04/19 21:26:23 1NXVhFap0
俺はエロサイトからダウンロードしてきた大量のエロ動画ファイルのファイル名を
管理するのにuwsc使ってます^q^ノ
341:名無しさん@お腹いっぱい。
10/04/19 21:54:44 XgjI0OYr0
ダウンロードしたファイルの管理か。どうやってんだろ。
俺のSayMoveダウンロードスクリプトはダウンロードはするけどリスト化はしてないんだよな。
ダウンロードに失敗したり、あとで削除とかするからダウンロードソフトみたいに画面作って全部管理しないと意味ない気がするし。
342:名無しさん@お腹いっぱい。
10/04/21 22:53:33 j6JEIgFp0
フリー版でIEの自動操作はできないの?
6,720円(税込)ってたけぇな
343:名無しさん@お腹いっぱい。
10/04/22 01:47:11 BzTJSDhd0
>>342
録画機能は有償版にしかついてないけど、再生は有償無償どちらでもできる。
ただ、開発支援環境もなしに作るのは大変。
あっても大変だし労力の割りにできることは大したことなかったりするけど。
まずはフリー版と、IEを自動操作するソースでも手に入れたら?
344:名無しさん@お腹いっぱい。
10/04/22 18:51:07 1b3KZlwEP
IE自動操作ってそんなに難しかったっけ?
それとも俺が思ってるのとはまた別なのか・・・
345:名無しさん@お腹いっぱい。
10/04/22 22:38:55 BzTJSDhd0
上書き確認のダイアログ処理とかエラーメッセージの対応とか
動的ページの処理とか
結構大変やん?
僕は一度作って改良して使いまわし出来るようになってからはそれほどかからんようにはなったけど、
半年くらいみっちりやらんとちゃんとしたもんは作れん。
いや、単純な操作なら録画・再生程度でそれなりにできるけどね。
フリー版入手よりも、シェア版のお試しを勧めるべきだったか。
んでIEオブジェクトのスレッド間使い回しがなんかバグりまくって動かんしね。
OLEEVENTで受け取ったIEオブジェクトも高確率で使えんし。
どーゆー条件でなら使えるのかよく分からん。
346:名無しさん@お腹いっぱい。
10/04/24 08:10:49 6nk6f6hV0
これってUWSCを動かすファイル?
URLリンク(www.dotup.org)
347:名無しさん@お腹いっぱい。
10/04/24 08:17:59 kCRize2QP
・・・情報提供料としていくらまで出せます?
348:名無しさん@お腹いっぱい。
10/04/24 12:55:57 Xrgo5/kc0
www
349:名無しさん@お腹いっぱい。
10/04/24 17:10:01 ZblMfkgKP
ゲームでキャラの位置を正確にしたいんだけど
何かいい方法ある?
東西南北に敵キャラがいて丁度真中迄移動したいんだけど
微妙にずれていくので教えて下さい
東との距離が近くなれば西との距離が遠くなり
南との距離が近くなれば北との距離が遠くなる
上記のような感じでぴったし真中に合わせられないんですよ
ゲーム内の位置とPCの座標を合致させる方法あれば教えてください
UWSCをゲームに云々のくだらない回答は不要です
答えられないならスルーでいいですから
>>302と>>343書き込んだ人は自分へのレス禁止
うざいからお前のレスなんて要らねーから
お前のレス必要ないから返事すんなよ
ていうかお前わかってないのに答えようとするから邪魔なんだ罠
消えろ変人解答者
ここでうざい解答者ってお前のことだわ
別人の振りしてレスすんなよ
350:名無しさん@お腹いっぱい。
10/04/24 17:11:45 IaNfdo2A0
チートするための方法は教えられないなぁ
351:名無しさん@お腹いっぱい。
10/04/24 17:17:38 ZblMfkgKP
>>349です
色判定で3点あわせることに成功
自己解決しましたので349への回答は不要です
352:名無しさん@お腹いっぱい。
10/04/24 17:18:41 ZblMfkgKP
>>350
おまえさー
答えられないのに出てくんなよ
マジうざっ
お前がまともな回答したことあるの?
それ聞いてみたいわw
353:名無しさん@お腹いっぱい。
10/04/24 17:20:13 e4lY74IeP
スルーな
354:名無しさん@お腹いっぱい。
10/04/24 17:28:03 ZblMfkgKP
2chのソフト板全体で言える事だけどw
質問者が何も前進しないレスが多いな
本人必死でやってんだから
そっとしておいてあげればいいのに
前進どころかw
足をひっぱりにかかるからなー
質問者をこき下ろす事だけ書いた奴が解答者ぶってるのは
変だと思う
解答者の答えを答えつつ罵倒するならまだしも
こいつわかってて解答者ぶってるの?みたいなのばっかしwww
解答者ぶりたいから張り付いてるのが趣味なんだろw
355:名無しさん@お腹いっぱい。
10/04/24 17:32:53 ZblMfkgKP
>>350
>>353
ご苦労さん
お前は今後このスレで回答しなくていいからね
アホな質問に答えられないのはアホだから
意味わからんやろねw
人が楽しんでるんだからおれでいいだろ
誰にも迷惑かかってないし
万が一かかっていたところで
お前がパトロールする必要ないから
回答できない解答者は消えろ
356:名無しさん@お腹いっぱい。
10/04/24 17:50:07 ZblMfkgKP
UWSCは大変魅力のあるソフトなのに
誰かのせいで質問者来ないw
ここは答え返ってくるよりまず罵倒されるの目に見えてるからなw
UWSCの魅力が一般人に伝わらないのは
こういうアホ解答者が蔓延るからだろ
まともな回答できないのかできるけどしないのか知らんけどw
作者のうみうみさんも痛し痒しだろなー
勝手な推測で罵倒された方はたまったもんじゃない
6700円払って怒鳴られた挙句に自分のやりたい事は一歩も前進しない
6700円は社会勉強代として放置する人が多いのはお前の責任だ>アホ解答者
UWSCはいいソフトだよ
もっと広めればいいのに
アホ解答者は正義の味方を装うライバルソフトの関係者か?
チート使用者がチートの質問者に対して
「チートは不正!!!」って叫んでライバルを増やさないよう無駄な努力してるのと同じだわw
クズ解答者の振りして実はUWSCの反映を阻止してるんだろなw
357:343
10/04/25 01:53:03 MDkvEHtj0
>>356
まあ、作者サポートのある本家掲示板でいらんことを書き込んだことは確かにある。
でもここは2ちゃんねるだ。
だから本家掲示板で禁止されているネトゲのマクロの話もできる。
ID:ZblMfkgKPは作者をよいしょしているが、 ID:ZblMfkgKPだって本家掲示板からは追い出されるような人間だと言うことを自覚しろ。
俺は>>328-332を書き込んだものだけど、UWSCで位置探知は難しいのであんまりやってない。
多少なりともコントロールできているなら>>349はすごいと思うが、基本的なことが分かってないらしい。
正確なコントロールに必要なのは事象を数式化することだよ。
単純な座標計算ではなくね。
別に関数式一つで表せと言うことじゃなく、配列データを使ってもいい。
UWSCは複数のものを同時に探査できないからキャプチャタイミングがずれる。
タイムラグもあるのでそれを想定した操作をしなければならない。
だからTドット単位でのコントロールは、そこまでやっても大変だ。
結局、UWSCをメインに使うとしても、DLL関数を作らないといけなかったりする。
グラフィック処理がもっと多様に記述できて高速に動作する言語ならスクリプトだけでもいけるかもしれないが、
その辺がUWSCの限界だよ。
敵が移動しなくて時間もかけていいのなら、UWSCでもちゃんとぴったりあわせられるけど、
ぴったりあわせるのが目的なら、発想を変えて計測だけ自動で行い、自分で操作するという手もある。
UWSCを使いこなすのは立派だが、優れた人間は効率よく作業するためにいろんな道具を使うし、場合によっては道具を自作する。
僕がUWSCのことをあまりよく書かなかったのは、「あなたがやろうとしていることにUWSCが適しているだろうか」という疑問を投げかけただけだよ。
探せばフリーソフトで簡単に実現できるようなことかもしれない。
お金を出すんならもっといろいろあるだろう。
358:名無しさん@お腹いっぱい。
10/04/25 02:24:53 PrF2KgzeP
>>357
お前のレスはなんでそんなにひねくれてるんだ
美味いもの食ってゆっくり寝てみ
ちょっとは考え方変わるから
どーでもいいこと1人で理論付けて面白いのかどうなんだかw
359:名無しさん@お腹いっぱい。
10/04/25 06:23:28 5DiiqLEb0
面白いキチガイが二人もいるとは
愉快なスレだな
360:名無しさん@お腹いっぱい。
10/04/25 15:59:04 inGnxg/U0
思わぬ真性が釣れたみたいだな
361:名無しさん@お腹いっぱい。
10/04/25 18:33:50 O5DTM8+t0
ふりー版使用。
あるURLのページのソースを取得したいのですが
IEのメニューで「ソース」を実行すると表示されるコードを取得するには
public ie = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
ie.navigate(URL)
REPEAT
SLEEP(0.1)
UNTIL !(ie.Busy) AND (ie.ReadyState = 4)
allhtml=ie.document.body.innerHTML
では違うんでしょうか?
URL="URLリンク(www.google.com)検索ワード"
で画像検索したページのソースを取得したいのですが、
メニュー・表示・ソースで出てくるコードと
innerHTMLで得られるコードが違うのです
362:名無しさん@お腹いっぱい。
10/04/25 19:32:32 zNMUBgVl0
64bitでSkScriptは動きますか?
363:名無しさん@お腹いっぱい。
10/04/25 23:45:37 MDkvEHtj0
>>361
IEのソースは受信したそのまんま
FireFoxのソースは文字コード変換済み
ie.document.body.innerHTMLはそのときの(動的な処理が施された後の)HTML。(だと思う)
ie.ReadyStateが3から4になるときに動的な処理が施される。
で、どうやったらその飯が取れるかだっけ?
↓のoHttp.responseBody が多分そのまんまだよ
oHttp = CreateOLEObj("MSXML2.XMLHTTP")
LastModified = "Thu, 01 Jun 1970 00:00:00 GMT"
while true
sleep(5)
// Webページ読み込み
COM_ERR_IGN //COMエラー無視
oHttp.Open("GET", url, True )
oHttp.setRequestHeader("If-Modified-Since", LastModified);
oHttp.Send("")
ifb 200 = oHttp.status Then
// ok
else
continue
endif
LastModified = oHttp.getResponseHeader("Last-Modified")
ifb COM_ERR_FLG
continue
endif
COM_ERR_RET //エラー処理復帰
str = DECODE(oHttp.responseBody, CODE_BYTEARRAY)
break
wend
print str
364:名無しさん@お腹いっぱい。
10/04/27 15:23:05 GVvjxkxo0
UWSCで空きメモリ容量を取得したいんですが、どうやったらいいでしょうか?
x264のエンコードをuwscを使って自動化しようとやっているんですが、
空きメモリが一定以上無い時は処理をスルーするようにしたいと思っています。
365:名無しさん@お腹いっぱい。
10/04/27 16:49:04 QTDzfzJxP
message = doscmd("systeminfo")
msgbox(message)
dosのsysteminfoから取ってくればいいんじゃね?
366:名無しさん@お腹いっぱい。
10/04/27 17:22:53 GVvjxkxo0
そんなものが…と思って調べてみたらPro限定コマンドでHomeの自環境では
不可能でしたorz
367:名無しさん@お腹いっぱい。
10/04/27 19:31:57 5iz8oRr40
>>366
タスクマネージャ起動させといてパフォーマンスタブ-物理メモリ-利用可能読めば?
368:名無しさん@お腹いっぱい。
10/04/27 22:37:02 GVvjxkxo0
>>367
ありがとうございます。タスクマネージャは常時起動しっぱなしだったんで
これでなんとかなりました。
ところで、UWSC単体あるいはWSH等を含めてUWSCのスクリプト上?で
空きメモリを取得するにはどうしたらいいんでしょうか。
369:名無しさん@お腹いっぱい。
10/04/28 01:26:20 IFvYJtzA0
>>368
URLリンク(www.upken.jp)
FreePhysicalMemory ってプロパティがある。
上記を拡張子 .vbs で保存して実行すればとりあえず空きメモリが取得できる。
コマンドラインからファイルを指定してもダイアログが出るんだけど、
> cscript test.vbs
っていう風に、コマンドプロンプトからコンソール向けスクリプトで実行すると、
コマンドプロンプトに結果を返してくれる。
これをDOSCMD()で呼び出せば結果を文字列で受け取れる。
でも余計な文字列はDOSコマンドで除去した方がいいので
> cscript test.vbs | find "Free"
として、空きメモリの行だけ受け取ればいい。
数値だけ受け取りたければ、findstrで正規表現を使って数値部分だけを返すようにも出来るけど
val()に渡すだけで数値化できるならその方が簡単だね。
370:名無しさん@お腹いっぱい。
10/04/28 02:23:37 BNDwd4xF0
>>369
これ、殆どそのままUWSCでも使えるじゃないかw
COMオブジェクトを触れるなら
わざわざコンソールの文字列をfindしなくてもいいと思う。
まぁ、COMは難しいなぁ、と思うなら369のやり方でも実用上問題ないだろう。
371:名無しさん@お腹いっぱい。
10/04/28 02:31:36 5rPFMVrg0
UWSC上でVBScriptのfor-eachに該当するのってどういうやり方になるの?
372:名無しさん@お腹いっぱい。
10/04/28 02:32:05 IFvYJtzA0
>>370
UWSCに直そうと思ったんだけど、For Each 〜 in をfor 〜 nextで実現する方法が分からなかった。
.lengthの回数配列でまわす程度のイメージは持ってるんだけど・・・できなかった。
そんな苦労をするくらいなら結果だけ使った方が簡単だと思ったんだ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4268日前に更新/257 KB
担当:undef