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
見やすくするために全角空白を使用しています。
早々回答をいただきありがとうございました。
あなたのコーディングを参考にトライしたいと思います。
実はこの質問をする前に3日間ほどHELPやOKWaveなどを片っ端から探しましたが参考になる記事が見つかりませんでした。
本当に助かります。私には何故こんな技法を御存じなのか不思議に思えます、と同時に自分の勉強不足を痛感する次第です。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード Windows11アップデート後の不具合(メモリ不足)について 9 2023/01/04 11:34
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- UNIX・Linux [Linux Mint] インストールしたアプリを Mintメニューの「アプリ一覧」に表示させたい 1 2022/10/01 09:04
- その他(OS) OSとCPUの関係について 2 2023/05/04 23:33
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- iPod・ウォークマン・音楽プレーヤー Windows10でwindows8やwindows7のアプリケーションを動かしたい 6 2022/09/20 23:16
- Windows 10 ctfmon.exe。スタック ベースのバッファーのオーバーランが検出されました。 1 2023/02/15 13:17
- その他(Microsoft Office) Offece Home&Business2016をアンインストールする方 1 2022/04/08 23:23
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# の OpenFileDialog
-
WSH(VBScript)でアプリケーショ...
-
VB.NETで起動させたExcelの多重...
-
MFCアプリケーションでの終了コ...
-
MFCでコンソール出力
-
[Visual C++]VCが起動しません...
-
vbで作成したアプリをサービス...
-
vb6で異なるのプロジェクト間で...
-
Ctrl + P のメッセージ送信
-
Windowsリブート時に1回だけア...
-
アプリケーションエラー 0xc00...
-
VBにてタスクマネージャを読む方法
-
VB.NETでフォームアクティブの...
-
フレームワーク「4.8.1」で、[S...
-
外字文字の登録
-
VBSで2バイト文字の送り方の質...
-
Vba アプリケーションが立ち上...
-
outlookが強制終了してしまう
-
excel VBAで、外部アプリケーシ...
-
プログラムの二重起動防止
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンソールアプリケーションの...
-
フレームワーク「4.8.1」で、[S...
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
自分自身を更新するプログラム
-
イラストレーターCS4のシリアル...
-
Windowsプログラムのビジー状態...
-
Accessフォームからの外部アプ...
-
Console Applicationをタスクト...
-
VB.NETでMessageBoxを表示した...
-
初回接続の遅い原因について
-
pccNTmon.exeとntrtscan.exeの違い
-
vb6で異なるのプロジェクト間で...
-
WSH(VBScript)でアプリケーショ...
-
対象のアプリケーションが終了...
-
MFCアプリケーションでの終了コ...
-
VB.NETでフォームアクティブの...
-
他アプリケーションの終了
-
実行時のコマンドプロンプトを...
-
Shell関数の終了を調べる方法
おすすめ情報