• ベストアンサー

Beep音を出すには?

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Beep音を出す Dim I As Integer For I = 1 To 100 ' Loop 100 times. Beep() ' Sound a tone. Next I End Sub 上記のコードでBeep音を出したいのですが、鳴りません。 (Beepコードは、VBのサンプルコードです。) OS:WinXP SP3 VB.NET Ver2003です。 フォームにコマンドボタンを一つ貼り付け、 コマンドボタンのクリックイベントで Beep音を鳴らしたいです。 PCのデバイスマネージャ設定は、 Beep音が有効になっています。 他の音(Win立上音他)は、デフォルトのままです。 詳しい方、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • ksoft
  • ベストアンサー率100% (1/1)
回答No.4

Windows APIを使う方法 Enum MessageBeepType SimpleBeep = -1 MB_OK = &H0 MB_ICONHAND = &H10 MB_ICONQUESTION = &H20 MB_ICONEXCLAMATION = &H30 MB_ICONASTERISK = &H40 End Enum <System.Runtime.InteropServices.DllImport("user32.dll")> _ Shared Function MessageBeep(ByVal uType As MessageBeepType) As System.Boolean End Function で、Beep()のところを、MessageBeep(MessageBeepType.SimpleBeep)にします。

gookinger
質問者

補足

たくさんの方のご回答をありがとうございます。 いろいろ勉強しながら試してみます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

http://dobon.net/vb/dotnet/vb2cs/vbbeep.html NET Frameworkのバージョンによる違い の辺り。 http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200412/04120011.txt など。 「VB.NET Beep音」で照会のこと。

回答No.2

下記サイトを参照して見てください。 ビープ音などのシステム・サウンドを鳴らすには? http://www.atmarkit.co.jp/fdotnet/dotnettips/440systemsounds/systemsounds.html

回答No.1

Microsoft.VisualBasic.Beep() です。

