• 締切済み

現在起動中のアプリケーションの名前を知りたい

OS  :Windows Vista Home Premium 言語 :Excel2007 VB 質問 :現在起動中のアプリケーションの名前を知りたい Excel2007のVisual Basicで現在起動中のプログラム名を知る    方法を教えてください。 タスクマネージャーのアプリケーションタブで表示される内容    と同じアプリケーション名が知りたい。 なぜ必要かと言いますと例えばメディアプレーヤーが起動して    いたら強制的に終了させたいからです。 初心者です。説明不足かもしれません。お許しください。

みんなの回答

回答No.1

↓こんな感じです。 Private Declare Function GetDesktopWindow Lib "user32.dll" () As Long Private Declare Function GetWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal uCmd As Long) As Long Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function IsWindow Lib "user32.dll" (ByVal hWnd As Long) As Long Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long Private Const GWL_STYLE As Long = -16 Private Const WS_CAPTION As Long = &HC00000 Private Const GW_CHILD As Long = 5 Private Const GW_HWNDNEXT As Long = 2 Private Sub CommandButton1_Click()   Dim hWnd As Long   Dim lngStyle As Long   Dim strTitle As String   hWnd = GetWindow(GetDesktopWindow(), GW_CHILD)   Do While hWnd <> 0     If IsWindow(hWnd) <> 0 Then       If IsWindowVisible(hWnd) Then         lngStyle = GetWindowLong(hWnd, GWL_STYLE)         If (lngStyle And WS_CAPTION) = WS_CAPTION Then           strTitle = String(250, Chr(0))           Call GetWindowText(hWnd, strTitle, 250)           strTitle = Left(strTitle, InStr(strTitle, Chr(0)) - 1)           Debug.Print strTitle         End If       End If     End If     hWnd = GetWindow(hWnd, GW_HWNDNEXT)   Loop End Sub 見やすくするために全角空白を使用しています。

Rivinus
質問者

お礼

早々回答をいただきありがとうございました。 あなたのコーディングを参考にトライしたいと思います。 実はこの質問をする前に3日間ほどHELPやOKWaveなどを片っ端から探しましたが参考になる記事が見つかりませんでした。 本当に助かります。私には何故こんな技法を御存じなのか不思議に思えます、と同時に自分の勉強不足を痛感する次第です。 有難うございました。

