基于C/C++语言实现多线程连续报警程序(通过喇叭发声报警)

基于C/C++语言实现多线程连续报警程序(通过喇叭发声报警)

一、多线程报警

二、可运用到WinXP/7/10系统

代码如下:

#include <iostream>
#include <string>
#include <algorithm>
#include <windows.h> 
#include <process.h>
#include <cstdio>
using namespace std;
//配置Windows系统(0 表示 WinXP 1 表示 Win7/10)
#define WinX 0
//多线程报警声音标志
bool volatile bThreadOn = true; 
///声音报警函数
DWORD WINAPI BeepThread(LPVOID lpParam)
{
    while(bThreadOn)
    {
        //报警声相关处理 
        if(WinX)//Win7/10
        {
            Beep(3600, 500);//500
            Sleep(50);  
        }else//WinXP
        {
            //MessageBeep(MB_ICONEXCLAMATION);
            //目前就觉得这个自带声音好点
            MessageBeep(MB_ICONASTERISK);
            //MessageBeep(MB_ICONHAND);
            //MessageBeep(MB_ICONQUESTION);
            //MessageBeep(MB_OK);
            Sleep(50);  
        }
    }  
    return 0;
}
int main() 
{	
	//等待执行下面报警(可添加到需要提示报警的函数中)
	//创建线程
	HANDLE hThread;
    DWORD dwThreadId;
    //启动线程报警函数
    hThread = CreateThread(NULL,0,BeepThread,NULL,0,&dwThreadId);
    MessageBox( NULL, "报警提示信息", "报警提示信息标题", MB_OK); 
    //等待结束提示框后就关闭   
    bThreadOn = false;//关闭报警
    WaitForSingleObject(hThread,INFINITE); //一直等到线程结束
    //关闭线程
    CloseHandle(hThread) ;
    bThreadOn = true;//开启报警(开启下次报警)
	return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值