1、98内核对这个函数的执行方式不同。去看看文档。2、这个...很麻烦的最简单要写多线程,至少我现在还没查到可以让PC Speaker发声的非独占方法。

解决方案 »

  1.   

    to tfrist(tfrist):
    不可以。to NowCan(能量、激情、雨水、彩虹——雷雨云):
    可以用汇编写子程序试试看。
      

  2.   

    使机箱内的小喇叭发出不同的声音 
    使用VB中的beep语句只能发出一种声音。如果想发出不同声音,可以使用API函数。Option Explicit
    Private Declare Function APIBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As LongPrivate Sub Command1_Click()
     Dim frequency As Long frequency = CLng(txtFrequency.Text)
     APIBeep frequency, 500
    End Sub  
      

  3.   

    没有那么简单。
    在win98下,Beep发声函数会被声卡截获。而且与控制面板中的声音设置有关。
      

  4.   

    转贴
    开始发声: WORD Freq;
    Freq=22000;  //22KHz
    Freq=WORD(1193181/long(Freq));
    __asm  
    {  
    push  bx
    in  al,0x61 
    mov  bl,  aL 
    and  aL,  3  
    jne  Skip  
    mov  aL,  bL  
    or  aL,  3  
    out  0x61,  aL
    mov  aL,  0xB6
    out  0x43,  aL

    Skip: mov  ax,  Freq   
    out  0x42,  aL  
    mov  aL,  ah  
    out  0x42,  aL  
    pop  bx  
    }
      终止发声:
    __asm
    {
    in al, 0x61  
    and al,0xFC
    out 0x61,al
    }时间控制自己弄个定时器就可以了。