- ベストアンサー
Shell関数で起動したメディアプレーヤーを終了したい。
以前このコーナーで質問して教えて頂いたShell関数でメディアプレーヤーを起動できました。(以下にそのコーディングを記載しました) 今度は起動したメディアプレーヤーをVBから終了する方法が知りたいのですが教えて頂けませんか。 Shell ("C:\Program Files\Windows Media Player\wmplayer.exe /1 G:\TEST.wma ,vbMinimizedFocus") 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
オートメーションではなくコントロールです。 プロジェクトのカスタムコントロールにWindows MediaPlayerを登録。 フォームにWindows MediaPlayerを配置。 Private Sub Command1_Click() MediaPlayer1.Open "G:\TEST.wma" MediaPlayer1.Play End Sub Private Sub Command2_Click() MediaPlayer1.Stop End Sub # 試す環境がない 「好きに制御」の詳細はこちら http://msdn.microsoft.com/library/ja/wmplay/mmp_sdk/windowsmediaplayercontrolversion64scriptingreference.asp
その他の回答 (5)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >WMIコアをインストール Win 9x は、旧型なので、インストールしなければなりませんが、それ以上でしたら、入っているように思います。違うようでしたら、Microsoft ダウンロードでダウンロードしてください。
- Wendy02
- ベストアンサー率57% (3570/6232)
#4さんへ 私は、Shell で立ち上げたということが前提にありましたので、立ち上げたものをどうするのか、おっしゃっていることが、さっぱり意味が理解できませんでした。 その意味を了解しました。失礼しました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 私には、#2さんのお話の意味が良く分りません。GetObjectで、オートメーション・オブジェクトは取れますが、その後をどうするか、MSDNのSDK を読んでみたのですが、どうも分りません。しょうがないので、以下の方法を使いました。 まあ、Shell で立ち上げる必要性があるのかは私にはわかりませんが。(^^; Sub Main() Dim oProcess As Object On Error Resume Next For Each Process In GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_Process where Name='wmplayer.exe'") Set oProcess = Process Process.Terminate Next On Error GoTo 0 End Sub なお、WMIコアがインストールされていることが必須です。
お礼
お礼が遅くなり申訳有りません。 親切な回答を頂き有難うございました。 忙しい中本当に有難うございました。 頂戴した回答を参考に試行錯誤を行っています。勉強するにも、どこから手がけてよいのか解りませんでしたが回答を拝見し、勉強の糸口が見つかったように思います。 大変お世話になり有難うございました。また、何かありましたら宜しくお願いします。
補足
回答を頂き感謝しています。まったくの初心者(VBで書く資格がないかも)ですので良くわかりませんが、WMIコアをインストール方法を教えて下さい。 一つの問題解の決方法を皆さんから、いろいろ教えて頂きとても勉強になります。
- todo36
- ベストアンサー率58% (728/1234)
MediaPlayer ActiveXコントロールを貼り付けて、好きに制御すればよいのでは?
一応、こんなんでも閉じます。 Option Explicit Dim AppValue Private Sub Command1_Click() AppValue = Shell("C:\Program Files\Windows Media Player\wmplayer.exe,・・・") End Sub Private Sub Command2_Click() If AppValue > 0 Then AppActivate AppValue SendKeys "%{F4}", True End If End Sub
お礼
お礼が遅くなり申し訳ありません。 親切な回答を頂き本当に有難うございました。 頂戴した回答を基に色々試行錯誤をしています。大変勉強になりました。 有難うございました。今後とも宜しくお願いします。
お礼
お礼が遅れて申訳有りません。 勉強不足であることを痛感しました。 頂いた回答をヒントに色々試行錯誤をしています。 世の中には本当に詳しい方がいらっしゃると驚いています。 親切なアドバイス本当に有難うございました。今後とも宜しくお願いします。
補足
とても親切な回答有難うございました。 VBはまったくの初心者でしてプロジェクトのカスタムコントロールにMediaPlayerを登録する方法と、フォームに配置する方法がわかりません。あつかましいお願いですが宜しくお願いします。 また、せっかくtodo36様が回答を下さった「好きに制御」の意味が解りませんでしたが、参考アドレスを記載して頂き大変有難うございました。