• 締切済み

VB上でのWMPの停止イベントはキャッチできますか?

VB2005を使っている超初心者です。 今、赤外線で信号を受信して、受信情報を元にウィンドウズメディアプレイヤーで動画を流して、終わったらまた赤外線受信処理をするプログラムを作っています。 しかし、受信して動画を再生して停止したときPlayStateChangeイベントで停止するのをキャッチするまではできたんですが、その後自動的に赤外線処理に移行するプログラムができません。 現在はクリックしないと受信が始まらないので、PlayStateChangeを使わずに停止だけをキャッチするイベントはありませんでしょうか? 教えて下さい。 ちなみにPlayStateChangeの停止したときに赤外線処理入れるのもやったんですが、赤外線処理の中で動画のURL指定をするんですが、そのときにプレイヤーの状態が変わるので、またPlayStateChangeイベントが発生するためにデッドロックの状態になりうまく動きませんでした。 よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

フラグを立てておいて 受信処理 フラグをクリア といった具合にすればいいのでは … フォームクラスに dim bBusy as Boolean などとフラグを用意する Sub WMP1_PlayStateChange()   if bBusy then exit sub   bBusy = true   赤外線受信処理   bBusy = False End Sub といった具合です

sirokuroty
質問者

お礼

ありがとうございます。 早速試して見たいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBのタイマーイベントについて

    VBでタイマーイベントを利用してある処理を定期的に行なっている状態で その他のイベント(スクロールバーはクリックされている時間が長いのでイベントが重なる可能性が高い)が発生すれば、どちらかが優先されるのでしょうか? タイマーは、その他のイベントが発生しても時刻は刻まれているのでしょうか? よろしくお願いします

  • VB.Netのフォームロードイベントについて

    こんにちわ。 いまVB.Net2005Expressで勉強をしている者です。 あるフォームがロードされるときの処理を書こうとすると, 従来のVB6ではFormオブジェクトにLoadイベントがありましたが, VB.Net2005では,最初の状態ではフォームのイベントには 「New」,「Finalize」,「InitializeComponent」の3つしかありません。 もしVB.Net2005でForm_Loadイベントを書きたいときは, 自分で, 「Private Sub Form1_Load(Byval ~」と書かなくてはいけないのでしょうか? 初歩的な質問になるかもしれませんが,教えてください。 よろしくお願いします。

  • VC++でCatchできる例外について

    DBサーバにて常駐動作させているプロセス(VS6.0にて作成したVC++のプログラム)にエラーが発生して停止してしまいました。 イベントログにてアプリケーションログ、システムログを見ると、以下のようなエラーが出ていました。(日付、ユーザ、マシン名、エラー発生アプリケーション名は伏せております) ■アプリケーションログ■ イベントの種類: エラー イベント ソース: Application Error イベント カテゴリ: (100) イベント ID: 1000 説明: エラー発生アプリケーション <プログラム名>.exe、バージョン 0.0.0.0、エラー発生モジュール MSVCRTD.DLL、バージョン 6.0.8168.0、エラー発生アドレス 0x00011920 ■システムログ■ イベントの種類: 情報 イベント ソース: Application Popup イベント カテゴリ: なし イベント ID: 26 説明: アプリケーション ポップアップ: <プログラム名>.exe - アプリケーション エラー : 例外 unknown software exception (0x80000003) がアプリケーションの 0x10211920 で発生しました。 原因が分からないため、せめて上記エラーが発生しても停止しないよう、主要処理部全体を以下のように例外処理で囲むことで暫定対応しようとしております。 try{  主要処理 }catch(...){  エラー発生時の処理 } 改修後、同様なエラーを模擬的に発生させ、停止しないことを確認しようとしましたが、「エラー発生モジュール MSVCRTD.DLL」となるエラーを発生させることができません。 上記try-catchで「エラー発生モジュール MSVCRTD.DLL」となるエラーがキャッチできるかどうか、ご存知の方はおられましたらご教示いただけないでしょうか? 宜しくお願い致します。

  • vb6.0でプログラム間のイベント受送信処理

    初めまして、VB6.0プログラミング初心者です。 CreateEvent、SetEventを利用して、プログラム間でのイベント受送信処理をしようとしています。 また、受ける側でTimer関数を利用してイベントを監視し、イベントを受け取った際にMSG表示するようにもしたいのです。 いろいろ調べて、ActiveDLLを使用してみたりしたのですが、うまくいきませんし、 API関数の定数やどうやってプログラム間でイベントを受送信するのかがわかりませんでした。 ご教授よろしくお願いいたします。

  • VB.NetのプログラムでVB6.0のプログラム2

    お世話になります。 VB.Netで作成されたプログラムAがあります。 VB6.0で作成されたプログラムBがあります。 プログラムBはイベント待ち状態になっており、特定のイベント(ボタンクリックイベント等)で特定のプロシジャーを実行するようになっております。 プログラムAからプログラムBの特定のイベントを発生させる、もしくはプログラムBの特定のプロシジャーを実行させる方法を探しております。 前回同じような質問をさせていただきましたが、こちら側からWindowsイベントとVB6.0のイベントの指定の説明が抜けておりましたので、改めて質問をさせていただきます。 何卒よろしくお願い申し上げます。

  • VB6 コマンドボタン クリックイベントについて

    教えてください。 フォームに貼り付けているコマンドボタンのクリックイベントについてですが、クリックイベント内の処理で処理に時間がかかります。コマンドボタンを1度クリックすると、この処理を実行します。この状態であれば、問題ないのです。ところが、コマンドボタンを押して、処理している間にコマンドボタンを連打すると、ずーっと同じ処理を繰り返してしまいます。 クリックイベントが待ち行列にたまっているように思えるのですが、 これを回避する方法などがあれば教えてください。 ・待ち行列をクリアするとか ・待ち行列にイベントがたまっていても、1度しか実行しない。 などなど、具体的な方法とサンプルコードなどを教えていただけないでしょうか。お願いします。 環境VB6 WIN2K です。

  • 「イベント」とは?

    私は組込みシステムエンジニアをしています。 私が知る「イベント」という用語は、 「コンピュータの内部または外部にて何らかの変化が発生した際にプログラムに発信される信号」 を指し、その「イベント」に対する処理を「イベントハンドル処理」等と呼んでいます。 上を具体的な例で言うと 「(1)ボタンをクリックする」→「(2)ポップアップメッセージが出る」 だとすると、(1)が「イベント」で、(2)が「イベントハンドル処理」です。 ところが、最近ゲーム業界の方と一緒にお仕事をすることになり、その方は「イベント」は、私が「イベントハンドル処理」を指す用語だと言うのです。 業界によって「イベント」は別の意味だということなのでしょうか。

  • Perlでイベント処理?

    ようやくPerlに慣れてきて、ふと思ったのですが VBではイベントというものがあり、Perl Tkでもキーボード・マウスのイベントの処理ができる みたいですが、クライアントでソケット受信した場合、いつ受信するかわかりませんので ループしていれば良いのですが、ループしている間は、他の実行が何も出来ず効率も悪いなと 思うようになりました。 WindowsのPerl5.6を使っているのですが、ソケット等、イベント処理できる方法はあるのでしょうか?

    • ベストアンサー
    • Perl
  • イベントの取りこぼしについて

    教えて下さい。 VBで構築したアプリケーションにおいて、無限ループ内で処理を判断し、実行するようなプログラム構築にしています。この無限ループ内に「DoEvents」をセットしています。これによりOSに溜まっている、各イベントを処理していると思うのですが、処理するイベントに取りこぼしは発生しないのでしょうか? 現在、A/Dボードを実装しており、2ms周期でVBのイベントが発生するようなソフトになっています。「DoEvents」実行時に、OS側が処理に要する時間は、キューに溜まっているイベント数×1回のイベント処理時間で単純に導けるものでしょうか? また、CPUのスペックを2倍にすると、単純に処理時間は半分と計算できるものでしょうか?

  • wmpの大きさが…

    メディアプレイヤーの大きさがおかしくなってしましました。 動画の大きさに比べ枠の大きさがでかいです。 一度小さくしてまた開いてみてもでかい状態にもどってました 大きさのロックの仕方はあるのですか?解決策お願いします。