1 名前:名無しさん@お腹いっぱい。 mailto:sage [05/02/07 10:09:50 ID:n10suy3T] Windowsを自動化させるツールUWSC。 ttp://www.h7.dion.ne.jp/~umiumi/ uwsc使いよ 己のスクリプトを晒すのだ。 長いときはうpろだ(ただの掲示板ともいう)へ。 bbs.infoseek.co.jp/Board01?user=uwscuser テンプレは下のを使うべし。 [動作OS] [目的] [必要なソフト] [調整方法] [その他] [スクリプト](うpろだにおいたときはメッセージNO.)
231 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 15:46:34 ID:3Ai+UouZ0] >>229 つづきはちっと待ってね。 あと訂正 >>230 の訂正 スクリプトB Sleep(2*10) //2分待ち ↓ Sleep(2*60) //2分待ち
232 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/26(月) 17:10:56 ID:3Ai+UouZ0] >>229 すまん、ちと忙しくて遅れた。>>230 のつづきです。 ●多重起動方法 多重起動はされない事は判った。しかし逆にそれが問題になってしまうので 今度は多重起動する方法を考えてみた。といっても単純に別プロセスで動かす だけだが。↑のふたつのスクリプトをスケジューラに登録する代りに、↓の スクリプトだけをスケジューラに設定する(1分毎)。 // Rounch.uws - スケジューラから1分毎に呼び出し特定のプログラムを起動する Exec("uwsc Script-A.uws") Exec("uwsc Script-B.uws") 別プロセスで動くため問題なく動作する。これで時間調整にSleepを自由に 使える事ができるようになった。 あとは問題の要望をどうやって実現するかだがとりあえずここまで。 ※このスクリプトはスクリプトがUWSC.EXEに関連付けられている事、全ての スクリプトが同じディレクトリにある事を前提としているので、そうでない 場合はエラーが出るかもしれない。その場合はフルパス指定してください。 カレントディレクトリやUWSCのあるディレクトリは特殊編集GET_CUR_DIR、 GET_UWSC_DIRが利用可能。
233 名前:232 mailto:sage [2005/12/26(月) 17:14:05 ID:3Ai+UouZ0] あ、重大な問題点忘れてた。多重起動の問題。 それはあとでつ〜事で。 じゃ。
234 名前:232 mailto:sage [2005/12/26(月) 20:41:21 ID:3Ai+UouZ0] 232のつづき ●スケジューラを作る 上のやつだとScript-Bが多重起動されるんだけど、これは単にROUNCH.UWSの 起動スケジュール間隔(1分)を超えてSCRIPT-BがSleepしてるからというだけ。 このSleepはSCRIPT-BでスケジューリングのためにSleepするという前提で入れたもの だけど、スケジューリングをROUNCH.UWSにあたるスクリプトで行うようにすれば その必要はなくなる(SCRIPT-Bは好きなようにつくれる)。 と言う事でROUNCH.UWSをスケジューラとして作りかえる事を考えてみる。 例えばScirpt-Bを5分間隔のあいだに一度だけランダムな時間に呼び出す スケジュールを想定すると次の様になる(だろう…)。 // Rounch.uws - 1分毎に起動されるスケジュラー // Inerval_b 5分間隔のタイマ // Trigger_b SCIRPT-Aを起動するタイミング(分) If Interval_b=Trigger_b Then Exec("Uwsc SCRIPT-B.UWS") // SCRIPT-B起動 IfB Interval_b=0 Then // インターバル満了 interval_b=5 // インターバル再設定 Trigger_b=Random(5+1) // SCRIPT-B起動タイミング更新 EndIf interval_b= interval_b - 1 なお、このスクリプトは重要な初期化が出来ない事。UWSCのスケジューラに1分毎に 呼ばれる度に重要な変数が消滅する事、等の理由で実際には動作しない。 またつづく
235 名前:232 mailto:sage [2005/12/26(月) 20:45:13 ID:3Ai+UouZ0] 234のつづき ●最後の手段(結論) これを解決するにはどうすればよいか…答えは簡単。UWSCのスケジューラを全く 使用しなければよい。例えば上のROUNCH.UWSを次の様に繰返し実行するだけでも 概ね正しく動くはず。 // Rounch.uws - 1分毎に起動されるスケジュラー Inerval_b= 5 // 5分間隔のタイマ Trigger_b= Random(5+1) // SCIRPT-Aを起動するタイミング(分) While TRUE If Interval_b=Trigger_b Then Exec("Uwsc SCRIPT-B.UWS") // SCRIPT-B起動 IfB Interval_b=0 Then // インターバル満了 interval_b=5 // インターバル再設定 Trigger_b=Random(5+1) // SCRIPT-B起動タイミング更新 EndIf interval_b= interval_b - 1 Sleep(60) Wend ただしこれは時間がずれる。割り込み処理じゃあないので面倒なタイマなどを使わず Gettime関数で単純に比較すればより正確なうえにスクリプトも単純になる。 ※UWSCのスケジューラはあくまでも簡易的なものなので、どうすればいいか迷ったら 使わないのがベストの選択。
236 名前:名無しさん@お腹いっぱい。 [2005/12/28(水) 02:30:42 ID:D7XKa0wU0] UWSCで色判定するにはどうすればいいのでしょうか・・・?
237 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 07:18:17 ID:D9aV3OQH0] 公式サイトにあるサンプルを見れば応用出来そうなものを見つけられると思うけれど。
238 名前:名無しさん@お腹いっぱい。 mailto:age [2005/12/28(水) 16:48:30 ID:ERBE/QTH0] >>193 と似ていて 指定したswfファイルがあったらクリックするようにはできるのですか? bmpファイルだったらできるらしいですけど・・・
239 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 17:58:11 ID:G6K532qT0] そんなレベルじゃ辛いだろうね…。
240 名前:名無しさん@お腹いっぱい。 [2005/12/28(水) 18:16:17 ID:ERBE/QTH0] からいか・・・・
241 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 18:58:53 ID:+6pC+EGE0] そんな知能じゃ辛いだろうね…。
242 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/28(水) 23:45:46 ID:UBHNE+270] >>238 >>193 とはぜんぜん似ていないと思うぞ。 ブラウザの話だろ?
243 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/12/29(木) 01:27:38 ID:zRAUHfp50] そっとしといてやれ
244 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/02(月) 14:07:13 ID:tcGJFMHh0] for i = 1 to 10 hoge = "vk_"+ i kbd(hoge) next キーボードで1〜10までの数字を入れるとき 上の方法だとアボーン これをやるにはどうすればいいの?
245 名前:名無しさん@お腹いっぱい。 [2006/01/02(月) 14:18:27 ID:WUqFTW9i0] >>244 どの時点で止まってるかは知らんがパッと見 10という数字がキーボードにあるのかどうかが疑問 まずはキーコードを[記録]で取得してみて
246 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/02(月) 18:06:41 ID:82Cnd7xG0] >>244 FukidasiI("ウィンドウを選んでアクティブにしてください") id= GetID("GET_ACTIVE_WIN") While id = GetID("GET_ACTIVE_WIN") Sleep(0.1) Wend Fukidasi("行きます") Sleep(1) Fukidasi() Dim NumKeytbl[10]=VK_0,VK_1,VK_2,VK_3,VK_4,VK_5,VK_6,VK_7,VK_8,VK_9 For i=1 to 20 c0= i mod 10 c1= int(i/10) If c1>0 Then kbd(NumKeyTbl[c1]) Kbd(NumKeyTbl[c0]) Next
247 名前:名無しさん@お腹いっぱい。 [2006/01/10(火) 09:37:06 ID:+FlrBM+H0] Donut LをCOMオブジェクトにしたいんだけど、、できる?
248 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/10(火) 13:22:29 ID:7kLILI1+0] 多次元配列の初期化はどうやるのよ? ヘルプにも載ってねぇよ。 だれかうまく行ったヤツ報告きぼん。
249 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 14:51:38 ID:7VfZQEmq0] めっちゃ初歩だけど CTRL+左クリックとgoto?系の書き方 教えてくれorz
250 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/11(水) 15:23:50 ID:emNeSkPN0] CTRL+クリックした時のメッセージを調べてそれを送る。 単にWINDOWSに送るなら MMV(x,y)で適当にポインタ合わせて KBD(VK_CTRL、DOWN) BTN(LEFT,CLICK) でよくないか? 後藤恵は無理。
251 名前:名無しさん@お腹いっぱい。 [2006/01/12(木) 00:11:09 ID:R/GKonpb0] Donut Lでも、COM使いたい。。。 できない?
252 名前:249 mailto:sage [2006/01/12(木) 00:56:59 ID:03fQZprA0] >>250 単純なことに気づかなかったなorz ともあれ サンクス!!
253 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/12(木) 01:25:39 ID:lXnCHGLA0] >>251 DonutLの作者の掲示板に行ってWSHで操作する方法が あるかどうか尋ねてから結果をここに書いてくれ。
254 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 02:30:44 ID:AU3lvRdZ0] RANDOM(Range) // 0 <=X <Range の範囲にある乱数を返す これの0〜Xを指定した数〜Xにみたいにできないんでしょうか?
255 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 03:51:39 ID:8vHK1rXT0] 乱数出したあとで特定の数を足せばええんでね?
256 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 14:29:20 ID:wyFKQIiL0] >>255 できましたー、ありがとうございます(´∀`)
257 名前:名無しさん@お腹いっぱい。 [2006/01/14(土) 04:27:30 ID:tlrxpAgh0] UWSCからゲームパッドって操作できる?
258 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/14(土) 04:50:15 ID:jOQMip7o0] アプリ内のBOXに文字を次々に入力したい 配列に文字列を用意。SENDSTRを繰り返す。。でできません エディトコントロールの順番がわからないからと諦めました フォーカスがある所にコピペするにはどうしたらいいでしょうか 他にいい方法などがあればおながいです
259 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/14(土) 07:30:30 ID:cDrK5U/X0] >>258 デフォルトがそうなんだが、意図的に指定する場合はhelpに明記されてないんだな。 引数に0を指定しる。
260 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/14(土) 10:27:03 ID:rPymBOsl0] >>258 具体的でないので良い答えは得られないだろう。
261 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/17(火) 03:28:06 ID:+AzyE6Z60] C = INPUT とかで数字を入れたやつを KBD(VK_"C",CLIKC)とかKBD(VK_NUMPAD"C",CLIKC) で数字のキーを押すようにするやり方は ないんでしょうか? 上の場合、普通にエラーですorz
262 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/17(火) 06:27:06 ID:vYCoNSv/0] >>261 >>246
263 名前:261 mailto:sage [2006/01/17(火) 06:46:25 ID:ENo3OB1u0] >>262 うはw見逃してたw また試してみます、ありがd
264 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/25(水) 00:26:15 ID:i9v1nAF10] 現在ニートなのですが、月曜から金曜まで正社員として 毎日出勤するようなスクリプトってどう書けばいいでしょうjか? OSはXPです。
265 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/25(水) 00:37:04 ID:m4SyqSpT0] タイムカードのようなものを定時に書き出すスクリプトを書けばいいんじゃないかな
266 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/26(木) 00:54:19 ID:LB3pgBpC0] 先に「就職.uws」走らせておかないとエラーで止まるよ
267 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 17:03:36 ID:8T4mTb810] すいません、while Trueからwendのメインループをしてる間、常にALTキーが押されたままの状態いしたいんですが その場合どうしたらいいですか?
268 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 17:52:51 ID:8T4mTb810] すいません、簡単でしたにできました
269 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/29(日) 18:21:38 ID:pCTot8Ky0] >>268 自己解決してもフィードバックくらいしたらどうだい?
270 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 21:19:41 ID:b1+jEnKc0] スクプリの言語はわかるのですが、スクプリのファイルはどうやって作るのでしょうか?
271 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 21:57:18 ID:6QsvTmEH0] メモ帳でも何でも適当にどうぞ
272 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/30(月) 22:37:29 ID:iyFa++4V0] コマンドプロソプトを開いて C:\Documents and Settings\いや〜ん>copy con script.uws_ 入力が終わったらCtrl+Z
273 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/04(土) 03:58:58 ID:0n22uVmJ0] バックグラウンドの指定画像を探す方法ってある?
274 名前:名無しさん@お腹いっぱい。 [2006/02/04(土) 20:08:34 ID:xqSp4twG0] アプリを立ち上げるのはexecだと思うのですが 引数付きでないと立ち上がらないアプリはどうすればよろしいのでしょうか。 例えば、 "C:\Program Files\HDManage\HDManage.exe" -show というものなのですが、うまくやる方法がありますでしょうか?
275 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/04(土) 20:38:35 ID:mFDA2mE80] >>274 引数を""のなかにいれるとできるかも exec("D:\Mozilla Firefox\firefox.exe google.com") これだとgoogle.comをfirefoxexeに渡して起動してるっぽい
276 名前:274 mailto:sage [2006/02/04(土) 21:48:48 ID:lapLjqSG0] >>275 おおっ出来ました。 どうもありがとうございました。
277 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 00:57:33 ID:+fyT/Lya0] ところで初歩的すぎるかもしれんが教えてくれ CHKIMGに-1を付与する場合どう書けばおkなの? UWSCインスコして1時間ぐらいいろいろやってるんだがこれだけどうしてもわからんorz
278 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 01:19:13 ID:q0P6kWce0] >>277 質問の意図が分からないけど「色を無視して形で〜」なら CHKIMG(gazou.bmp, -1, x1, y1, x2, y2) でいいんじゃまいか?
279 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 01:32:00 ID:+fyT/Lya0] >>278 んにょおおお今までヘルプファイルみたいに(gazou.bmp, [-1, x1, y1, x2, y2])にやってた。 ありがとう!と言いたいがそれでやっても 「Uスクリプト:変数: gazou が定義されていません 9行目: IFB CHKIMG(gazou.bmp,-1,X1,Y1,X2.Y2)」 ってエラーが出る。 ちゃんとgazou.bmpをスクリプトと同じフォルダに入れてるし何が問題なんだろう
280 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 01:43:16 ID:q0P6kWce0] >>279 あああ。すまん。 ファイル名はダブルクォテーションで囲うのだ。 CHKIMG("gazou.bmp", -1, x1, y1, x2, y2) ちなみに [ ] の中は省略可能って意味。
281 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 01:48:55 ID:+fyT/Lya0] >>280 うはーそんな簡単なミスだったのか ダブルクォーテーションで囲むのって忘れやすいよね。サンクス!
282 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/05(日) 11:53:31 ID:6EPVuYvn0] 何が「んにょおおお」だ気持ち悪いんだよカスがw
283 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/06(月) 03:15:01 ID:TRFwIBIu0] 微笑ましくていいじゃないか。 頭が固いオッサンなら話は別かもしれんが こういう初心者なヤツもちょっとの間に 激詳しくなったりするから恐いんだよ。 パソコンとかネットとかは。
284 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/08(水) 17:52:20 ID:Dg9xdrP70] MMVのマウス移動でさ、マウスカーソルを「今ある場所から」動かすのってどーすればいい? CHKIMGで判定した画像の少し上をクリックしたいんだけども
285 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 00:52:45 ID:zQitNASt0] >>284 G_MOUSE_XとG_MOUSE_Yでマウス位置を取得できるみたいよ。
286 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 08:46:57 ID:3yl+gGfx0] 今フォーカスがあるテキストボックスの左上の座標を取得することは可能ですか?
287 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 09:25:01 ID:S3IXWCC40] >>286 もっと具体的に。 なんかのダイアログとかアプリウィンドウの中なら大体こんな感じでいける。 あらかじめコントロールの内容を調べておくべし→Winmap.exe等で。 id= getid("ウィンドウのタイトル名","クラス名") h= getctlhnd(id,"コントロールのキャプションまたはクラス名",複数該当時番号) x= status(hndtoid(h),ST_X) y= status(hndtoid(h),ST_Y) クライアント座標が欲しければあらかじめ最初にgetidしたウィンドウの 座標を取得しておいて差分も求めれば由。
288 名前:286 mailto:sage [2006/02/09(木) 10:10:11 ID:3yl+gGfx0] >>287 ttp://www.42ch.net/UploaderSmall/source/1139446822.gif ↑のような帳票形式の伝票入力で、タブ移動不可のコントロールにフォーカスを 移したいんですが毎行Y座標が異なるのでどこかのコントロールを基準にして 目的のコントロールの座標を取得しようと思っています。 コントロールのキャプション、クラス名が分からないので「アクティブなフォーカス」で できたらいいなと夢想してました。
289 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 11:01:15 ID:aIlg4RDF0] 287じゃないが その図の左側の「タブ移動出来ないEditBoxにフォーカスを与えたい」って事っぽいけど そこに文字を入力したいってだけなら、いちいちフォーカス与えなくても SendStrで文字は送れるんじゃないか、最悪ACC指定で。 まぁ「文字送信はどうでもいいから、とにかく今フォーカスのあるテキストボックスの座標を取得したい」 って事なら、俺もよくわかってないけど、こんな感じでイケるくさいよ //毎秒ごとにキャレットのある座標を表示するスクリプト DEF_DLL GetCaretPos({long, long}): bool: user32 DEF_DLL GetCurrentThreadId(): long: kernel32 DEF_DLL GetWindowThreadProcessId(long, hwnd): long: user32 DEF_DLL AttachThreadInput(long, long, long): long: user32 MyID = GetCurrentThreadId() dim x, y While True TID = GetWindowThreadProcessId(IDtoHND(GETID(GET_ACTIVE_WIN)), NULL) ifb AttachThreadInput(TID, MyID, True) GetCaretPos(x, y) AttachThreadInput(TID, MyID, False) id=GETID(GET_ACTIVE_WIN) Fukidasi("キャレットの位置は相対座標で (" + x + "," + y + ")") endif sleep (1) wend
290 名前:289 mailto:sage [2006/02/09(木) 11:05:21 ID:aIlg4RDF0] あぁごめん、テキストボックスっていうか キャレット(文字入力の時に点滅してるアレ)の座標だけど、 まぁあとは上手いことやっておくれ ちなみに、ttp://www.nagomi-jp.net/~liners/ さんとこのスクリプトを参考にしました
291 名前:286 mailto:sage [2006/02/09(木) 12:05:54 ID:3yl+gGfx0] >>289 エンター押さないと変更が反映されない仕様なもんでフォーカス取得するしかないのです。 それを試してみます。thx。
292 名前:287 mailto:sage [2006/02/09(木) 13:09:50 ID:S3IXWCC40] >>288 タブストップしないって事はキーボードだけじゃ操作出来ないアプリって事か? カーソルキーとかEnterとかBackSpaceとかメニューかなんかにも無いのか? ともかくそのアプリを持ってるヤツしか判らんので一度WinMap(ウィンドウエクスプローラ)で調べてみるだな。 www.google.com/search?btnI=I%27m%2BFeeling%2BLucky&q=%E3%82%84%E3%81%BE%E3%81%97%E3%81%9F%E5%B7%A5%E6%88%BF
293 名前:名無しさん@お腹いっぱい。 [2006/02/09(木) 17:24:40 ID:ZW5SKGlk0] UWSCでナイトオンラインというオンラインゲームの自動マクロを作りたいんですが プログラムなんてド素人なんでさっぱりです。 宝箱を開けてアイテムを拾うというスクリプトが書きたいんですが どなたか分かる方いませんか?
294 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 18:28:09 ID:S3IXWCC40] ゲームは手でやるのが一番面白い。
295 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 18:59:17 ID:rrDVla/C0] >>285 その取得された位置の少し上をクリックしたいんだ
296 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 19:02:41 ID:GFQAuM8N0] >>295 すれば? 取得した座標を加減算するだけでしょ。
297 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 19:30:38 ID:rrDVla/C0] >>296 ああそうか。微妙に勘違いしてた。 その取得した座標を加減算ってのをくわしく
298 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/09(木) 19:46:57 ID:GFQAuM8N0] 例えばマウス位置の10ピクセル上は G_MOUSE_Y-10 でしょ。
299 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/10(金) 04:02:51 ID:raBy1Oe20] お前等漫才コンビか?
300 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/10(金) 12:48:17 ID:RdOrPuxH0] >>298 なるほどなるほど いろいろやってみるわ。豚くす! それとバックグラウンドのソフトウェアを操作することってできる? 自動保守スクリプトに使いたいんだけども
301 名前:名無しさん@お腹いっぱい。 [2006/02/11(土) 03:49:56 ID:yD9K0A7W0] >>293 そのゲームの板でマクロスレ作って、そこで聞け。
302 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/11(土) 05:34:13 ID:pgUU+d9b0] そのゲームの板では板違いなんですー マクロスレならネトゲサロンに立てるべきですー
303 名前:名無しさん@お腹いっぱい。 [2006/02/11(土) 15:05:30 ID:/3QbUlq70] >>293 氏ね厨が ttp://www.knightonline.jp/KO/topicsView2.do?TId=895
304 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 16:15:52 ID:aALGT6i10] アクティブウィンドウのスナップショットを撮って ペイントに貼り付けるスクリプトなのだがうまくいかない。 適当に待ち時間入れてみたりウインドウステータスで判断してみたりしてもだめ。 アドバイスをよろしくお願いします。 sckey(getid(get_active_win),vk_alt,vk_snapshot) exec("C:\WINDOWS\system32\mspaint.exe") sckey(getid("ペイント"),vk_ctrl,vk_v) 自動で名前をつけ、マウ筋と連携(ctrl+左クリック)させて、 超簡単にスナップショットを保存したいんだが…… いきなりつまづいている。
305 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 17:20:13 ID:knhdJ+1M0] SAVEIMGじゃだめなのか? つーかそれ、そもそも1行目でキャプチャ出来てるのか? 状況が俺には全然わからんや 他の人には分かるんかね
306 名前:名無しさん@お腹いっぱい。 [2006/02/13(月) 17:46:23 ID:oPffRP7g0] >>304 手動でやってるところを記録してそこから余計なmmvとかを除去する とか無責任に言ってみる
307 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 19:49:31 ID:5ojcC0bt0] WinShotでも使った方がいいんじゃね? // 5秒後にアクティブなウィンドウをキャプチャ SLEEP(5) NOW_WIN_ID = GETID(GET_ACTIVE_WIN) // 逐一キーボード扱う KBD(VK_ALT,DOWN,50) KBD(VK_SNAPSHOT,DOWN,50) KBD(VK_SNAPSHOT,UP,50) KBD(VK_ALT,UP,50) // ペイントへ貼り付け EXEC("C:\WINDOWS\system32\mspaint.exe") SCKEY(GETID("ペイント"),VK_CTRL,VK_V)
308 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 23:08:50 ID:y97yFJME0] まう筋からirfanviewを実行せよ。 あんたのやりたいことは多分、 i_view32.exe /capture=1 /convert="C:\$U(%Y%m%d_%H%M%S).png" みたいな感じだ。
309 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/13(月) 23:10:27 ID:y97yFJME0] ↑は>>304 でした。
310 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 02:08:59 ID:FNix1TKd0] >>307 ありがとうございます。たいへん参考になりました。 winshot 使えばとりあえず目的は達成できそうです。 ただ、winshot を常駐させないといけないのでやや効率的ではありません。 また、winshot は PNG に対応していない点がきになります。 >>308 まさにそんな感じです。ファイル名には日付を使うスクリプトを書いていました。
311 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 14:44:06 ID:BLijjrg10] Fukidasi("ウィンドウを選択してください [ESC]:中断") id= GetId(GET_ACTIVE_WIN) While id=GetId(GET_ACTIVE_WIN) If GetKeyState(VK_ESC) Then Exit Sleep(1) Wend ScKey(GetId(GET_ACTIVE_WIN),VK_ALT,VK_SNAPSHOT) Exec("MSPAINT") For i=0 to 10 id= Getid("ペイント") If id>0 Then ScKey(id,VK_CTRL,VK_V) If id>0 Then Exit Next
312 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/14(火) 14:45:34 ID:BLijjrg10] 訂正 For i=0 to 10 id= Getid("ペイント") If id>0 Then ScKey(id,VK_CTRL,VK_V) If id>0 Then Exit Sleep(0.5) Next
313 名前:名無しさん@お腹いっぱい。 [2006/02/14(火) 16:56:26 ID:+K3DMQlR0] UWSCで最前面のフォームや画面上の指定した位置をJpegなどの画像ファイルとして保存する 方法は無いでしょうか? プリントスクリーンだと画面全体が保存されるし、最前面のフォームのみ保存と言うのが 出来ないので困ってます。
314 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/15(水) 00:09:26 ID:1SMXs15y0] >>313 Alt+PrintScreen
315 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 03:14:34 ID:+48TWt7b0] 暇だったのでアイコン作ってみました。気分刷新にどぞ。 内容はアプリアイコンとUWSファイルの2つ、オリジナルと比べ違和感ないよう手がけたつもりです。 www.uploda.org/uporg315599.zip.html
316 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 09:14:51 ID:bFyJcYfr0] ttp://www.42ch.net/UploaderSmall/source/1140221302.gif ↑のリストボックスから"0002 ホテル"を選択させようと思い、 ID=GETID("出力部門指定","#32770") CLKITEM(ID,"0002 ホテル",CLK_LIST) とコードを書いたのですが、一つ上の"0001 教習"が選択されてしまいます。 上記のコードでは何がまずいのでしょうか?
317 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 09:20:02 ID:bFyJcYfr0] 追記 "0000 共通部門"、"0001 教習"と指定してみたところ、この二つは正常に 選択されました。 上記の文字列は全てGETITEMで取得した値です。
318 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/18(土) 11:24:48 ID:303WKJ9z0] >>315 プレビューうpしろ。
319 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/19(日) 00:25:25 ID:z6Vc2QvB0] アイコン取り逃したorz うpおねがいします。
320 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/19(日) 04:45:08 ID:tiWZJJrO0] >>319 微妙に引き合い多いんで、後日divartntに再UPします。 お待ちください。
321 名前:名無しさん@お腹いっぱい。 [2006/02/20(月) 01:42:03 ID:JWINwClv0] UWSCのスクリプトで引数を使って制御することはできますか? 例えば、abc.UWS abcabc などと実行した場合にnotepad.exeを起動してabcabcと入力するようなスクリプトを作ることは出来ないでしょうか?
322 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 02:02:42 ID:I4xj6WNH0] >>321 デキマシタ!! np = EXEC("notepad.exe") sendstr(np,PARAM_STR[0])
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 02:14:00 ID:JWINwClv0] >>322 超即レスはありがたいのですけど、メモ帳は起動するけどパラメーターは渡されないみたいですよ? abc.UWS abcabc abc.UWS "abcabc" abc.UWS -abcabc abc.UWS "-abcabc" でやってみたけど駄目だった。
324 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 08:40:21 ID:O/+S8nII0] そもそもノートパッドのパラメータで初期入力なんてあったっけ?
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 09:03:33 ID:WrM6bk3j0] notepadに、じゃなくてUWSCに渡す引数でしょ? どういう使い方か分からんけど同じスクリプトへ 複数のショートカット作っておいて使い分けるとかかな。
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 09:19:06 ID:Ng3+D0dN0] UniteMovieというフリーソフト hp.vector.co.jp/authors/VA029859/umovie.html を使って 大量のエロ動画をジャンル別に結合したいのですが この結合が 例えば1 2 3とある動画を結合して 全く同じサイズで一定の時間で結合するなら別にマクロ組まなくても 普通に記録をすればいいのですが どうも、どういうわけかわらないのですが1回ごとに結合時間が変わってくるのです さらに、種類がたくさんあるために3分で結合終了する時もあれば10分で結合終了するときもあるのです。 長文になりましたが 用は追加で動画を選択させて 結合ボタンを押して 結合が完了して 追加で動画を選択させての繰り返し という一連の作業を完全にマクロ化したいだけなのです。 というよりこういうマクロってできるのかな・・・? ちなみに追加するときは こっちが意図する名前順にファイル名を並べ替えておけば それを選択させるだけなのでそこは問題ないです。
327 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 10:03:12 ID:P95V3i0d0] そんな事していると萎えてしまうぞ。
328 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/02/20(月) 11:03:28 ID:PmaTlz2z0] >>326 結合終了時にダイアログが出るならそれを検出 もしくはCPU利用率を監視しておいて一定時間の間低かったら 次の結合をするとかでやってみれば?
329 名前:326 [2006/02/20(月) 15:54:10 ID:Ng3+D0dN0] 皆さん、すいません 質問の仕方が悪かったです 追加を押して 結合まではいいのですが その際に待ち時間があるのですが そこの待ち時間を 丁度10分間にしたいのですが 1・・・追加 2・・・結合ボタン 3・・・結合しますか? OKを押す 4・・・結合完了もしくは結合が失敗した場合英語でエラーが出現 ここはエンターを押せばいいので問題ありません 5・・・そしてクリアを押して追加の繰り返しです 追加のところがちょっとずつ変わってくるので その動作だけを短時間で記録して その記録の中に10分間でエンターを押すという動作を追加したいです。 こんな感じにするにはどんなスクリプトをどこに追加したらいいのか ご教授ください。
330 名前:名無しさん@お腹いっぱい。 mailto:sleep(600) [2006/02/20(月) 16:53:03 ID:PmaTlz2z0] 動画の結合なんて未だにやってる人居るんだ 1〜3をする 10分待つ 4、5を行う 繰り返し をやりたいなら記録を使えば?10分はストップウォッチ で計れば秒単位まで正確に出せる。 もしくはヘルプを読んでください。
331 名前:名無しさん@お腹いっぱい。 mailto:sleep(600)とすればよかったのですね [2006/02/20(月) 17:10:38 ID:Ng3+D0dN0] >>330 解決できましたありがとうございます ありがとうございます