1 名前:デフォルトの名無しさん [03/06/08 21:31] ( ´ゝ`) 無ので立ててみた。 誰か詳しい情報キボンヌ
327 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 22:52:22 ] >>323 \\自分のPC \\相手のPC \\相手のPC 上で、\\自分のPC の任意のフォルダを監視させるスクリプトaaa.vbs を起動させておく。 もし、\\自分のPCに上の任意のフォルダに、メモ帳起動.txt というファイルが作られたら、 そのファイルを削除して、\\相手のPC上で、Wscript.Shell.Run "Notepad"を実行する。 というのが、一般的だが?
328 名前:323 [2005/10/15(土) 00:26:27 ] >>327 レスありがとでげす。 教えてくださった方法では、 別のイベント(別動作)をトリガーとして持たなくてはいけない点と、 \\相手のPC上でaaa.vbsを実行しなくてはいけない点 が不満です。 上の2点を回避する方法はないのでしょうか?
329 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 01:33:37 ] \\相手のPC上でbbb.vbsを実行すればいいと思うよ。 ってゆうかさー、その程度の応用もできないわけ?
330 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 08:29:52 ] schtasksとかatとか使えばいいだけのような
331 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 12:32:19 ] 使い方が解りませんとか言い出してきそうな悪寒
332 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 22:42:07 ] スタートアップファイルに、aaa.vbs のショートカットファイルを入れておいても良いレベルでは? 結局、323の使用目的によって回答のレベルも可変なんだと思う。 さあ、話してごらん、使用目的を。
333 名前:デフォルトの名無しさん [2005/10/15(土) 23:00:55 ] おまいら、マルチなので、以後放置ではなかったのか?
334 名前:323 mailto:sage [2005/10/16(日) 08:16:34 ] >>332 使用目的というわけではありませんが、 単純にメッセージを送信できれば問題ないです。 できれば日本語(2byte文字を) XPとWin98SEでも使える方法を伝授くださいませ。
335 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 11:05:19 ] 要するに、作って欲しいわけだ
336 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 15:00:36 ] NT系ならメッセージを送る方法があったはずだが…。WSHから使えるのかは知らないけど。
337 名前:323 [2005/10/16(日) 15:14:57 ] >>335 バレた!!
338 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 15:24:40 ] >>323 >>325
339 名前:323 mailto:sage [2005/10/16(日) 15:27:41 ] >>338 net send って、Win98でも使えるの?
340 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 16:01:55 ] なんだとこの野郎
341 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 17:00:02 ] >>339 一応、NT 系の net send と Win9x 系の winpopup は、 相互に送受信できる。 ただし、winpopup をスクリプトから制御できるかどうかは 知らん。
342 名前:323 [2005/10/16(日) 17:21:22 ] 結局、相手PCがWin98系のときは、 \\相手のPC上でaaa.vbs or bbb.vbsを実行しなくてはいけない ということですか。。。
343 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 17:29:34 ] >342 自分のPCがNT系ならnet sendで送信すれば、 相手が98系ならwinpopupで受信してくれるんじゃないの。
344 名前:323 [2005/10/16(日) 17:49:18 ] >>343 winpopupを立ち上げるのに、aaa.vbs or bbb.vbsが必要ということでは。。。?
345 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:01:48 ] ヒント: スタートアップ (+ 必要なら、自動ログイン)
346 名前:323 [2005/10/16(日) 18:24:06 ] >>345 つまり、\\相手のPCにいちいち細工をしなくてはいけないということが 私のやりたい事には入ってないわけで。。。
347 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:36:53 ]
348 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:38:37 ] 結局何が目的なんだといいたくなるな
349 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:38:41 ] なんの設定もなく相手先のPCを操作できることを 専門用語でセキュリティーホールと言う
350 名前:323 [2005/10/16(日) 18:45:03 ] >>348 わかりずらい話につき合わせてしまって、ごめんなさい。 >>349 つまるところ、そういうことなんですね。 せきゅりてぇいがあるのはいかしかたないことですから、あきらめます。 最期に、もうひとつ。 \\自分のPC の任意のフォルダを監視させるスクリプト (もし、\\自分のPCに上の任意のフォルダに、メモ帳起動.txt というファイルが作られたら、 そのファイルを削除して、) はどのように記述すればよいのですか? スマートな方法を教えてもらえませんか?
351 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 18:51:20 ] >>350 スマートな方法なんて、無理に決まってんだろ
352 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 19:17:25 ] >>350 >>348 >>325
353 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 19:52:21 ] >>350 while(true) { if( ファイルオブジェクトか何か.IsExist ) 処理; Sleep(何秒か); }
354 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 19:55:09 ] >350 相手側に何か仕込むなら、Winpopupをスタートアップに登録するだけの方が無難だと思われ。
355 名前:323 [2005/10/16(日) 23:05:51 ] みなさん、どうもありがとう。 >>354 相手側のPCが遠くて、私が直接作業出来ないんですぅ。 ついでに、驚かせたいってのもあるから、相手にやってもらうのも。。。ねぇ。 っていう理由なんですよ。。。
356 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 23:09:54 ] 出来ないんですぅ。じゃねえよクソがッ!!!!!! 失せろこの頓馬!!!!!!!!!!!!!
357 名前:デフォルトの名無しさん mailto:sage [2005/10/16(日) 23:25:08 ] >>356 kawaisouni...
358 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 00:59:54 ] > 驚かせたいってのもあるから、相手にやってもらうのも。。。ねぇ。 本当は何らかの不正行為をやるつもりだろ そういうことをやろうとしてるけど、自分でやるだけの知識が無い奴は 決まって「驚かせるだけ」とか「ジョークソフトを作るのに」とか言い訳して やり方を聞いてくる どうせ口先だけじゃ如何様にも言い逃れは出来るけどね
359 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 01:23:03 ] スマートというか本当はコマンドライン一行でやる方法あるんだけどね。 何かマルチポストっぽいしクラッキングの片棒担ぐのも嫌なんで自分で調べな。
360 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 03:08:44 ] スタートアップやタスク、netsend などを使うことなく、同じドメインに属している リモートクライアントで notepad.exe のプロセスを走らせるスマートな手段は実際、 あるにはある。でもなぁ、>>323 の目論んでいることが今一つ抽象的かつくだらない 目的のように思えてならないんだよな。結局何をしたいのよ?>>323
361 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 07:25:25 ] もういい加減スルー
362 名前:デフォルトの名無しさん [2005/10/17(月) 15:05:22 ] すいません初歩的すぎて申し訳ないんですが、次のサンプルスクリプトをWSHへ書き換えたいんですが パラーメータの渡し方がわかりません。 どなたか教えてください。 <object ID=NetMeeting CLASSID="CLSID:3E9BAF2D-7A79-11d2-9334-0000F875AE17"> <PARAM NAME = "MODE" VALUE = "DataOnly"> </object> ↓ Set NWobj = createobject("Netmeeting.App")
363 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 21:57:33 ] ほう。マルチですか。
364 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 00:05:36 ] >>359 、360 323はWin98でやりたいと言ってるように見えるが?
365 名前:デフォルトの名無しさん [2005/10/18(火) 09:46:45 ] 糞ノートン先生を強制的に黙らせる方法はありませんか? 友達にVBScript渡したら悪質なScript扱いされて実行止められた('A`)
366 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 11:20:37 ] 良質なScriptはScriptBlockerを強制Offにしたりしません。
367 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 13:20:58 ] ワロタ
368 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 21:49:41 ] つーか最近無駄にセキュリティが高すぎる気がする。 そりゃ便利に何でも動くようにしたら、セキュリティに興味ない人が どんどんウィルス感染するのは分かるんだけどさ。 最近のIEとか全然Script動かないじゃん。 ScriptどころかSVGとかも見れないし。 PC使えない人の問題を自動的に修復できるようにScript渡したいのに Scriptも動かない動かせないんじゃどうしようもないですがな。
369 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 00:20:57 ] >>359 お〜、それはすげーな。 でも、それって君の PC のセキュリティが低いだけだと 公言してるも同然で、アフォ丸出しだから止めたほうが いいよ。
370 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 00:29:13 ] そうだそうだ
371 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 00:31:54 ] >>369 もちろんアカウントとパスワードは必要ですってば
372 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 00:37:46 ] >>371 ( ̄ー ̄)ニヤリッ
373 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 00:54:35 ] >368 最近のPCならリモートデスクトップとかあるじゃん。
374 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 08:30:15 ] >>368 >Scriptも動かない動かせないんじゃどうしようもないですがな。 Nortonがブロックするなら許可すればいいだけじゃね 単に動くスクリプトをあなたが書けないだけでは?と煽ってみる IEだって設定の問題でしょ
375 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 22:04:59 ] >>374 自分自身はちゃんと設定してるから動くよ。 他人に渡したときに動かないのが困る。 それも、「○○が動かなくなったから何とかしてくれ」 というのでScriptでファイル操作して自動的に解決するようにして送ったら ・メールから勝手に削除された ・なんとか受け取ったScriptは実行不能 (ノートンが止めているらしい) ・ノートンの設定は弄れない とのことで結局どうしようもなくなった。 まぁScriptは自分の為に使うものってことなのかね?
376 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 23:17:44 ] >>375 見る限り全てノートンの所為
377 名前:デフォルトの名無しさん [2005/10/20(木) 16:44:51 ] よくタクスバーにアイコンだけ表示されている常駐ソフト( 音量やハードウェアの取り外しなど )がありますが、 どうにかして、このアイコンをクリックしたときに出るメニューの文字列って取得できませんか?
378 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 17:14:36 ] マウスを置いたときに出るツールチップなら統一されてるから取得できるけど 出てくるメニューはプログラムの内部で任意に指定してるものだろ。 そんな不規則なものを取得できるのか?
379 名前:右下の時計のことならタスクトレイだ mailto:sage [2005/10/20(木) 22:29:44 ] >>377 つーか最終的に何をしたいか賭けよ。 エクスプローラ(シェル)は落ちることがあるし、そうなったら プログラムとしては動作しててもタスクトレイからは アイコンが消えてしまうのはよくある。 WMIでWin32_Processをクエリーするのがセオリーだ。
380 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 22:37:30 ] >>377 >>378 が言う通りあのメニューはクリックした時に プログラムが出してる。 だから、クリックするたびに違うこともあるし、プロ グラムによってはメニューなんか出さずにいきなり設 定ダイアログをとかを出すやつもいる。 >>379 も書いてるけど、何のためにそんなことしたい んだ?
381 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 22:51:09 ] 379じゃないけど いちいちマウス動かさないでメニューの文字を一覧したいからじゃない
382 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 23:01:19 ] >>381 m9(^Д^)プギャー
383 名前:377 [2005/10/21(金) 01:32:39 ] >>378-381 >>379 さんヒントありがとうございます。 Set ServiceSet = GetObject( _ "winmgmts:{impersonationLevel=impersonate}" _ ).ExecQuery("select * from Win32_Process") 見たいなかんじでまずオブジェクトを取得して操作するみたいですね。 まずはタスクリストを得られるという感じなのかな・・・ やりたいことは、 httpdでスクリプトを起動して、外出先で常駐アプリの状態が知りたいんです。 いまのところ、httpdからcgiを起動して、perlプログラムからuwscスクリプトを起動して、 traypseというアプリケーションを通して、目的のタクストレイのアイコンをクリックするところまでできています。 (目的のアプリケーションのウィンドウハンドルまではわかっています) uwscスクリプトでは、このときに出てくるメニューにアクセスできないために、 OLEオートメーションでなんとかならないかと思ったしだいです・・・ そこで詳しい方が多そうなこちらで質問させていただきました。 WMIには詳しくないので、もう少し調べてみます。 またヒントがあったらよろしくお願いします。m(_ _)m
384 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 23:22:39 ] > やりたいことは、httpdでスクリプトを起動して、 > 外出先で常駐アプリの状態が知りたいんです。 ねぇ、何でそれを最初に書かないの? あと、その常駐アプリの名前は極秘なの?
385 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 15:32:35 ] PrintScreenアプリでデスクトップを丸ごとコピーした内容をFTPで送信。 Sendkeysでやるんならそんなもんか。 Winnyのウイルスみたいな動作なきがするけど気のせいか。
386 名前:377 mailto:sage [2005/10/22(土) 17:57:08 ] >>384 すみません えっと、常駐させるアプリはnyです 外出先から動画やソフトのダウンロード状態を確認出来ないかな、と・・・
387 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 18:14:03 ] 終わったな ↓次の話題をどうぞ
388 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 18:43:57 ] Select Case文だと、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻しそうな場合について。 以下のようにしておくと、すっきりと処理できたので報告します。 For i=0 to 1 IF 〜 Then : Exit For IF 〜 Then : Exit For IF 〜 Then : Exit For IF 〜 Then : Exit For (ここにデフォルト処理):Exit For Next IF文を、故意に、ネストさせないで使っているので、見た目的にもすっきり。 もっと良い方法があるという方は、ご指摘願います。
389 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 19:04:04 ] > Select Case文だと、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻しそうな場合について。 Select Case使うときは処理を拡張してもSelect Caseで間に合う時だけだ 「Select Case文が、のちのち処理を拡張したい時に、文法に自由度がなさすぎて破綻する」なんてことはあり得ない > For i=0 to 1 > IF 〜 Then : Exit For For〜NextよりDo〜Loopの方がまだマシだろ それと「:」は要らなくないか?
390 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 20:28:56 ] > For i=0 to 1 For i = 0 To 0 の方がいいんじゃないか? For I = 0 To 1 だと、なんかの時に2回回ることを想定し てそうだ。 そもそも、For のは、余計な変数が必要だったりするから、 >>389 が言うように Do 〜 Until True の方がいいと思う。 > IF文を、故意に、ネストさせないで使っているので、見た目的にもすっきり。 そもそも、 If 〜 Then 〜 ElseIf 〜 Then 〜 ... Else 〜 End If で大体間に合うし。
391 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 22:14:26 ] >>386 Winnyってメニューの文字列可変じゃないジャンw
392 名前:388 mailto:sage [2005/10/22(土) 23:07:51 ] >>389-390 貴重なご意見、回答ありがとうございます。 確かに、For i=0 から回しているので、2回ループするバグを出しそうですね。 あと、Do〜Loop: Exit Doのほうが、変数要らなくてスマートですね。修正しようと思います。 >それと「:」は要らなくないか? Then のあとに実際は、何かの処理を入れています。いきなりExit Forしてる訳ではないです。 そもそもExit For要らないのでは?という疑問に対しては、「予期せずに、他のIF行を実行して しまわないようにする為」のお守りとして付けた方がいいと思っています。 この処理を何に使用しているか、誰からも聞かれていないですが、一応書いておきます。 WSHのINPUT文を利用して、アプリケーションランチャーを作りました。なかなか快適です。 If Ucase(入力した値) = "MYDOC" Then Wscript.CreateObject("WScript.Shell").Run "C:\mydoc\": Exit For とか、 If Ucase(入力した値) = "SLEIP" Then Wscript.CreateObject("WScript.Shell").Run """C:\Program files\〜\Sleipnir.exe""": Exit For とかいうように、使っています。
393 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 23:22:13 ] それこそ入力値は必ずinputboxの戻り値なんだからselect case使うべきだろ 等価比較演算で、一方が固定(inputboxの戻り値)なのが分かり切っているのに select caseを避ける理由って何だ? 「WSHのINPUT文を利用して、アプリケーションランチャー」で、入力値以外の何を評価すると言うの?
394 名前:392 mailto:sage [2005/10/22(土) 23:36:40 ] >>393 実は、電卓としての機能も持たせていて、 InputBoxの中身が、登録されたキーワード以外の時は、Eval( )で、計算機に早変わりするというものです。 (現在、キーワードもどきの文字列を送ると、Evalしてしまうので、エラーで落ちたりする事もよくありますが、特にErr処理していません) 他にも便利機能を拡張するかも知れないので、SelectCaseよりも条件分岐しやすい処理系にしたいと思って、 >>388 のように書いてみました。
395 名前:394 mailto:sage [2005/10/22(土) 23:42:18 ] 元ネタ & プログラムの原型は、以下のスレです。 WSHで数学をするスレ science3.2ch.net/test/read.cgi/math/1097922794/29 science3.2ch.net/math/kako/1097/10979/1097922794.html の29スレめの簡易電卓.vbs より。
396 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 23:45:17 ] でも結局動作の振り分けは「InputBoxの中身(戻り値)が」なんでしょ ならcase elseで処理させればいいじゃん どう機能拡張しようと、「InputBoxの中身(戻り値)」で動作を分岐させるなら select caseで間に合わなくなることは無いわけだが
397 名前:394 mailto:sage [2005/10/23(日) 00:02:49 ] >>396 現状の使用では、Select Caseで、全く問題なさそうですね。 また、変なネタかプログラムができたら、レスします。(^^) その時は、またコメントよろしくお願いします。 他に、機能拡張するとしたら、何かありますか?とか聞いたりして‥ InputBoxで、IEみたいに、途中まで入力した文字列の補完って できないですよね?
398 名前:デフォルトの名無しさん mailto:sage [2005/10/23(日) 00:13:40 ] 標準のinputbox自体では出来ないけど、 例えば末尾に"..."と入れたら入力補完するとか規則を決めて、 inputboxのの戻り値がright(,3)="..."だったら、補完リストから部分一致を検索して もう一度inputboxを表示するとかはできるだろうな
399 名前:397 mailto:sage [2005/10/23(日) 00:20:38 ] φ(..)メモメモ...
400 名前:ハーピィ mailto:sage [2005/10/23(日) 23:12:32 ] E・∇・ヨノシ <400ゲット♫
401 名前:デフォルトの名無しさん [2005/11/05(土) 10:18:19 ] モバイルでプログラム【NS BASIC/CE】 pc8.2ch.net/test/read.cgi/mobile/1012242798/ NSBASIC/CEはWSHを知ってるならほぼ使えるよ! PDAであるWindowsCE上(実質シグマリやjornadaでないときついが。)でもデスクトップでも 開発が可能。 手のひらで自分の作ったアプリが動く喜び!最新Ver6.02は、EXE化されたものに好きな アイコンをつけられるのでほとんどスクリプトと分からない。 NS Basic/CEは、WindowsCEにRuntimeを導入してその上で動く。 最新のWM5にも対応しており、日本語版も出ているし、日本語サポートもいるので安心だ。
402 名前:デフォルトの名無しさん [2005/11/05(土) 10:19:38 ] よかったら購入してユーザーにならないか? 俺もユーザーになったばかりなんだ。 日本サポートに確認をしたんだが、WEBでユーザー登録していただいて、その後、日本語サポートに連絡を くれたら、無料Ver6(最新版)にアップデートできるそうだ。 FACTORY SABOT 501 Maritaimu 9-9 Higashimaikochou, Tarumi-ku, Kobe, Japan Phone(078)787-3602 Fax(078)787-3619 www.sabot.co.jp/ sales@sabot.co.jp MobilePLAZA 6-3-7-1F Sotokanda, Chiyoda-ku, Tokyo, 101-0021 Japan Tel 03-3834-0315 www.mobileplaza.co.jp/ で買える。ttp://www.nsbasic.com/ce/Japanese/ が公式なんだが DEMO版で試すことができるから、WSHのソースを貼り付けてみるといい。実質WSHだから。 シャープのW-ZERO3のCOMコントロールでPHSに信号を送り電話がかけられることがシャープより 確認が取れてるから今度出るWM5にも対応してる。 どだ?さみしいから仲間になってくれないか?NSBASICがほぼWSHというのを知らない人が 多いんで宣伝してすまそ
403 名前:デフォルトの名無しさん [2005/11/05(土) 10:26:28 ] あ、このWEBでユーザー登録して日本語サポートにメールくれたら 最新のをというのは Ver5を買っても、無料でユーザー登録した時点の最新Verアップが可能と言うことなんだ。 お前ら、wsh使ってますか? part5 にも貼ったので両方覗いてる人にはすまんかった
404 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 10:42:40 ] 以前、H;/PCで、Embedded VBを少し使ってたけど、少しVBに似てるってだけで なかなか使いづらかった。コントロールの数が少なくて。 WSHよりも更に、機能が少ないんじゃないかって感じた。 NS BASICか‥、どうなんだろう、その実力はいかに‥
405 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 11:12:04 ] DEMO版があるよ。WSHのソースがほぼそのまま画面周りは修正しなくては行けないが 使えるのでソースぺたぺた貼り付けて動き具合を試してみてはいかがかな? 国内ではほとんどユーザーがいないが、海外ではNSBASIC/CE掲示板は 思い切りにぎわってる。 まずPDAスペックがあがったため、そこそこのスピードで動くようになったのも 大きいと思う。 コントロールの数もかなり増え、WSHとほぼ同じように使える。 はっきり言ってVer3のころなどへぼかった。4、5、6になるにつれ進化していってる。 Palm版のNSBASICもそうなんだが、なんとか使えだしたのはどちらもVer4ぐらいから じゃないかな? 俺も始めたばかりなんで少しでも仲間が欲しい。なにせWSH入門を読んでるレベルだからだ
406 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 02:13:33 ] ホシュ
407 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:13:55 ] Set objShell = WScript.CreateObject("WScript.Shell") colEventSource = objShell.RegRead("・・・・・・・・・") としてレジストリをしらべようと思っているのですが、 レジストリのフォルダ構造を調べるにはどうしたらよいのでしょうか? (HKEY_CURRENT_USER\Software の下に何が入っているか知りたいなど・・・) 知っているかたがいましたら教えてください。
408 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:31:11 ] regedt32.exe regedit.exe
409 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:48:12 ] >>407 WshShellのメソッドで出来ることは、値を読んだり書き換えたり消したりくらいで サブキーの列挙とかは出来ないので、キー構造を取得したければDynaCall使ってAPI呼ぶか、 自分でCOM作るかだな。 まあ作らなくても探せばあるかもしれないけど、この板の住人ならこの程度は作った方が早いだろ。
410 名前:デフォルトの名無しさん mailto:sage [2005/11/27(日) 19:52:04 ] ふつうWMI使う
411 名前:407 mailto:sage [2005/11/27(日) 20:49:32 ] >>409 >>410 レスありがとうございます WMIを使って解決出来ました。DynaCallは面白いと思うので、何かのときに利用したいと思います。 (以下作ってみたスクリプト) Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator") Set Service = Locator.ConnectServer("","root\default") Set Reg = Service.Get("StdRegProv") Reg.EnumKey &H80000001,"Software", SubKeys For Each Key In SubKeys WScript.Echo Key Next
412 名前:デフォルトの名無しさん mailto:sage [2005/11/29(火) 22:54:41 ] スクリプトそのものとは関係ないんですが、ちょっと困った現象が 起きているので誰か力を貸してください。 WScript.Echo "test" という1行だけのスクリプト(test.vbs)を作って、 コマンドプロンプト上で cscript //nologo test.vbs と実行します。すると、標準出力に test と当然出力されます。 そして処理は終わってるはずなんですが、 そのまま5-10秒くらいプロンプトに戻ってきてくれません。 何の後始末をしているのか知りませんが、^Cも無視されます。 どのような原因が考えられるでしょうか。
413 名前:412 mailto:sage [2005/11/29(火) 23:10:31 ] 一応その他の情報を。 OSはWindows Server 2003 試したこと。 ・引数なしでcscriptを実行 使い方が表示されてすぐ戻ってきました。 ・エラーを含むスクリプトを実行 エラー情報が表示されて、5-10秒待たされます。 試そうとしていること ・JScriptのファイルを実行 ・正常に動くマシンとスクリプトエンジン/WSHのバージョンを比較してみる。
414 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 02:39:03 ] cscript //nologo だけだったら?
415 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:04:13 ] >414 スクリプトファイルを指定しろといわれて終わります。 すぐ戻ってきます。 あきらめムードです。
416 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 22:30:24 ] >>415 VMWareの体験版で素の状態を作ってみれば 自分で比較できるんじゃない? メーカ製のリカバリディスクじゃなく windowsのインストールCDを持ってること前提だけど。
417 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 23:07:08 ] >cscript test.vbs ---- 略 ---- Wiindows Script Host Version 5.6 ---- 略 ---- test > 1秒以内
418 名前:デフォルトの名無しさん mailto:sage [2005/11/30(水) 23:07:36 ] ↑一応 Server 2003
419 名前:デフォルトの名無しさん [2005/12/02(金) 00:24:38 ] 質問させてください。 ドラッグ&ドロップでscriptが起動されたフォルダを取得するにはどのようにすればよいでしょうか? 通常、scriptが起動されると fs.GetFolder(".") でカレントを拾えます。 しかしながら、スクリプトファイルに何かをドロップしてスクリプトを起動した場合 \Document and Settings\user がカレントになってしまいます。 きちんとスクリプトが置いてあるフォルダを取得したいのですが方法ありませんでしょうか?
420 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 01:11:42 ] >>419 WScript.ScriptFullNameからFile作ってParentFolderとか。
421 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 01:53:08 ] >420 ファイル作る必要はないだろ。 WScript.ScriptFullNameはフルパス返すから ファイル名を取り除けば十分なんじゃない。
422 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 03:59:28 ] > ファイル作る必要はないだろ。 必要性の問題じゃないだろ。 >>420 もひとつの方法、>>421 もひとつの方法。 WScript.ScriptFullNameからFSOのFileオブジェクトのParentFolderプロパティの値を得る>>420 WScript.ScriptFullNameからFSOのGetParentFolderNameメソッドの戻り値を得る WScript.ScriptFullNameから文字列操作関数や正規表現でファイル名を取り除く>>421 等々… 以後の処理でFSOを使わないなら文字列操作で切り出してもいいけど、FSO使うなら、 ここでParentFolderプロパティ、GetParentFolderNameメソッド等を使わない手は無いだろ。 逆にこの処理の為だけにFSO使ったってなんら問題ないし。
423 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 07:14:20 ] >>422 HTAではVBScriptの仕様を受け継いでいるが、このどれかが使えなかったはず。
424 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 18:20:23 ] >>423 WScript
425 名前:デフォルトの名無しさん mailto: [2005/12/03(土) 09:05:11 ] バッチファイルやWSHと言うと、こんなソフトがあるんだけど、 誰か使ってみてくれない? ttp://www.vector.co.jp/soft/winnt/net/se381399.html メールにもJavaScriptが書けるらしい。 正直どうよ。
426 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 09:10:25 ] >>425 糞ソフトのマルチ宣伝乙
427 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 14:14:36 ] シェアウェアの宣伝かよ m9(^Д^)プギャー つーかこんなもん、この板の住人が金払ってまで欲しがるとは思えないな フリーなら使うかも知れないけど、そうじゃなければ欲しけりゃ自分で作るって