1 名前:デフォルトの名無しさん [03/06/08 21:31] ( ´ゝ`) 無ので立ててみた。 誰か詳しい情報キボンヌ
284 名前:デフォルトの名無しさん mailto:sage [2005/08/07(日) 09:40:02 ] >>283 WMIでWin32_Processをクエリーするしかないんじゃねーの? でもこの方法、WindowsXP以外はWMICoreのインスコが必要だったと思うが。
285 名前:283 [2005/08/07(日) 13:10:15 ] >>284 レスありがとうございます。自己解決しました。 VBScriptのappactivate("ウィンドウ名")=Falseで 判定することができました。
286 名前:デフォルトの名無しさん [2005/08/08(月) 14:53:27 ] リンクリストみたいなコレクションありませんか? ハッシュ(Scripting.Dictionary)と配列はあったのですが・・・。 やりたいことは、文字列をコレクションに溜め込んで、最後にJoinで一つの文字列にしたいのですが、 ハッシュだと溜め込むことはできそうですが、最後にJoinしたときに順番がバラバラになりそうで利用できません。 要素の追加にコストが掛からず、最後に文字列結合できるコレクションなどはないでしょうか。
287 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 16:55:07 ] >>286 Arrayではコストがかかりすぎるのでしょうか。
288 名前:デフォルトの名無しさん mailto:sage [2005/08/08(月) 17:53:42 ] >>286 そりゃあデータ構造を考えれば普通に不可能だろう。
289 名前:デフォルトの名無しさん [2005/08/16(火) 20:39:16 ] みんなデバッグ環境はナニを使ってる?
290 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:56:50 ] jsファイル ダブルクリックして テキストファイル出力で変数の値みる
291 名前:デフォルトの名無しさん [2005/08/21(日) 01:11:37 ] var WShell = new ActiveXObject("WScript.Shell"); WShell.Run("c:\\******\\hoge.exe"); のように実行ファイルを動かし、hoge.exeからJScriptの変数に何らかの値を代入することは可能でしょうか?
292 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 13:25:15 ] >>291 こんな感じでしょうか。 この例ではHello, world!の後の改行までsに代入されてしまってますが。 ---------- D:\>type hello.js print("Hello, world!"); D:\>type hello2.js var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("d:\\hello.exe"); var s = oExec.StdOut.ReadAll(); WScript.StdOut.Write("[" + s + "]"); D:\>jsc /nologo hello.js D:\>hello.exe Hello, world! D:\>cscript //nologo hello2.js [Hello, world! ] D:\> ----------
293 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 13:49:53 ] >>289 //X オプション + VSでデバグ。
294 名前:291 mailto:sage [2005/08/24(水) 16:04:26 ] >>292 ありがとうございます。 解決しました。
295 名前:286 mailto:sage [2005/08/30(火) 16:39:36 ] >>287-288 レスありがとう。 やりたいことは Java のStringWriterクラスでしたが、 writeメソッドで受け取った文字列を溜め込んで、 toStringメソッドで結合して返すってことをやりたかったのです。 それで実際に Scripting.Dictionary で、試してみたら Joinしたときに順番がバラバラになるかと思ったんですが、 追加した順番に文字列が結合されたので大丈夫でした。 なんかラッキーでした。ありがとう。
296 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 12:59:10 ] vbsやりはじめて3日目です Subプロシージャに引数としてオブジェクトを渡したいのですが 渡されたオブジェクトのプロパティをSubプロシージャ内で参照しようとすると オブジェクトがありませんと言われます ぐぐってもVBの事例はいくつか出てきたのですがVBSの事例は見つけられませんでした どのようにしたらいいんでしょう
297 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 19:38:27 ] >>296 書け
298 名前:名無しさん@そうだ選挙に行こう mailto:sage [2005/09/11(日) 00:41:35 ] >>11 >>12 >>16 おそらく、↓のスレのことだと思われ。 // Windows Script Host を使い尽くす // pc3.2ch.net/tech/kako/1010/10104/1010400289.html
299 名前:デフォルトの名無しさん mailto:sage [2005/09/12(月) 20:52:33 ] win板のwsh スレはどこ?
300 名前:デフォルトの名無しさん mailto:sage [2005/09/12(月) 22:31:35 ] 落ちたみたいね
301 名前:デフォルトの名無しさん mailto:sage [2005/09/13(火) 00:27:09 ] おいっす。了解っす。
302 名前:1/2 [2005/09/15(木) 23:43:08 ] どなたかお知恵をお貸しください。 あるテーブルの抽出結果を、ADODB.Recordset.GetStringで文字列にする関数 strResults を、 VBSから呼び出してテキストファイルに保存しようとしました。 Dim sFS, strParam, oTS, strResultText, intResultLetters, i strParam = WScript.Arguments(0) strResultFName = WScript.Arguments(1) Set appAc = CreateObject("Access.Application") appAc.OpenCurrentDatabase "V:\・・・\GrepRecordsets.mdb" strResultText = appAc.Run("strResults", strParam) Set appAc = Nothing Set sFS = CreateObject("Scripting.FileSystemObject") Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True) oTS.WriteLine "MS Access ファイルからの検索結果" intResultLetters = Len(strResultText) For i=100 To intResultLetters Step 100 ' デバッグのため分割して書き込む MsgBox Left(strResultText,100) ' デバッグのための内容表示 oTS.Write Left(strResultText,100) strResultText = Right(strResultText,intResultLetters - i) Next
303 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 23:43:34 ] ここで、ある特定の文字が、MsgBoxでは表示されるものの、 書き込もうとした時点でコンソール上に以下のエラーが出てしまいます。 Microsoft VBScript 実行時エラー: プロシージャの呼び出し、または引数が不正です。 その文字とは、中華料理店の店名らしいのですが、 火 日 金 火火 日日 金金 テキストエディタ等で見ると ?晶? となりますが、MS Wordなどで見ると上記のような文字です。 このため、文字コード変換で改善するかと思い、nkfwin.exe なるツールではどうかとやってみたところ、 上記の文字を含むテキストファイルを nkfwin.exe の引数に指定したところ、 ┌────────────────────────┐ │16 ビット MS-DOS サブシステム ×│ ├────────────────────────┤ │ C:\WINNT\System32\cmd.exe - │ V:\・・・\nkfwin.exe │ × -s -I TestKanji.txt │ NTVDM CPU は不正な命令を検出しました。 │ CS:0000 IP:e2d7 OP:00 00 00 00 │ │ [ 強制終了(T) ] [ 無視(I) ] └────────────────────────┘ となってしまいました。 このような現象は、どう対処したらよいのでしょうか? お教えいただけますと大変助かります。 OS : Windows NT 4.0 Access 2000, ADO 2.6, WSH 5.6
304 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 05:08:50 ] >Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True) ここを Set oTS = sFS.CreateTextFile("V:\・・・\result.txt", True, True) にしたんじゃダメか? 出力内容がUNICODEになっちまうけど。 (SJISには無い文字コードみたいだからそうするしかないんだけどね。)
305 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 09:06:23 ] >>304 ありがとうございます! あっさり出力できました! 大変助かりました。m(_ _)m
306 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 20:27:56 ] ユニコードの28977 焱 、 ユニコードの37995 鑫 と判明しました。 これらの文字を取り除いてメールで送れるテキストにする方法を探し中です。
307 名前:デフォルトの名無しさん mailto:sage [2005/09/16(金) 23:13:23 ] 報告です。 まず unicodeテキストとして保存し、 その後 フリーソフトの cherset converter で → ISO-2022-JP → Shift_JIS で出来ました。 2段階でやったところ、通常 ? で置き換わるところ _ で置き換わっていました。 ありがとうございました。。
308 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 18:18:34 ] ここで聞くのが正しいのかも少々不安ですが 質問させてください。 前提: プログラミングは大昔に20年ほど前にFORTRANいじったことがありますが 中途半端だった上にその後すっかりで、基本的に知識ゼロです。 要望: ・下記の事がWSHで実行可能か知りたい ・可能な場合は参考になるスレはどこにあるのか知りたい ・ヒントになるようなスクリプトがあれば手に入れたい やりたいこと: (WindowsXP上で動いているアプリケーションに対してです) 起動 1.任意の座標(固定)のcolorをチェックする 2.任意のcolorではない(または任意のcolorである)場合に 3.任意の座標をマウス(右)クリック(相当の信号?コマンド?送出) 終了までループ 座標系はやったことがないのでまるでわかりません。 ヒントを頂いて勉強もしたいのですがちょっと差し迫った事情が あって時間もないので、どなたかお教えいただければ幸いです。 そんなのプログラム組めば簡単簡単・・・などとできもしないのに 大見得切るんじゃなかった。。。^^; よろしくお願いします。
309 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 18:48:01 ] 無理…だと思う。
310 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:37:52 ] >>308 俺もWSHじゃ無理だと思う。 Win32系のスレでAPIの使い方を訊きながら、C言語でコンソールアプリとして作ればそんなには難しくないと思うよ。 C言語のコンパイラは Borland C++ Compiler とか Microsoft Visual C++ toolkit 2003 とか無料のがあるからそれを使いね。 ( Microsoft Visual C++ toolkit 2003 は別途PlatformSDKも入手しなきゃならんから Borland のほうが手軽かな? )
311 名前:デフォルトの名無しさん mailto:sage [2005/09/28(水) 21:42:27 ] 宿題スレでやってもらうのがいいかも。
312 名前:デフォルトの名無しさん mailto:sage [2005/09/29(木) 10:15:43 ] >>309 >>310 >>310 ありがとうございます。 そもそもWSHでは無理がありそうなのですね。 宿題スレも見てみます。
313 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 10:41:25 ] UWSCならデフォで出来るし UWSC内でVBSとか使えるけどね
314 名前:デフォルトの名無しさん [2005/10/04(火) 11:14:28 ] ネットワーク上にある約200台の端末の指定ファイルの最終更新日を一気に取得したいんですが、 電源が入っていない端末にアクセスすると処理が遅くなってしまいます。
315 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 11:38:29 ] そうですか
316 名前:デフォルトの名無しさん [2005/10/04(火) 12:25:53 ] そうなんです
317 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 12:41:18 ] じゃあ電源が入ってるかどうか管理しておけばいいじゃない
318 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 14:16:06 ] そうですか?
319 名前:デフォルトの名無しさん [2005/10/04(火) 21:22:51 ] このスクリプト簡単でおもしろいね。 知らない人に時間が来たらメモ帳開いて1秒間隔くらいで 「お・ま・え・は・明・日・死・ぬ」とか書いちゃったりして おもしろーいw きゃははw
320 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 23:12:28 ] そうですか
321 名前:デフォルトの名無しさん [2005/10/04(火) 23:32:54 ] >>320 そんな素っ気ないレスじゃなくて、友人がいないに違いない >>319 に仲良くしてやれよ。 俺はくっだらなくも陰湿な >>319 なんか、まっぴらごめんだけどなw
322 名前:デフォルトの名無しさん mailto:sage [2005/10/05(水) 00:34:44 ] そうだな
323 名前:デフォルトの名無しさん [2005/10/13(木) 22:26:58 ] ネットワーク上の別のPCのデスクトップにメモ帳を立ち上げる なんてこと、出来るのでしょうか?
324 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 23:17:10 ] >>323 はマルチなので、以後放置で お前ら、wsh使ってますか? part5 pc8.2ch.net/test/read.cgi/win/1126543183/73
325 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 14:05:25 ] >>323 NET SEND OtherPC メモ帳起動して
326 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 15:13:14 ] >>325 それいいな
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でスクリプトを起動して、 > 外出先で常駐アプリの状態が知りたいんです。 ねぇ、何でそれを最初に書かないの? あと、その常駐アプリの名前は極秘なの?