No.1ベストアンサー
- 回答日時:
試してないです。
例えばですが
エラーが発生したら bContinueBeep = TRUE;
として while で beep を鳴らしつづけます。
このままだと、無限ループに入ってしまい、PGは固まってしまうので while文の中で PeekMessage を実行してやれば OK ボタンが押された場合、それを処理することが可能になります。ボタン処理で bContinueBeep = FALSE; みたいな感じにすれば御希望の処理は可能でしょう。
でも「ピー」って鳴らしたいのならダメかも…。
以下のソースだと「ピピピ」とかになるのかな(試してない)
↑それなら、タイマー使ってもいいのかな?
while(bContinueBeep) {
MessageBeep(0);
Sleep(100);
while(PeekMessage(msg, NULL, 0, 0, PM_NOREMOVE))
{
// メッセージ処理
}
}
メッセージ処理の部分、手許にドキュメントないので覚えてません。DispatchMessage() ? ちゃうかも…。
この回答へのお礼
お礼日時:2004/02/05 16:36
回答ありがとうございます。
ピーと鳴らしたいのですが、
回答の方法ですとやはりピピピとなっていしまいます。
他の方法があればよろしくお願いします。
No.3
- 回答日時:
私も、#2 で参考URL に載せた IOSCM.SYS の方でやってみましたけど、私の PC 環境では「ピーーー」でした。
参考までに。それと、#2 で、「 Windows では」と書きましたけど、Win95/98/ME では、そのまま普通に outp を実行しても特権違反の例外は発生しないようですね。( IOSCM.SYS のドキュメントに書いてありました。)
No.2
- 回答日時:
ピーと鳴らすには、直接ポートを操作しないといけないんじゃないでしょうか。
AT互換機なら、
_outp(0x61, 3); // ON
_outp(0x61, 0); // OFF
のような感じなんですが、Windows では、そのままでは実行しようとしても特権違反とかで実行できません。
正攻法で行くならデバイスドライバを作って(要DDK)、ということになると思うのですが、デバイスドライバを作らなくても IO ポートの操作を可能にするツールがあるようです。
http://www.sanritz.co.jp/VesNT/sample/beep1/beep …
http://www.vector.co.jp/soft/winnt/prog/se309574 …
参考URL:http://www.vector.co.jp/soft/winnt/prog/se309574 …
この回答へのお礼
お礼日時:2004/02/06 14:49
回答ありがとうございます。
早速試してみたのですが、結局「ピピピピピ」となってしまいました。
また何か分かりましたら報告します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ビデオカード・サウンドカード DELL XPS8100のオンボードHDMIについて 2 2023/04/15 23:08
- CPU・メモリ・マザーボード HP製パソコンのBIOSの立上げ方を教えて下さい。 2 2022/10/28 18:28
- デスクトップパソコン デスクトップPCについて質問です。 PCを作っている最中なのですがモニターに何も映りません。 電源ユ 5 2022/04/05 21:52
- CPU・メモリ・マザーボード hp dc5700SFFについて 2 2022/06/03 10:50
- デスクトップパソコン もう18年も前のパソコンなので 希望はもうないのですができる限りのことを教えてください。 T90J( 22 2022/12/22 12:28
- フリーソフト 度々Zoom会議中に大きなビープ音がしてZoom自体がフリーズします。 4 2022/05/11 17:24
- デスクトップパソコン 自作PCの電源が入らなくなりました、なんでもいいので助言ください。 5 2022/12/21 21:08
- 作詞・作曲 DTM DAWとmidiキーボードについて 1 2022/10/20 16:41
- デスクトップパソコン PC起動時のビープ音 3 2023/02/18 20:04
- コーヒーメーカー・電気ケトル・電気ポット パルスオキシメーターの故障でしょうか? 自宅に帰りパルスオキシメーターの表示が消えて たので電源ボタ 2 2022/08/21 02:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロで、次のコードへ行く前...
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
vbaのエラー対応(実行時エラー...
-
特定の名前のオートシェイプの...
-
private subモジュールを他のモ...
-
VBA 複数の行を高速で削除する...
-
特定のファイルを他のプロセス...
-
エクセル VBAで複数セル選択時...
-
どう増強すべきか
-
シグナル 6(SIGABRT)とは?
-
ExcelのVBAで、選択したファイ...
-
フォルダのアクセス権確認について
-
途中で処理を中断させたい (ア...
-
条件文でelseはつけるべき?
-
メモリ不足になった後の処理
-
【C#】Page_Loadさせない方法に...
-
エクセルVBAでロックをかけたい
-
VCでビープ音を鳴らし続ける
-
VBAの進捗状況をリアルタイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
Excel VBA セルの名前があるか...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
シェルスクリプトでファイル内...
-
ドリブン??
-
特定のファイルを他のプロセス...
-
VB6にてネットワーク上にある共...
-
【VBA】エラー処理で別プロシー...
-
Functionで戻り値を複数返す方法
-
Word VBA。各マクロの間に待ち...
-
エクセル VBAで複数セル選択時...
-
VBA 複数の行を高速で削除する...
おすすめ情報