関連するQ&A

  • BEEP音を再生したい

    下のドレミを再生したいのですが具体的にどのようにどこへ記載すれば再生できますか? Private Sub? Declare Function Beep Lib "kernel32" ( _           ByVal dwFreq As Long, _           ByVal dwDuration As Long _           ) As Long 上記のコードをSUB に記載するとエラーになります。 これがないとCALL Beepもエラーになります。 '=============================== Sub Test()  Call Beep(262, 500)  Call Beep(294, 500)  Call Beep(330, 500)  Call Beep(349, 500)  Call Beep(392, 500)  Call Beep(440, 500)  Call Beep(494, 500)  Call Beep(523, 500) End Sub VBA初心者です分かりやすくお願いします。

  • コマンドボタンを押すと・・・

    vbの超初心者なのですが、フォームにコマンドボタンを何度か設置したら Private Sub Button1_Click(sender As System.Object,・・・ というのと Private Sub Button1_Click_1(sender As System.Object,・・・ というのが出来上がっていて、コマンドボタンをクリックすると Private Sub Button1_Click_1 のほうのコードが実行されるのですが、 Private Sub Button1_ClickとPrivate Sub Button1_Click_1 の違いはなんでしょうか? Private Sub Button1_Clickは、どのコマンドボタンを押せば実行されるのでしょうか?

  • MessageBox.Showとmsgboxの違いは?

    MessageBox.Showとmsgboxの違いは? vb.net初心者です。 フォームにコマンドボタンを設置して、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("test")  でも MessageBox.Show("test") End Sub でもうまくいきます。 この二つに違いはありますか?

  • WebBrowserについて

    VB2005で、WebBrowserを使おうとしたところ次のような問題が発生しました。 フォームに、WebBrowserを貼り付けてボタンをクリックしたところsubの途中でStopさせるとWebBrowserに表示されません。どうしてでしょうか?教えてください。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.goo.ne.jp/") End Sub の状態だと表示されますが、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("http://www.goo.ne.jp/")     Stop End Sub で止めると表示されません。 教えていただけないでしょうか?宜しくお願い致します。

  • VBのこのコードの意味を教えてください。(至急)

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click このコードの意味を教えてください。 よろしくお願いします。

  • エクセル2010のvbaについて

    押されたコマンドボタンの名前を取得したいです (調べてみましたがエラーになり取得できませんでした) 後コマンドボタンがたくさんあり、コードも長く とても邪魔なので省略したいのですができますか? (左クリックと右クリックで違う処理をした後       MouseDown コマンドボタンの名前で少し処理を変えるコードです) MouseUp (下のコードのような感じです) 回答お願いします Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single) Select Case Button Case 1 Range("A1") = 1 Case 2 Range("A1") = 2 End Select End Sub Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single) If (コマンドボタンの名前を取得) = "aaa" Then Range("A1") = Range("A1") + 1 Else Range("A1") = Range("A1") - 1 End If End Sub

  • VB.NET フォーム上に描いたグラフィックのクリア方法

    最近、VB6からVB.NET 2003へプログラムの移行作業を始めたものです。極々基本的なことなのかもしれませんが、.NETでフォームに描いたグラフィック(線や円など)を消去するコードがなかなかうまく書けず困っています。 VB6でしたら Form**.Cls だけで消えるのですが、それに対応するコードはどのように記載すれば宜しいでしょうか? ヘルプなどで見るとClearメソッドを使用するとありましたが、どうもうまく動きません。 例えば、以下の簡単な例でしたらどのように変えれば宜しいでしょうか? 宜しくお願いいたします。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   Dim grph As System.Drawing.Graphics   grph = Me.CreateGraphics   grph.DrawLine(Pens.Red, 50, 25, 200, 150)   ClearScreen(e) End Sub Public Sub ClearScreen(ByVal e As PaintEventArgs)   Dim BGcolor As Color   BGcolor = Color.FromArgb(0, 0, 0)   e.Graphics.Clear(BGcolor) '背景色 End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click   ClearScreen(e) End Sub

  • フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法

    .NETにおいて、フォーム上に配置されたコントロールで発生したイベントを、各コントロールごとではなくて、まとめてハンドルする方法はないでしょうか。 例えば次のようなフォームがあります。 (Button1, Button2, Button3は、フォームに配置されたボタンとします) Public Class MyForm   Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click   End Sub End Class ボタンが3つ程度の場合はこれで良いと思うのですが、例えば(極端に言えば)ボタンが100個ある場合、 Handles Button1.Click, Button2.Click, (途中省略.....) Button100.Click と書くしかないのでしょうか。 後で対象コントロールが増えたり減ったりした場合に間違いが起こりそうなので、このような書き方は避けたいです。 フォーム上のどのコントロールでも構わないからとにかくクリックイベントが発生したことを知るための方法はないでしょうか。 例えば次のようなかんじでハンドリングできないでしょうか。 Private Sub All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles フォーム上の任意のコントロールでのClickイベント End Sub (環境はVB.NET2005です)

  • Call文 でデバックできません。

    VB初心者です。 Win2003Sarver+SQL2000+VB.Net2008の組合せで作っています。 Call文で下記の様にすると Private Sub Button自動1600_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button自動1600.Click Call Button1600_Click() <--ここでデバックできません。 End Sub Private Sub Button1600_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1600.Click Me.洗浄機記録BindingSource.AddNew() Me.日付TextBox.Text = Now End Sub Call Button1600_Click() デバックできません。 下記の様にすると動きます。 Private Sub Button自動1600_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button自動1600.Click Call B1600() End Sub Private Sub B1600 Me.洗浄機記録BindingSource.AddNew() Me.日付TextBox.Text = Now End Sub Call先に Click(ByVal sender As System.Object, ByVal e As System.EventArgs) が あると引数か何かが必要になるのでしょうか。 ご存知の方教えてください。

  • コマンドプロンプトを終了せずにリダイレクトするには?

    コマンドプロンプトを終了せずにリダイレクトするには? VBからコマンドプロンプトを操作し、結果をLabelに貼り付けることを考えています。 しかし、コマンドプロンプトを起動するプロセスにリダイレクト設定をしたところ、実行するたびに終了してしまい、その後のコマンド入力でプロセスが見つからずエラーとなってしまいます。コマンドプロンプトは終了せずにリダイレクトの設定する方法を教えて頂けないでしょうか。 また、コマンドプロンプト自体は表示させずに実行できるのが理想なので、やり方のヒントだけでも頂けると助かります。 操作例(VBのボタンから):cmd.exe起動 → cd c:\ → dir エラー内容:プロセス 'c:\windows\system32\cmd.exe' が見つかりませんでした。 動作環境:VB2005、Windows XP ============================== Public Class Form1 Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click Dim P1 As New System.Diagnostics.Process P1.StartInfo.UseShellExecute = False P1.StartInfo.RedirectStandardOutput = True P1.StartInfo.FileName = "cmd.exe" P1.Start() End Sub Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click AppActivate("c:\windows\system32\cmd.exe") SendKeys.SendWait("CD c:\{Enter}") Label5.Text = P1.StandardOutput.ReadToEnd() End Sub Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click AppActivate("c:\windows\system32\cmd.exe") SendKeys.SendWait("DIR{Enter}") Label5.Text = P1.StandardOutput.ReadToEnd() End Sub

専門家に質問してみよう