関連するQ&A

  • java 起動中のアプリケーションの列挙について

    タスクマネージャのアプリケーションタブのように起動しているアプリケーションの情報ををjavaで取得したくていろいろ探しているのですが見つかりません。どうしてもjavaで作りたいのですが何かいい案はありませんか?

    • ベストアンサー
    • Java
  • Windows7でアプリケーションが起動しない

    Windows7にて、XPで使用していたプログラムのいくつかを起動しようとしましたが、起動せずにマウスカーソルが読み込み中のままで止まる現象が起きています。タスクマネージャーのプロセスタブには、起動しようとするプログラムの名前が3行分出ます(3行分の詳しい内訳は確認していません)。しかし、アプリケーションタブには表示されません。また、管理者として実行や互換モードで起動させようとしても起動しません。 確認している範囲では ・Visual Basic 6.0 Professional ・VBでの自作プログラム(同じプログラムでも起動できるマシンとできないマシンがあります) ・Illustrator 9.0 があります。 会社での使用マシンのため基本スペックやインストール済みのアプリケーションは同等のはずですが、この現象が起きるマシンがあれば起きないマシンもあります。 何か考えうる原因、可能であれば解決策のご意見を頂戴できませんでしょうか。よろしくお願い致します。 ※「アプリケーションが古いので対応していないのでは?」という回答以外でお願いします。 動作環境は次のとおりです(コントロールパネル→システムで確認)。 ・Windows7 Professional SP1 32bit ・Celeron 2.7GHz ・RAM 2.00GB

  • 突然色々なアプリケーションが立ち上がる

    いつもお世話になっております。 PCで作業していて、何もしていないのに、行き成りずらずらーと色々なアプリケーションが立ち上がる現象を経験された方はいらっしゃいますか? 一体何が原因で、どうしてこんな状況になるのかさっぱり分りません。 タスクマネージャのアプリケーションタブで、立ち上がっているアプリケーションを見たのですが、色々です。下記に挙げておきます。 ━ タスクマネージャのアプリケーションタブで確認を取ったアプリケーション ━ ・O ・DirectDBListenWndProc(4つ立ち上がっています) ・OutlookExpressFolderSyncWindwsClass ・SysFader ・MediaCenter ・NVSVCPMMWindowClass ・DDEServerWindow(2つ立ち上がっています) ・JavaUpdataSysTrayIcon ・IdentityMgrNotify(3つ立ち上がっています) ・WABNotificationWindow ・HiddenFaxWindow ・ConnectionTray ・MS_WebcheckMonitor etc.... なんかサービスが、視覚的に見える形で、誤作動を起こしたんでしょうか・・・。 有識者の方ご享受宜しくお願いします。

  • アプリケーション起動時のタスクバーについて

    アプリケーションを起動すると、普通、下のタスクバーのところに開いているアプリケーションのファイル名が表示されると思います。例えば複数開けば複数の名称が表示されますよね。 でも、私のパソコンは、突然、それが表示されなくなってしまいました。下のタスクバーには言語バーだけが格納されており、言語バーを復元すると下のタスクバーも消えてしまいます。もちろんスタートメニューもです。タスクバーのプロパティにも該当するメニューは見あたりません。ファイルを切り替えるのにタスクマネージャーを起動しなければなりません。とても不便で困っています。 どうしたらよいのでしょうか?

  • アプリケーションが起動しません

    WINDOOWSの起動はしますが、急にアプリケーションが立ち上がらなくなってしまいました。タスクマネージャを見るとCPUの起動率が100パーセントとなっているのですが関係あるのでしょうか? 教えてください!!

  • アプリケーションが起動しない

    お世話になっております。 質問内容はタイトルの通りで、突然、特定のアプリケーションが起動しなくなりました。 と言いましても、実際には完全に起動しないのではなく、タスクマネージャからプロセスを覗くと、そのアプリケーションのプロセスは存在しています。タスクは有りません。 デスクトップのアイコンをダブルクリックすると、何の音沙汰もないように見えますが、プロセスはその都度増えていきます。 特定のアプリケーションとしては、次のようなものがあります。 ・IEやfirefox、chromeなどのブラウザ ・skype ・音楽作成ツールや画像編集ツール ・アクセサリのメモ帳 など 逆に、以前と同じく起動可能なアプリケーションは ・Microsoft office ・音楽作成ツール ・アクセサリのペイント など といった具合で、どの種類のアプリケーションがこのような状態になっているのか把握できておりません。 また、タスクトレイのスピーカーを右クリックして表示される再生デバイスや録音デバイスをクリックしてもプロセスが増えるだけですが、コントロールパネルから「サウンド」にアクセスすると正常に起動します。(なお、chromeなどのアプリケーションで.exeファイルを直接ダブルクリックで起動してみましたが、起動しませんでした。) さらに、これらの起動しないアプリケーションでも、プロパティ等から「管理者として実行」すれば、正常に起動することが分かりました。現在、この方法で起動したブラウザで質問文を書いております。 この症状を改善し、以前のように戻すにはどうすれば良いのでしょうか。 どうぞ宜しくお願い致します。 スペックは以下の通りです。 OS:Windows 7 Home Premium (32bit) CPU:Core-i5 750 マザーボード:MSI P55-SD50 (V1.7B7) メモリ:4GB GPU:Radeon HD5770 情報の不足等御座いましたらご指摘ください。

  • 起動中のアプリケーション一覧を取得する方法

    プログラミング初心者です。 環境はVB.NET+WindowsXPです。 タスクマネージャと同様の機能を実現したいと思い、 起動中のアプリケーションの一覧をリストボックスに取得する方法を知りたく思います。 ネットを検索したところ、VB.NETでは容易にできるとの事は書いてあったのですが、具体的にはどうすればいいでしょうか。

  • アプリケーションの起動について

    現在、windows vista home premiumを使用していますが、ブラウザやワードなどのよく使うアプリケーションは全てウィンドウを最大化して使っています。しかし、頻繁にデスクトップに登録しているショートカットからもアプリケーションを起動するため、いちいち全てのウィンドウを閉じなければならないので面倒です。しかしクイックランチャに登録するのはパフォーマンスが低下しそうなので躊躇してしまいます。何か解決策はありますでしょうか。

  • 起動時にアプリケーションを自動起動させたい

      Windows7で起動時にアプリケーションを自動起動させる方法を教えて下さい。 またタスクマネージャーも自動起動させるにはどうすればよいですか。  

  • アプリケーション起動時にタスクバーが見えない。

    アプリケーションの起動時にタスクバーが隠れてしまいます。 言語バーもタスクにありますので隠れてしまいます。

専門家に質問してみよう