- ベストアンサー
別プロセスをの実行パスを取得したいのですが
自作のアプリケーション実行中に、全く無関係の別のプロセス(つまりprocess.start()等でそのアプリケーションから実行したプロセスではないということです)をDiagnostics.Processクラスのオブジェクトとして取得することはできると思うのですが、取得したプロセスの実行パスを何とかして調べる方法はないものでしょうか?
- negi0810
- お礼率35% (7/20)
- Visual Basic
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Process クラスの MainModule.FileName で取得できるみたいです。 ただし、下のような方法では「アクセスが拒否されました」という例外が発生してしまうものが多数ありました。 Imports System.Diagnostics Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim hProcesses() As Process = Process.GetProcesses() Dim hProcess As Process For Each hProcess In hProcesses Try Debug.WriteLine(hProcess.MainModule.FileName) Catch ex As Exception Debug.WriteLine(ex.Message) End Try Next End Sub End Class
関連するQ&A
- VBAで別プロセスのExcelのフルパスの取得
いつもお世話になります。 Excel VBAで別プロセスで起動しているExcelブックのフルパスの取得方法を教えて頂けないでしょうか。 前提としては、ファイル自体はローカル環境に保存されているが、どこに保存されているかは分からない、というものになります。 別プロセスの場合はあらかじめフルパスが分かっていれば取得できるといったものはあったのですが、それをそもそも取得したいというのは見つけることができませんでした。 そもそもやりたいのは、プロセスが同じ、別であるに関わらず、起動している全てのExcelブックに対して、マクロを実行したいのですが、フルパスが分かれば処理を行うことができると考え、このような質問をするに至りました。 使用しているExcelは2003になります。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- アプリケーション開始パス
VB.NETを勉強中なのですが、 アプリケーション開始パスを調べるときに例えば、 System.Diagnostics.Process.Start(Application.StartupPath & "\abc.txt") と記述すると実行ファイルと同階層にあるabc.txtが開きます。 また、 System.Diagnostics.Process.Start("abc.txt") と記述しても同様に動作しました。 今まで1番目のようにApplication.StartupPathを入れて記述してきたのですが、2番目のような記述でも実行ファイルと同階層のファイルを表し、結局はどちらも同じということなのでしょうか?
- ベストアンサー
- Visual Basic
- 【VBAでapp.path が取得できない】
VBAでapp.path を取得しようとすると、「オブジェクトが必要です」エラーが表示されます。 アプリケーション実行パスを取得する方法はありますか? Excel2000を使用しています。 宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- C#で別プロセスを起動
C#で開発をしています。 デバックモードで別プロセスを起動したいのですが可能でしょうか? System.Diagnostics.Process.Startを使うと別のexeを起動することは できるようですが、デバックモードで呼び出すにはどうしたらいいのでしょうか? 教えてください。 よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- [C#]実行中プロセスのパスを調べる方法について
いつもお世話になっております。 現在実行中のプロセスの中から、特定のアプリのexeファイルのpathを表示させる方法が分からず苦戦しております。 言語はC#になります。 以下のコードでテキストボックスに、C#でコンパイルしたプログラムのpathは分かったのですが、私が表示させたいのは、コンパイルしたプログラムのpathではなく、現在実行中のプロセスの中のあるアプリのexeファイルのpathになります。 string appPath= System.Windows.Forms.Application.ExecutablePath; textBox1.Text = appPath; 良いお知恵がございましたらお力添えいただきたく、宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 他のコンピュータのプロセスを取得
VB2005Expressにて開発しています。 他のコンピュータで実行中のプロセスを取得したいと思っています。 Dim ps As System.Diagnostics.Process() = _ System.Diagnostics.Process.GetProcesses("プロセス名","192.168.XXX.XXX") で指定したコンピュータからプロセスは取得することは出来ました。 ただ、特定のコンピュータだけ「リモート コンピュータに接続できませんでした。」というエラーが出てしまいます。 プログラムの実行環境のID、パスワードと特定のコンピュータの IDとパスワードが異なっているのが原因だと思っています。 GetProcessesにIDとパスワードを設定してプロセスを取得することは 可能なのでしょうか。 ご存知の方がいらっしゃいましたらご教授下さい。 よろしくお願いします。
- 締切済み
- Visual Basic
- C#でのProcess.Startと変数path
C:\Program Files\a\にa.exeがあって、a.exeにパスが通っていて、 C:\> a.exe でaが実行できる状態にあるのですが、 System.Diagnostics.Process.Start("a"); でなぜか An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll Additional information: 指定されたファイルが見つかりません。 と言われ実行できません。 a.exeをパスを指定しないで実行するにはどうしたらいいのでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- プロセスが実行中かどうか調べる方法
CreateProcessで作ったプロセスが実行中かどうか調べる方法はありませんか。 標準出力に値を吐き出し続けるコンソールアプリケーションから、値を取得して処理をしたいのですが、CreateProcessでつくってパイプで処理しようとしています。ぐぐったところWaitForSingleObjectで待つようなサンプルは見つかったのですが、呼び出したプロセスが終了しないのでこれは使えないので 実行中はずっとループし続けるような感じにしたいのですが。 よろしくお願いします
- ベストアンサー
- C・C++・C#
- 特定ユーザーのプロセス情報を取得するには
こんにちは。 VB.NET 2003で、現在起動されている全プロセスから、 特定のユーザーが起動した ・プロセスID ・プロセス名称 の情報を取得する方法はありますでしょうか? System.Diagnostics.Process.GetProcessesで、 プロセス情報が取得できるので、 その中から、特定のユーザーの情報だけを洗い出そうとしたのですが、 ユーザー名に当たるプロパティが見つけられませんでした。 Process クラスには、ユーザー名は持っていないのでしょうか? よろしくお願いいたします。
- ベストアンサー
- Visual Basic