• 締切済み

ほかのアプリのフルパス?

こんばんわ。E46-M3です。 さっそくですが、自身のアプリケーションのフルパスを 取得することは出来たのですが (GetModuleFileName使用) 他の起動中アプリケーションのフルパスを 取得することが出来ません。 どなたかご存知な方いましたら教えて下さい。 具体的なサンプルコード等ありましたら なおうれしいです。よろしくお願い致します。

みんなの回答

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

Windows9x/Me/2000であれば CreateToolHelp32SnapShot()し、そのハンドルからProcess32First/Next()を使ってPROCESSENTRY32構造体からProcessIDとmoduleIDを取得、その後でGetModuleFileNameEx()で取得できそうな気がしますが・・・ ちなみにNT4.0以前ではToolHelp32系APIが使用不可能ですのでPSAPIを使う必要があるらしいです。 起動中アプリケーションの列挙までに関しては参考URLに載っています。

参考URL:
http://www.microsoft.com/JAPAN/support/kb/articles/J041/6/32.htm
E46-M3
質問者

お礼

さっそくの回答ありがとうございます。 結構奥が深そうですね。うーん。むずかしそうです。

関連するQ&A

  • fopenでのパス指定

    毎度お世話になります。 ただ今VS2005でWindowsアプリケーションの実装を行っています。 fopenでパス指定をしてファイルを開くとき、  fopen("C:\\Test\\data.txt", w); としますが、GetModuleFileNameで取得したパス↓  GetModuleFileName(NULL, szPath, sizeof(szPath)); を使用したいとき、単に  fopen(szPath, w); ではできません。これはszPathの中身が  C:\Test\data.txt となっているためにfopenでは開けないんだと思うのですが、 わざわざszPathの文字を1文字づつ見ていって、 "\"があったときに"\"を付け足す… という作業をしなければならないのでしょうか。 他に解決策があるのでしょうか。 ご教授お願いします。

  • CreateProcessで起動したアプリの監視

    はじめまして、E46-M3と申します。 さっそくですが、CreateProcessを使って他の プログラムを起動した際、その起動したプログラムを 監視することは出来ないのでしょうか? 具体的に言いますと、 CreateProcessで起動させたプログラムが 終了したか、していないか または、異常終了したか などの判断をしたいのですが・・・ どなたかご存知な方がいましたら 是非教えて下さい。よろしくお願いします。

  • 3.0の絶対パス

    AS3.0です。 ルートのタイムライン上に「menu」と言うインスタンス名のMCがあり、その入れ子に「sample」というインスタンス名のボタンがあり、これをクリックすると飛ぶASを作成したいのですが、絶対パスを入力してもエラーが出ます。 rootはサポートされないようになりましたと・・・ 相対パスでも同じく出ます。 ネットで調べてもrootの記述しか検索できず、3.0のやり方がわかりません。 ちなみに下記を絶対パスにしたいのですが、そもそも 「this.sample_btn.」を相対パスにするのか、「this.gotoAndPlay」を相対パスにするのか、それとも両方するのかすらもわかりません。 よろしくお願い致します。 this.sample_btn.addEventListener(MouseEvent.CLICK,menusample); unction sample(e:MouseEvent):void { this.gotoAndPlay("サンプル"); }

    • ベストアンサー
    • Flash
  • Active Basic フォルダの絶対パスの取得

    ファイルまでの絶対パスの取得のように、自分のフォルダまでのパスを取得するにはどうしたらいいのでしょうか? D:\aaaa\bbbb\cccc\dddd\abcd.exe があって、 D:\aaaa\bbbb\cccc\dddd\ を取得したいのですが・・・ 実験してみたのですが、上手くいきませんでした。 すみませんが、やり方をご教授ください。お願いします。 ↓頑張った証 '自分自身のファイルパスを取得する Dim path[MAX_PATH] As Byte Dim FileName As BytePtr Dim MaxFilePath As Long Dim MyFileName As Long Dim AllByte As Long Dim MidAns As String GetModuleFileName(NULL,path,MAX_PATH) 'ファイルパスからファイル名を抜き出し、その大きさを取得して、引く FileName=malloc(Len(path)+1) GetFileTitle(path,FileName,Len(path)+1) MaxFilePath=Len(path) MyFileName=Len(FileName)+1 AllByte=MaxFilePath-MyFileName 'フォルダまでのパスを抜き出す MidAns=Mid$(path,1,54) free(FileName)

  • 絶対パスを相対パスに

    VC++2005 Express Editionです。 ドラッグアンドドロップで受け取った(DragQueryFile)絶対パスファイル名を相対パスに変換したいのですが、良いコードサンプルなどありましたら教えてください。できればUnicodeとマルチバイトの両方に対応させたいです。 GetCurrentDirectoryでカレントディレクトリを取得してみたのですが、この場合ドライブ名が大文字なのに対し、ドラッグアンドドロップで受け取ったドライブは小文字なので、簡単にはできそうにありませんでした。 文字列処理は今まで標準関数しか使ったことがありませんが、これを機会にコードなど勉強したいと思っています。 よろしくお願いします。

  • 【VBAでapp.path が取得できない】

    VBAでapp.path を取得しようとすると、「オブジェクトが必要です」エラーが表示されます。 アプリケーション実行パスを取得する方法はありますか? Excel2000を使用しています。 宜しくお願いいたします。

  • 他アプリの起動

    builderC++を使用してます。 sample.exeを起動した際にもう一つの他アプリ(sample2.exe)を起動させ、 sample.exeを終了した際に一緒に起動したsample2.exeも終了させるコードはどういう風に書けばよろしいですか? WindowsAPIのCreateProcessを使い起動させようとしてます。 ご教授お願いします。

  • VBAで、VBのapp.pathと同じ機能は?

    ExcelVBAで、そのExcelファイルが起動されたフォルダーパスを取得する方法はあるのでしょうか? application.pathでは、excel.exeのあるフォルダーパスが返されます。 VB(ver6)のapp.pathのように、そのファイルが起動された(保存されている)パスを知りたいのですが、何か方法はないでしょうか? よろしくお願いします。

  • フルパスを取得するにはどうすればいいですか

    access2003です 自身のファイル名を取得するのは Sub test() MsgBox CurrentProject.Name End Sub で出来ますが フルパスを取得するにはどうすればいいですか? よろしくお願い致します。

  • フルパスの取得

    HDDプレイヤーでの再生目的でプレイリストをしばしば作成するのですが、 その際のフルパスの取得について便利なソフトウェアを教えて頂けたらと思っております。 現在いじくるつくーるを利用して 「対象のファイルを右クリック→フルパスをクリップボードにコピー」 出来るようにしてファイルのフルパスを取得できるようにしています。 1~数曲単位でプレイリストに追加する際には特に不便は感じないのですが、 プレイリストを新たに作成するときやアルバム単位で追加する際などには フルパスの取得に手間がかかり不便を感じています。 多くのファイルのフルパスを簡単に取得できるソフトウェアをご存じの方が いらっしゃいましたら教えて頂けませんか? 他のツールを起動することなく(現在のように対象を右クリックなどで)取得できれば 文句なしなのですがそうでなくてもかまいません。 PC環境としてはWindowsXPです。 よろしくお願いします。