Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


74775 / 76732 ←次へ | 前へ→

【6413】Re:メディアプレイヤーを終了させたいのですが
回答  JuJu E-MAIL  - 03/6/27(金) 18:56 -

引用なし
パスワード
   ひでさん、こんにちはぁ

>メディアプレイヤーを呼び出してある音(音楽)を
>10秒間だけだし、プレイヤーを終了(閉じたい)させたいのですが
>終了のしかたがわかりません

起動しているアプリケーションを終了させるにはAPIが一番手っ取り早いです。

こんな感じです。

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10

Sub test3xp() 'winXp xls2002

  Shell "C:\Program Files\Windows Media Player\wmplayer C:\NewStories.wma", vbHide
  Application.Wait (Now + TimeValue("00:00:10"))

'Media Playerを終了
  SendMessage FindWindow("WMPlayerApp", vbNullString), WM_CLOSE, 0&, ByVal 0&
End Sub

多分、メディアプレーヤ9でしか動作しません。

では次のバージョンに変わったらどうしましょう?
その都度改造するのも、手間ですよね。

方法はいろいろありますが、アプリケーションに依存しない技術ならMCIと言う物があります。
メディアプレーヤ7ぐらい以降が入っていれば、WMAファイルもMCIで再生できます。
(結果的にメディアプレーヤのライブラリを使っていますが、入り口が共通なので汎用性があります)

いまどきなら、メディアプレーヤコンポーネントを使う方法もあります。

ではではぁ
2 hits

【6396】メディアプレイヤーを終了させたいのですが ひで 03/6/27(金) 11:53 質問
【6413】Re:メディアプレイヤーを終了させたいのです... JuJu 03/6/27(金) 18:56 回答
【6414】Re:メディアプレイヤーを終了させたいのです... ichinose 03/6/27(金) 19:57 回答
【6415】Re:メディアプレイヤーを終了させたいのです... ichinose 03/6/27(金) 20:01 発言
【6426】Re:メディアプレイヤーを終了させたいのです... ひで 03/6/29(日) 18:53 お礼
【6438】・・・とくべつな〜オンリーワン♪ ひで 03/6/30(月) 9:29 お礼

74775 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free