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ランキング
-
タイトルバーのないアプリに二...
-
VBにてタスクマネージャを読む方法
-
MFCでコンソール出力
-
パソコンの起動が遅く、おもた...
-
Accessフォームからの外部アプ...
-
対象のアプリケーションが終了...
-
VB6の強制終了について
-
C#でGUI・CUIの判断する仕方を...
-
Java Web Start アプリケーショ...
-
FOM出版の公認テキスト&問題集...
-
フリーソフトのデリートソフト...
-
他のアプリケーションの起動と...
-
フレームワーク「4.8.1」で、[S...
-
アプリケーションエラー 0xc00...
-
Vba アプリケーションが立ち上...
-
すぐにexeファイルが終了しない。
-
イベントドリブン(C言語)
-
イラストレーターCS4のシリアル...
-
VBSでのSendKeysでの画面の最小化
-
VBA初心者です。ExcelのVBAで他...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba アプリケーションが立ち上...
-
VBSでのSendKeysでの画面の最小化
-
コンソールアプリケーションの...
-
フレームワーク「4.8.1」で、[S...
-
WSH(VBScript)でアプリケーショ...
-
Accessフォームからの外部アプ...
-
VB6での二重起動(複数起動)の制...
-
イラストレーターCS4のシリアル...
-
VB.NETでMessageBoxを表示した...
-
Console Applicationをタスクト...
-
Java Web Start アプリケーショ...
-
VB.NETでフォームアクティブの...
-
C#でGUI・CUIの判断する仕方を...
-
vb6で異なるのプロジェクト間で...
-
MFCアプリケーションでの終了コ...
-
pccNTmon.exeとntrtscan.exeの違い
-
自分自身を更新するプログラム
-
excel VBAで、外部アプリケーシ...
-
vcxprojファイルの修正法???
-
実行時のコマンドプロンプトを...
おすすめ情報