1 名前:名無しさん@お腹いっぱい。 [2009/12/09(水) 05:27:33 ID:J1DL1P1U0] Windowsを自動化させるツールUWSC。 www.uwsc.info/ uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。
369 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 01:26:20 ID:IFvYJtzA0] >>368 ttp://www.upken.jp/kb/HdPBaCEihTHpWKzfDZZsVhEJEYkamv.html FreePhysicalMemory ってプロパティがある。 上記を拡張子 .vbs で保存して実行すればとりあえず空きメモリが取得できる。 コマンドラインからファイルを指定してもダイアログが出るんだけど、 > cscript test.vbs っていう風に、コマンドプロンプトからコンソール向けスクリプトで実行すると、 コマンドプロンプトに結果を返してくれる。 これをDOSCMD()で呼び出せば結果を文字列で受け取れる。 でも余計な文字列はDOSコマンドで除去した方がいいので > cscript test.vbs | find "Free" として、空きメモリの行だけ受け取ればいい。 数値だけ受け取りたければ、findstrで正規表現を使って数値部分だけを返すようにも出来るけど val()に渡すだけで数値化できるならその方が簡単だね。
370 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 02:23:37 ID:BNDwd4xF0] >>369 これ、殆どそのままUWSCでも使えるじゃないかw COMオブジェクトを触れるなら わざわざコンソールの文字列をfindしなくてもいいと思う。 まぁ、COMは難しいなぁ、と思うなら369のやり方でも実用上問題ないだろう。
371 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 02:31:36 ID:5rPFMVrg0] UWSC上でVBScriptのfor-eachに該当するのってどういうやり方になるの?
372 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 02:32:05 ID:IFvYJtzA0] >>370 UWSCに直そうと思ったんだけど、For Each 〜 in をfor 〜 nextで実現する方法が分からなかった。 .lengthの回数配列でまわす程度のイメージは持ってるんだけど・・・できなかった。 そんな苦労をするくらいなら結果だけ使った方が簡単だと思ったんだ。
373 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 03:26:20 ID:IFvYJtzA0] .length じゃなくて .Countだったっぽいけど、配列アクセスはできないものもあるらしい。 よくわからないけどもしかしたらそれかも。 WSH(・∀・)スレッド! Part 4 ttp://pc12.2ch.net/test/read.cgi/tech/1243095768/210-218 Item Items ItemIndex とかいろいろ試したんだけど。 ・・・UWSCでのやり方出てきた。GetOleItem使うのか。 ttp://siromasa.xxxxxxxx.jp/Term/4ta1.html Function Processor(Obj_CS) Dim Col_Processor = Obj_CS.ExecQuery("SELECT * FROM Win32_Processor") Dim i, Str For i = 0 To GetOleItem(Col_Processor) - 1 Dim Obj = All_Ole_Item[i] If i > 0 Then Str = "<#CR>" + Str Str = "Cpu" + "[" + GHz(Obj.MaxClockSpeed) + "] [" + Trim(Obj.Name) + "]" Next Result = Str FEnd
374 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 06:07:04 ID:TGzzLXVI0] google画像検索で出てきた画像をまとめて保存するスクリプトを書いたのだが、晒すべきかどうか迷う… google画像検索で出たダウンロード先はそれぞれ別のサーバーだから、特定のサーバーに過重な負担をかける心配はない。 だが、pixivやふたば掲示板のような画像の置いてあるサーバが同一の掲示板やサイトで、同じようにスクリプトでダウンロードした場合、 あっという間にサーバーが悲鳴をあげる。そして管理者が対策をし、そのスクリプトは使えなくなってしまう。 サーバーに過重な負担をかけないよう、画像一枚に二分とか「手動でダウンロードするのと同じくらいのインターバルを置けばそういう事態は回避できるだろうし、 サーバーの貧弱なところからダウンロードする場合、自分ならそうする。 注意書きをしたからと言って百人に一人の馬鹿がそれを平気で破り、サイトそのものに大迷惑をかける恐れもある。 自分の発表したスクリプトが改変されてpixivやふたばに大迷惑をかけないという保証はどこにもない。 バカや不心得者にスクリプト技術を持たせばそれは凶器。 スクリプト荒らし一つで簡単に2chで特定のプロバイダがアク禁されてしまうことを考えれば、ちょっとの改変で画像サイトに大迷惑をかける恐れのある スクリプトは、やはり自分ひとりで使うのが正解だろうか…
375 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 06:51:38 ID:IFvYJtzA0] IEを自動操縦するぶんについては、鯖から対策されると言うことはないよ。 2ちゃんねるはプロ串とか荒らしツールの対策はされるんだけど、 IEの自動操縦についてはブラウザ情報がIEなもんだからソフト的な対策は施されない。 同じURLを書き込めば制限されたりするけど、それは自動か手動かを判断しない。 コピペ投稿したらIPアドレスで書き込み制限されるだけであって、ログ取得については無制限。人大杉にはなるけど。 Googleが負荷を気にするかについてだが、 今Youtubeが次々に自動的に動画を再生している。Youtubeの機能で。 つまり、Googleは情報を配信したがっているわけだから、収集ツールなんかはむしろ臨むところなんじゃないかな。 要するにくださいってことです。
376 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 10:35:49 ID:5rPFMVrg0] >>373 369のをGETOLEITEMを使いアクセスするのはやったけど エラーも何も出ない代わりに何も出力されず終わる…
377 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 11:32:02 ID:BNDwd4xF0] >>376 //--------------------------------------------------- Locator = CreateOLEobj("WbemScripting.SWbemLocator") objService = Locator.ConnectServer objEnumerator = objService.ExecQuery("Select * FROM Win32_OperatingSystem") GetOLEitem(objEnumerator) print "Free : " + ALL_OLE_ITEM[0].FreePhysicalMemory print "Total: " + ALL_OLE_ITEM[0].TotalVisibleMemorySize objEnumerator = null //--------------------------------------------------- WMIを使うなら、MSDNあたりを眺めておくと何が入っているかの見当がつくよ。 msdn.microsoft.com/en-us/library/aa394084%28v=VS.85%29.aspx (Win32以外もたくさんあるけど) 巷にあふれるVBからのコード変換をする際の手助けになるはず。
378 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 11:32:14 ID:IFvYJtzA0] >>376 出来たんだけど 【実行結果】 Count : 1 Free : 265140 Total: 523760 【ソース】 Locator = CreateOLEObj("WbemScripting.SWbemLocator") objEnumerator = Locator.ConnectServer.ExecQuery("Select * FROM Win32_OperatingSystem") print "Count : " + objEnumerator.Count for i = 0 to GetOleItem(objEnumerator) - 1 Obj = All_Ole_Item[i] print "Free : " + Obj.FreePhysicalMemory print "Total: " + Obj.TotalVisibleMemorySize next sleep(10)
379 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 11:39:28 ID:BNDwd4xF0] >>378 短時間でかぶりすぎだろw
380 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 12:05:41 ID:5rPFMVrg0] あれ? コードほとんど同じはずなんだけど… なんかミスってたかな。 ちょっとやってすぐ消したからどこが間違ってたのかわからんw
381 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/28(水) 13:01:21 ID:IFvYJtzA0] >>379 うん。書いた瞬間やっちゃったって感じだた。 >>380 for i = 1 とかがありがちなミス あとはprintした瞬間にスクリプトが終了とか。 結果を見るためのsleep(10)だからね。 UWSCを通常起動して実行すればログ窓は残ってるけど、 関連付け実行ならsleep()入れないとすぐ消える。
382 名前:374 mailto:sage [2010/04/28(水) 19:57:44 ID:TGzzLXVI0] 結局晒してしまう google画像検索で出た画像を指定数、自動保存する ここから keyword="九龍城" // 検索キーワード downKazu=30 // ダウンロードしたい数 folder="C:\Documents and Settings\k\My Documents\My Pictures" // 保存先フォルダ public FS = CreateOleObj("Scripting.FileSystemObject") ifb FS.FolderExists(folder+"\"+keyword)=false then FS.CreateFolder(folder+"\"+keyword) endif for page=0 to ((downKazu+17)/ 18) pagenum=page*18 URL="www.google.com/images?hl=ja&source=imghp&q= "+keyword+"&start="+pagenum+"&ndsp=18" 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.outerHTML
383 名前:374(2) mailto:sage [2010/04/28(水) 19:58:59 ID:TGzzLXVI0] cutword="</A>" cut=toScanWord(str2,cutword) //print cut str2=afterScanWord(cut,"imgurl=") str2=beforeScanWord(str2,"&") print str2 nokori=copy(str2,pos(cutword,str2)+length(cutword),length(str2))// print nokori ie.navigate(str2) ieWait(ie) sleep(2) id=GetID(str2,"IEFrame") sckey(id,vk_alt,f,a) number=page*18+i numberStr=""+number orgName=copy(str2,pos("/",str2,-1)+1,length(str2)) orgName=chgmoj(orgName,":","") name=folder+"\"+keyword+"\"+numberStr+"_"+orgName print name id2=GetID("画像の保存","#32770") ifb id2>0 then sendstr(id2,name,1,true) sleep(2) sendstr(id2,name,1,true) sendstr(id2,name,1,true) sleep(1) clkitem(id2,"保存",CLK_BTN) sleep(1) else id2=GetID("Web ページの保存","#32770") clkitem(id2,"キャンセル") endif next
384 名前:374(3) mailto:sage [2010/04/28(水) 19:59:41 ID:TGzzLXVI0] next function fromScanWord(str,scan) // 検索ワード以後の文字列を切り取る 検索ワード含む result=copy(str,pos(scan,str),length(str)) fend function toScanWord(str,scan) // 検索ワード以前の文字列を切り取る 検索ワード含む result=copy(str,0,pos(scan,str)+length(scan)-1) fend function afterScanWord(str,scan) // 検索ワード以後の文字列を切り取る 検索ワード含まない result=copy(str,pos(scan,str)+length(scan),length(str)) fend function beforeScanWord(str,scan) // 検索ワード以前の文字列を切り取る 検索ワード含まな result=copy(str,0,pos(scan,str)-1) fend procedure ieWait(ie) REPEAT SLEEP(0.1) UNTIL !(ie.Busy) AND (ie.ReadyState = 4) fend
385 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/04/29(木) 04:18:51 ID:EPCxEO3u0] >>382-384 半角スペースだからインデント消えたのかと思ったら最初から入ってなかったぜ。
386 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/02(日) 09:40:15 ID:doL+vkcY0] GETSTRみたいに、ネットフレームワークのDataGridViewのセルのデータを取得する方法は、 UWSCだけでは出来ずにWin32APIで取得するしかないでしょうか? もしそうなら、そのAPI名を教えていただければありがたいです。 具体的には、データグリッドビューで表示されているドル-円のレートを1分毎に取得したいです。
387 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/04(火) 06:36:01 ID:0Qq9JDW3P] このソフトに挑戦しようと思います。 ふつうにネトゲで使えるようには かなり時間を要しますか? Autohotkeyは初級は使いこなせてると思います。 ぐぐったらゴールデンウィークにこのソフトに出会ったという人の HPみたのでやってみようかと
388 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/04(火) 07:01:47 ID:Q0DkcYUl0] >>387 そのままでUWSCが使えるゲームなら、キーの記録と再生した奴をちょっと弄ることを覚えたらそれで応用はできるよ。 連打だけしてればいいようなものもあるだろ? そういう単純作業をするマクロをたくさん作ってれば上達するよ。
389 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/04(火) 07:11:09 ID:0Qq9JDW3P] >>388 既存のもの弄ることからやってみようと思います。ヘルプ読んでみたが 数学捨てた低学歴文系にはこの記号の押し寄せに一瞬で圧倒される。AHKよりもぜったいムズイだろう。 AHKは飛び抜けて優れたソフトだと思うが、これにも可能性感じる。 サンプルが動かしたが嬉しい。色や文字を認識しての条件分岐が使えるようになれば ワクテカしてきそうだ。
390 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/04(火) 07:25:47 ID:7yDjLHFl0] こいつは二重人格なのか?
391 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/04(火) 15:34:19 ID:wfwIxOPI0] いまでこそ色々使ってはいるモノの、はじめて落としてから、ああこういうことか、と仕組みを理解して動かし始めるまでに結構なタイムラグがあった。 ヘルプはたしかに、仕組みを理解しない人間にああこういうことかと理解させるにはちょっとキツイな、
392 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/05(水) 05:12:36 ID:bhIlqqXN0] 俺も昨日から使い始めた。UWSCは難しい、と聞いて敬遠してたけど、 自分の操作を記録したものを修正する方法を使えば実に手軽だった。 ところで、 「コンピュータのロック」(Win + L)中はFirefoxへのマウスクリックが 動作してないんだけど、回避策ある?それともロックの仕様? 環境は Vista(x64)SP2 + Firefox v3.6.3 + UWSC v4.6。
393 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/05(水) 19:16:43 ID:oF5LYxqnP] このソフトって何年に発表されたものなんですか? 相当昔からあるみたいですね。いまでも最前線のソフトなんでしょうか?
394 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/05(水) 22:36:46 ID:kH509+ir0] >>393 www.uwsc.info/history.html 10年前からあるね。すげえなあ。
395 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 07:43:29 ID:YqDfIqgLP] 3Dゲームウインドウ上で半角キーを押すことをUWSCにさせたいのですが、 まったく押してくれません。どうやれば改善するのでしょうか? 自分で半角キーを押したのを記録して再生してもおしてくれません。 KBD(VK_KANJI,CLICK,20) というのはちゃんと記録されているみたいなのですが。 おしえてください。
396 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 10:20:09 ID:ygJ5pRgT0] >>395 よくある質問です。 ・大半の場合おいて出来ません。 ・出来る可能性の中でも知識を持つ人が居ない事が多いです。 ネットゲームの場合は自動化を不正と考え 実行を阻止するプログラムが入っている場合が多数あります。 (阻止するプログラムが入っていないほうを探すのが大変なぐらいです) そのほかのゲームでもタイトルが不明では返答のしようがありません。 また、タイトルが判っても、プレイしていない人が大半ですので 「UWSCの知識」+「そのゲームをプレイしている人」という…返答できる人が非常に限られた話です。 答が帰ってくることを期待しても望みは薄いでしょう。 //次のスレでは、ゲーム関係の質問はテンプレに入れてほしいなぁ…
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 10:41:17 ID:R/Hz/ZTE0] >>396 > 「UWSCの知識」+「そのゲームをプレイしている人」という 「UWSCの知識」+「そのゲームをプレイしている人」+「チートしようとしてる人」だろう。 ゲームする奴が全てチートする気のある奴ってわけではないんだから。
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 10:48:58 ID:YqDfIqgLP] 395です。UWSCにある特定のバグのようなものがあるのかと思って聞きました。 AutoHotKeyでは半角キーにバインドするとバグるので(まぁあっちは海外製ソフトですが)。 じゃぁ質問を返させてください。 メモ帳の上で半角/全角キーを押す作業をUWSCにさせても 半角キー以外の作業だけせずに工程を終えてしまいます。 ほかのキーバインド関係のソフトは終了させています。日本語入力ソフトは google日本語入力です。その設定で空白を半角キーに割り当ててみました。 あとチートのやってたわけじゃないです。うっとおしい設定を毎度させられるからです。 おしえていただけませんか?
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 10:53:59 ID:ygJ5pRgT0] >>398 割と短い行で済むスクリプトでしょうから >メモ帳の上で半角/全角キーを押す作業をUWSCにさせても >半角キー以外の作業だけせずに工程を終えてしまいます。 を見せてみてはどうでしょうか。
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 11:25:23 ID:YqDfIqgLP] これです。手入力で自分で一度したのを記録しました。 ACW(GETID("無題 - メモ帳","Notepad"),200,10,400,400,0) MOUSEORG(GETID("無題 - メモ帳","Notepad")) BTN(LEFT,CLICK,178,295,47) KBD(VK_CONVERT,CLICK,40) KBD(VK_S,DOWN,40) KBD(VK_A,DOWN,40) KBD(VK_S,UP,40) KBD(VK_A,UP,31) KBD(VK_G,DOWN,40) KBD(VK_A,DOWN,40) KBD(VK_G,UP,40) KBD(VK_A,UP,40) KBD(VK_KANJI,CLICK,20) KBD(VK_S,CLICK,40) KBD(VK_I,CLICK,10) KBD(VK_M,DOWN,40) KBD(VK_A,DOWN,40) KBD(VK_M,UP,10) KBD(VK_A,UP,40) KBD(VK_N,CLICK,40) KBD(VK_E,CLICK,40) KBD(VK_RETURN,CLICK,40) ちなみに半角キーはgoogle日本語入力の「変換前入力中-左の文字を削除」 に割り当てました。二回半角キーを押しました。(一回しか記録されていない?) 手入力では「しまね」の文字のみが残りますが、UWSCでは「さがしまね」 と前の言葉を削除してくれません。 AutoHotKeyではちゃんと入力して削除してくれました。
401 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 11:42:26 ID:ygJ5pRgT0] >>400 こちらでは、半角キーの操作も忠実に実行されました。 …google日本語入力では在りませんが。 IMEをMS-IMEでやってみてはいかがでしょう。 それで出来たら、ゲームと同じでgoogle日本語入力を使っている人が来るまで待ってね。 あと記録に関してはヘルプをよく読むといいよ。取りこぼしが無くなる。
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 11:55:01 ID:YqDfIqgLP] >>401 ありがとうございます。そうですか・・・。 ウチの環境に起因してるみたいですね。 googleIMEからAtokに変えることなんて確率高すぎだし、 そうなると半角キーが動作しないことは痛すぎる。
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 12:01:01 ID:ygJ5pRgT0] >>402 まぁ、UWSCで出来るとは思うけど 現状の、制御をせずに操作記録をしてるだけじゃぁ辛いかな。 中に書いてあるスクリプトの意味合いを調べて キーをどのウィンドウに送る、とかを考えて記述してみてくださいな。
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 13:26:54 ID:nRrWodtj0] >>400 sendstr(id, "ほげほげ") とか iesetdata(id, "ほげほげ") じゃだめなん?
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 13:46:28 ID:LRAtWfIh0] >>395 そのゲームがキーを操作できるか出来ないかは知らないけど、 漢字キーというのは対象アプリケーションがアクティブな状態でクリックしないと意味がありません。 ためしにメモ帳を使って文字の入力と漢字キーのクリックをセットでやってみてください。 文字が入力できないならアプリケーションがキー入力対象になってないから漢字のOnOffができていないと言うことになります。 アプリケーションはアクティブでもゲームは文字入力可能状態になっていないとだめですよね? そこもちゃんと出来ているかが大事です。 >>400 ・・・よく分かりません。
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 13:59:02 ID:YqDfIqgLP] >>404 わたくし初心者なのでわかりません。調べます。 ただ極めて簡単な手入力なのに再現できないのがありえないと思ったのです。 しかも記録には半角キーを押すという記述があるのに。 こういうのが多発するんであれば手入力から記録するのはしんどいなと。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 14:30:07 ID:Os/9wnHl0] >>395 ネットゲームなんかだと KBD(VK_KANJI,CLICK,20) じゃ認識してくれないこと多いな KBD(VK_KANJI,DOWN) KBD(VK_KANJI,UP,30) こういう風にすると認識するかもしれない これでも認識しないときは30を50とかに変えると良いかも
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/07(金) 21:39:44 ID:YqDfIqgLP] >>407 僕の環境じゃ無理だったっす。手入力じゃできるのになぜ再現できん。
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 02:25:23 ID:KCjmmf/Y0] 2010/05/08 UWSC Ver4.6a、 Pro版と Free版をリリースしました。
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 06:32:02 ID:JqIMMq5FP] 昨日からさんざん書き込んでいる初心者ですが、Google日本語入力からATOKにしてみました。 そうするとメモ帳への半角/漢字キーの入力の再現ができました。 ただ、やはり3Dゲーム上での半角キーの入力の再現はやはりできませんでした。 しかしちょっとすっきりしました。
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 11:18:11 ID:ASg7DSZb0] 4.6aでやっとこchkimgのバグが修正されたか。
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/08(土) 11:33:41 ID:QYwcVRY00] >>411 どういうバグ? 俺はたまに repeat に入れたchkimgで止まることあるんだけど・・・ 関係ないか?w
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/09(日) 00:22:33 ID:YB83BsnNP] >>408 仮想キーボードやらソフトウェアキーボードやらを使って間接的に入力するのは? やった事ないから出来るかはわからないけど
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/09(日) 22:44:32 ID:wzyOTChL0] こんにちは。 先週初めて競艇場に行った女子大生です。 競艇場内ののトイレに入ってウンコをしようと思ったのですが、 「トイレットペーパー以外の物は流さないで下さい」 と張り紙がしてあったのでウンコをビニール袋に入れて持って帰りました。 非常に不便さを感じました。競艇場ではこうなんですか? 皆さんはどのようにしているのでしょうか? 参考に聞かせてくれませんか?
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/10(月) 00:35:50 ID:LYMCbv6H0] >>414 うんこは食べてしまえば荷物にならなくていいです。 と言うのは冗談で、ウンコを流してダメなトイレはないので素直に流してください。 いつものコピペだけど念のため。
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/10(月) 11:09:35 ID:xjPPSIWT0] トイレで流れない極太ウンコをしたことを思い出した
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/11(火) 13:33:04 ID:tljPtQDt0] print と UWSC本体のログの書き込み時間の違いってコントロール出来るんでしょうか? print実行した直後にログも更新されてるといいんですが…
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/11(火) 13:59:34 ID:A7VZNycf0] >>417 それってログファイルを開いて最後の書き込みを監視して動くとか? 書き込みするファイルを常に開いて中身をチェックするのはあんまりよくないから、 クリップボードとか環境変数とか使ったほうがいいと思うんだけど。
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/11(火) 18:18:28 ID:tljPtQDt0] 基本的に単に見るだけです。 問題があったらUWSC自体を止めるのが目的。 今スクリプトを書いてる最中で何度もテストしてるんですが、doscmdの実行中は UWSC自体が応答無しになっていてprintのウィンドウを大きくできない状態になります。 UWSCを使って動画のエンコード等しているんで9割以上の時間応答無しになったままです。 一度doscmdが終わってUWSCに実行が戻ってくる瞬間はprintのウィンドウが更新されるんですが ログの方は更新されない。 関数の中だと書き込まれないのも違うし、時間やある一定量書き込んだらというのも違うし… ログじゃなくて、FOPEN-FCLOSEでやった方がいいんでしょうかね。
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/12(水) 11:07:41 ID:a5vstssbP] 教えてください。getIDでタイトルなしでクラス名のみでIDを取得することはできますか? 自分がIDがほしいアプリのウインドウは毎回タイトルを変えたり、空白だったりするので。
421 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/12(水) 11:19:12 ID:8thtGBLI0] getID("",”クラス名”) でやってみそ
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/12(水) 11:40:57 ID:a5vstssbP] ありがとうございます。成功シマシタ。 id = getid("", "MozillaUIWindowClass") のクラス名の前に置くスペースの位置でつまづいていました。 ど素人にイチからちゃんと学ぶことができる筋道ってありますか? windowsマクロテクニックの本は有効なのでしょうか?買って損したみたいな 感想もみたりするので・・・。 >>2 の上の方の初歩の初歩のサイトを2日かけて読みました。 あとはヘルプみながらサンプルスクリプトを弄るしかないのでしょうか? >>2 のようなサイトでずっと続きが読みたかった。
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/12(水) 12:22:53 ID:henq843t0] UWSCの解説本なんかあるのかよ… UWSCは基本だけ押さえておいて、あとはWSH関連をやったほうがいいと思うぞ。 WSH等コンポーネントを呼び出して使うことが多いから。 UWSCのヘルプとWSHのヘルプ ( www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d のscd56jp.exe) だけで結構なんとかなる。
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/13(木) 12:59:27 ID:8TRBb1jz0] 去年は残念ながら失敗した
425 名前:424 mailto:sage [2010/05/13(木) 13:00:08 ID:8TRBb1jz0] ゴバ━━━━(゚∀゚)━━━━ク!!!!
426 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 12:27:28 ID:ps7Xn0cn0] すみません、あるネットゲームにおいて2つのパソコンを使い 自動で対戦したいのですが、かんじんなマクロ言語をまったく知りません;; なので、知識のある方にお願いして(PC詳しい友人無し) 画像認識を含むマクロスクリプトを作って頂きたいのですが、 そういた類の者をオファーできる会社等はあるのでしょうか? 勿論無料とはいいません よろしくお願い致します!
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 12:28:58 ID:hrZJMe7r0] >>426 ゲームによるけど? タイトル言わないと来るものも来ないよ?
428 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 12:41:53 ID:ps7Xn0cn0] >>427 ファミスタオンラインという恐らくネットゲームでは単純な方 のゲームだと思います
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 12:53:41 ID:hrZJMe7r0] >>428 で、いくら出せるんだ?
430 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 12:56:18 ID:ps7Xn0cn0] >>429 3万くらいじゃ無理でしょうかね?
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 19:24:06 ID:rBaz5SrhP] バルーンメッセージを取得してテキストに出力したいのですが、取得方法がよくわかりません 出来れば特定ソフトのみのバルーンを取得したいのですが、なにか良い方法はありませんでしょうか 外部ソフトを使うなどでも全然おkなんですが・・・
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 19:50:47 ID:JLo169nCP] >>431 情報料として8万円でいかがでしょうか? 業者に調べてもらうとなれば20万はするでしょう。 ご検討ください。
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 20:18:15 ID:+o0AXIKx0] 何勘違いしてるの? 2ちゃんはそういうところじゃないよ。 情報出し合う掲示板だよ。 商売したいなら出て行くか、 2ちゃんの広告枠買いなさい。
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 21:41:20 ID:/UXjpTM40] >>432 は何を考えて言っているんだ・・? 426に言うならわかるけども
435 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 21:48:11 ID:wySSdIwP0] uwscでできることは基本的にWSHでも出来ますか?
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 22:00:32 ID:MQnw18qw0] >>433 何細かいこと言ってるんだよ。 ネトゲのアイテムやツールやキャラなどを2ちゃんねるで売買するのは普通のことだよ。 2ちゃんねるで車の売買とかもやってんだぜ? 車どなたか譲ってください。 ttp://namidame.2ch.net/test/read.cgi/car/1273073007/ >>426 プレイ動画をちょこっと見たけど、ちょっと難しいね。 ・・・仮にボールのビットマップが固定だとすれば座標サーチでいけると思うけど、・・・ あ、変化無しでただ投げるだけ打つだけならもうちょっと簡単かも。 投げる操作をすると同時に、投げましたよともう一台のPCにメッセージを送る。 打つ方は画面は見ずにメッセージを受け取ったタイミングで打つ。 それでもキャラごとにスピードが違うからなあ・・・ 通信回線によっても、バッター側に届くタイミングがずれるし・・・
437 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 23:04:27 ID:ps7Xn0cn0] >>436 アドバイスありがとうございます こんなこと言っては失礼ですが、違うんです><試合中はもうD連打だけでいいんです>< 打つタイミングとか投げるタイミングとかもランダムで... 自分が行って貰いたいのはポイントを簡単に纏めると 試合開始する→ロビーから出る→また試合開始する この一連の作業をUWSCのマクロスクリプトで行いたいだけなのですが>< まったくPC知識もないもので.. している方に聞けば、マクロ知識と画像認識ソフトがいるみたなのですが やっぱり人に頼むのは無理ですよね><
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/14(金) 23:10:48 ID:t4ypZjEx0] >>437 それなら簡単そうだから勉強する意味でも自分で組んでみたらどう? わからなかったらその都度ここで聞けばいいし とりあえず流れ的には 1.PC1で部屋を作る 2.PC2で1で作った部屋に入る 3.試合を開始する 4.PC1、PC2共にD連打する 5.試合が終わりロビーに出る 6.1へ戻る でいいのかな? 画像判定は試合中なのかロビーにいるのかを判定する時に使うくらいじゃないかな そういうのはUWSCで全部できちゃう
439 名前:名無しさん@お腹いっぱい。 [2010/05/14(金) 23:39:28 ID:ps7Xn0cn0] >>438 さすが頭のいい方は仕組みの理解が早いですね;; おっしゃるとうりです 上級者の方にはやっぱり簡単なプログラミングなんですね;; マクロ知識まったく皆無で半年はかかりそうですが、自分で試す事 にしてみます! この度はどうもありがとうございました!!
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/15(土) 16:35:52 ID:qdoKfTAuP] このスレ終わってんな
441 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/15(土) 20:10:08 ID:gQIYbWRy0] >>435 基本的にWSHはCOM経由で操作するために設計されてるものなので低レベル入出力はほぼできない
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/15(土) 22:17:03 ID:g7rDCx6T0] ctrlwinでウィンドウをTOPMOSTとNOTOPMOSTでトグルしたいんだけど TOPMOSTになってるウィンドウかどうかというのを知るにはどうすればいい?
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 03:08:18 ID:QQZQPNYAP] キッチンのカウントダウンタイマーみたいな効果を UWSCで実現したいのです。ぐぐって見つけたのですが、 www3.bigcosmic.com/board/s/board.cgi?id=umiumi&start=20&log=ON&cnt=16 このページの一番上の書き込みをそのままコピペして 新しく作った.UWSファイルにペーストしても まったく動いてくれません。どう編集すれば 動いてくれますか?おしえてください。 (TimeWaitみたいな関数ないですよね?ヘルプにのってないし)
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 03:37:10 ID:xeTkbS2L0] >>442 TOPMOSTにしてないやつはなってないはずなので、 自分でどっちに制御したかを変数で持ってればいいんじゃね? >>443 スクリプトは Function TimeWait(time_remain, RepeatTime) から始まっていますよね。 これは自作関数を定義するものですが、どこかから呼び出される必要があります。 具体的には、ファイルの先頭から TimeWait( 60, 3 ) Function TimeWait(time_remain, RepeatTime) ・・・(省略) Fend というように、TimeWait()を呼び出すコードを先に記述しなければなりません。 具体的にどんな引数を渡すべきなのかとかは、めんどくさいので見てません。 > TimeWaitみたいな関数ないですよね? 何もしないで休んでいる組み込み関数ならあります。 sleep() です。 でも、それでは何が起こっているかわからないのでいろいろするわけですね。
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 03:53:09 ID:QQZQPNYAP] >>444 ありがとうございます。ためになります。 ということは、投稿されたものよりも前に たくさんのコードがあってそれが 消されてるということなのかな。 自作関数っていうぐらいだから、それを定義する コードがたくさん必要なんでしょうね。 ただ1〜2行ぐらい変数を定義してやればいいとぐらいにしか 思ってませんでした。 分ー秒の単位でカウントダウンの経過がわかる スクリプトを探していたのですが先は長そうですね。
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 06:56:22 ID:xeTkbS2L0] >>445 ラーメンタイマー程度で見た目も精度もいらないんなら簡単に記述できるんですけど、 やっぱ画面とかあったほうがいいだろうし、そうすると有償版使うかHTMLのスクリプト使うか、 もしくはHSPなどを使ったほうがいいかもしれません。 sleep()を使った3分タイマーを作ってみました。 まあ、正確な時間を刻まないと生理的に受け付けないとは思いますが・・・単純なSleep()のループよりは正確です。 利点は・・・スクリプトなのにCPU負荷が小さいこと、なのに(多分)正確なタイマー。 欠点は・・・3分でもカウント(表示)が数秒ずれる。負荷を100%で動かすと表示が10秒単位でずれてしまう。 カウントのスリープ時間を自分で微調整する必要があり、結果がまちまちなこと。 ま、Gettime()のループにすれば正確になるんですが。・・・やっぱそっちでやった方がシンプルで分かりやすいかな? // 3分タイマー TIME = 60*3 // タイマーの時間 PUBLIC start_t = gettime() print "start" thread count(TIME) sleep(TIME) print "sleeptime:" + (gettime() - start_t) msgbox("3分経ちました") //およその残り時間を表示(表示のみ) Procedure count(times) for i = 1 to times fukidasi(times - i) // sleep(0.966) // +5秒 // sleep(0.9) // -3秒 sleep(0.93) next print "counttime:" + (gettime() - start_t) Fend
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 07:55:08 ID:QQZQPNYAP] >>446 ありがとうございました。 使わせていただきます。時間は適当でいいです。CPU負荷が小さいほうが 利点あります。 sleepの時間ってずれるんですね。はじめてしった。 いままで単純なsleep(1)で通してたんですが。 見てもわからないところばかりですが、このコードみて調べます。 ありがとうございました。
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 10:42:58 ID:ieNwpaRT0] >>444 > TOPMOSTにしてないやつはなってないはずなので、 > 自分でどっちに制御したかを変数で持ってればいいんじゃね? いや単にウィンドウの状態を変えるだけのスクリプトなんで、 TOPMOSTにした後は終了したいんですよ。 INIでも作ればいいのかもしれないですが、もっと直接的に取得する方法って無いもんかと。 ついでに言えば、ウィンドウのZ順?も取得・変更できたら嬉しい。
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 10:46:32 ID:WMf1B8jLP] sleepがズレるわけじゃなくてsleep以外の処理でズレるんだよ for文に使われる比較処理だってCPU使うし、もちろんsleepをコールする処理自身もCPU使う だからCPUの負荷だけではなくクロック数やバス幅に影響してしまう
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/16(日) 10:57:04 ID:WMf1B8jLP] >>448 uwsc自体ではZオーダー提供していないんだから 自分でAPIを呼び出すしかないんじゃね?
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/17(月) 01:50:05 ID:i4pMt12q0] >>439 もう見てないかもしれんけど マド作るなら今よりロビー等の変更が来てからの方がいいよ 画像の用意とか二度手間になる。 まじでやりたいなら教えてやるよ。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/17(月) 02:14:59 ID:nvgS/jkJ0] >>451 マド死ねよ。
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/23(日) 15:52:15 ID:O7k5xAup0] uwscって意外と時間指定してボタンを押せとか やるの難しいと思った 知り合いの家に行く間に、何回か録画ボタンを押して欲しかったんだが プログラム書こうとして、全く歯が立たなかった タイマー機能があるのを思い出して、事なきを得たが1時間半くらい悩んだんだよなw と、思って今やったら、案外簡単に時間って取得出来るのね あとはこれを上手い具合に変数に格納して、設定した時間と比較して同じになったら 〜しろって風にすれば、タイマー一丁上がりか 変数に155958みたいに格納出来れば楽そうなんだが あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^; 俺アホス
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/23(日) 18:51:26 ID:yypYUx/y0] >>453 そのやり方もまだまだ。 なんとヘルプファイルにもっと良い時間の取得の方法が書いてあるんだぜw …まぁ、変数をどういう使い方にするか、にもよるんだがな。
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/24(月) 09:22:00 ID:cYdOlD8C0] uwscがスクリプトを現在実行中かどうか確かめる命令はありませんか?
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/24(月) 18:34:15 ID:30r1mvWj0] >>453 数値を文字列として連結したければ a=123 b=456 c=""+a+b みたいにやればよし。c=a+""+bでもいい > あー、A=15*10000+59*100+58でいいのか、簡単じゃん(^^; これだったらA=""+15+59+58
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 19:52:53 ID:Hp1Js47E0] テキストエディタでスクリプト書こうかなと思って先ほどフリー版uwscを導入したのですが 保存するときの文字コードや改行コードについてヘルプに書いてないのですが特に制限は無いですか?
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 21:12:54 ID:HDkoFkpY0] >>457 書いてなくて安全策をとるなら普通Windows版アプリではShift-JIS+CRLFにしない?
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 22:29:28 ID:Hp1Js47E0] windowsだからShift-JIS+CRLFとは限らないのにw
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 22:46:22 ID:BuCIUw3E0] やってみればわかることを聞く人には向いてませんよ。
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 23:23:24 ID:Hp1Js47E0] >>460 その程度の知識がないならわざわざレスしなくて結構・・・とだけレスしとく
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 23:24:48 ID:Hp1Js47E0] あ、そうそう一言伝えますね winだからsjisと決め付けてかかるのはやめたほうがいいですよ
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/25(火) 23:42:12 ID:PWagYqdo0] sleep(2) sleep(2) と sleep(4) は同じことですか?
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 00:45:15 ID:tqM7XX7P0] >>455 タスクマネージャにuwsc.exeがあれば実行中かも。 メイン画面も1件としてリストに出てくるけど、見た目で実行中か分かるし。 コマンドはqprocess >>457-462 試してみたけど、スクリプトの保存形式はunicodeでも動くけど、コードの扱いはシフトJISだね。 DEF_DLL MessageBoxA(HWND,pchar, pchar, DWORD): Long: user32.DLL DEF_DLL MessageBoxW(HWND,pchar, pchar, DWORD): Long: user32.DLL MessageBoxAなら保存形式に関係なくテキストが表示できるけど、 MessageBoxWだと文字化け。 >>463 微妙に違う。 sleep(2)×2の方がCPUを消費するし、時間もかかる。
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 01:15:34 ID:HAnL27G70] なんで教えを乞う立場の者が煽れるんだろう。 基本的に人間ができてないな。
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 04:40:14 ID:7RyXzF0VP] 人間的云々言う場所じゃないだろ 嫌ならレスするなカス
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 07:11:30 ID:L/ZmdYFd0] レスしているのは人工知能だよ
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 09:36:14 ID:bXusYbn00] じゃあ俺も人口知能!
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/05/26(水) 15:21:35 ID:Ce2KrQJg0] このスレの人口分布 回答者・・・・・・・・・・・・・・・・・・・ 1% 質問者・・・・・・・・・・・・・・・・・・・10% 態度がでかい自称回答者・・・89%