1. 程式人生 > >報警聲音並像QQ一樣閃爍的對話方塊

報警聲音並像QQ一樣閃爍的對話方塊

當需要報警時,就彈出對話方塊,並像QQ一樣不停地快閃記憶體,並且發出報警聲 C#

[System.Runtime.InteropServices.DllImportAttribute("user32.dll")]
        public static extern bool FlashWindow(IntPtr handle, bool bInvert);

        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                FlashWindow(this.Handle, true);
                if (enableAlarm && alarmCount>0)
                {
                    string path = System.Windows.Forms.Application.StartupPath + @"/Resources/ALARM8.WAV";
                    MediaSound.PlaySound(path, true, true, false);
                    this.alarmCount--;
                }
            }
            catch (Exception ex)
            {
                AirMonitorSysEventLog.WriteLog("FormAlarm--timer1_Tick: " + ex.Message, System.Diagnostics.EventLogEntryType.Error, AirMonitorSysEventLog.GeneralErrorEventId);
            }
        }


注意,這個Timer 's interval is 100 ms,

 public class MediaSound
    {
        #region 報警聲音
        /* 當例如監測xx大於xx
* 通過PlaySound(”msg.wav”, true, true, false)方法實現連續報警
* 還可以同時彈出視窗提醒之類的資訊.
* 關閉報警通過方法StopSound()實現就可以了.*/

        [DllImport("winmm.dll", EntryPoint = "PlaySound")]
        private static extern bool Win32_PlaySound(string pszSound, IntPtr hmod, uint fdwSound);

        /// <summary>
        /// 播放一個wav音訊檔案
        /// </summary>
        /// <param name="path"></param>
        /// <param name="asynchronous"></param>
        /// <param name="loop"></param>
        /// <param name="doNotStopPlay"></param>
        public static void PlaySound(string path, bool asynchronous, bool loop, bool doNotStopPlay)
        {
            Win32_PlaySound(path, IntPtr.Zero, (uint)((asynchronous ?
            PlaySoundMessage.SND_ASYNC : PlaySoundMessage.SND_SYNC) | (loop ?
            PlaySoundMessage.SND_LOOP : 0) | (doNotStopPlay ?
            PlaySoundMessage.SND_NOSTOP : 0) | PlaySoundMessage.SND_FILENAME));
        }

        /// <summary>
        /// 停止播放
        /// </summary> 
        public static void StopSound()
        {
            Win32_PlaySound(null, IntPtr.Zero, 0);
        }

        [Flags()]
        internal enum PlaySoundMessage
        {
            SND_SYNC = 0x0000,
            SND_ASYNC = 0x0001,
            SND_LOOP = 0x0008,
            SND_NOSTOP = 0x0010,
            SND_FILENAME = 0x00020000
        }
        #endregion

    }

相關推薦

報警聲音QQ一樣閃爍對話方塊

當需要報警時,就彈出對話方塊,並像QQ一樣不停地快閃記憶體,並且發出報警聲 C# [System.Runtime.InteropServices.DllImportAttribute("user32.dll")] public static extern

怎麽讓 Android 程序一直後臺運行, QQ 一樣不被殺死

著作權 RoCE 就是 自己 檢查 ble 技術 來源 進程守護 轉自:https://blog.csdn.net/javazejian/article/details/52709857 作者:閉關寫代碼鏈接:https://www.zhihu.com/questi

# android 讓文字波浪一樣閃爍動畫

package com.arong.tool; import android.content.Context; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.gra

C# 實現視窗程式winformQQ一樣靠近桌面邊緣自動隱藏視窗

實現原理:   實現這個功能的原理步驟如下:     1、判斷窗體程式是否靠近桌面邊緣;     2、獲取桌面螢幕大小與窗體程式大小;     3、把窗體程式顯示在桌面以外隱藏起來,預留部分窗體方便使用者拉出程式;     4、判斷滑鼠是否在窗體程式上,在就靠邊顯示整個窗體程式,不在就隱藏顯示,並調

C# 實現QQ一樣隱藏窗體

在製作QQ窗體時,其關鍵是判斷滑鼠是否在窗體上,主要是用API函式WindowFromPoint和GetParent來實現的 (1)API函式WindowFromPoint 該函式獲取當前滑鼠下視覺化控制元件的控制代碼。忽略遮蔽、隱藏以及透明視窗。其宣告如下: [DllIm

在網頁中 生成QQ線上臨時對話方塊/聊天

2)在“頁面設定”中選擇“設定部落格首頁模版”,在其中“自定義內容元件”內選擇“新增文字元件”下面是我已經設定好了的三個元件的效果圖,未設定之前這裡是空白的,您可以通過自定義元件新增文字元件任意新增自己喜歡的內容、公告資訊、個人介紹、插入圖片或其它多媒體檔案;

ubuntu下qq截圖一樣的軟體

這個工具完全想QQ一樣,可以對截圖進行編輯塗鴉 1、下載安裝包 wget http://packages.linuxdeepin.com/deepin/pool/main/d/deepin-scrot/deepin-scrot_2.0-0deepin_all.deb 2、進行安裝 

怎樣使DialogActivity一樣隨心所欲的使用?

dism super values con lean 背景 處理 步驟 auto 怎樣使Dialog像Activity一樣隨心所欲的使用? android中的Dialog像是寄生在Activity中。在彈出Dialog時。因受到系統風格定義,導致Dialog怎麽也不能如

一樣的 Spring Boot入門,總算有反應了

zone context frame .org ret clas schema -1 eating 我特麽最煩的就是現在Java不知道抽什麽風,喜歡用maven這種,怎麽搞都會有錯誤提示的玩意。搞個spring boot,官方的所謂http://start.spring.i

C#.NET 程序員的福利,自己寫的一個XML操作類,可實現jquery一樣方便的xml操作,且不用專門去處理命名空間。

console region ignorecas node 處理 命名空間 void clone 一個 此工具是進入一家新公司之後實現的,主要是工作當中操作 xml 的時間太多,因為公司按任務計“工作量”,領導給我安排的時間遠遠不夠完善此工具【悲哀的

CSS技巧!table一樣布局div

單元 單元格 and 布局 有用 什麽 對齊 right endif   許多網頁設計師都喜歡,將兩個或者多個容器等高的並排放置,並在裏面展示每個容器的內容,就象經典表格布局中的單元格控制幾個欄目的位置,也喜歡容器的內容居中或頂部對齊顯示。   但是你又不喜歡用table來

煙癮一樣的Adobe Flash,真的戒不掉嗎?

fontsize 繼續 net 一段 即使 term tro enter 更新 近來對Adobe Flash來說真是段難過的日子。Hacking Team公司外泄的440GB電子郵件數據已成為黑客挖掘安全漏洞的寶藏。光是Flash就被發現了三個不同的漏洞

zabbix郵件報警發送至qq郵箱

zabbix 郵件報警 zabbix郵件報警設置第一、安裝郵件發送工具mailx 這裏我選擇的是mailx,所以的關閉其他的郵件發送工具 service sendmail start #開啟,因為發送郵件需要開啟25端口 chkconfig sendmail off #禁止開機啟動

IT男裝逼利器:如何黑客一樣聊天 Mojo-Webqq

lib 實現 idt entos thread 效果 docker鏡像 curl 包管理 電影裏的黑客們聊天不想我們生活中的一樣,用QQ、微信的客戶端,都是通過命令行來進行聊天交流的,大概是為了提升逼格吧。(文末有福利~) 本文作者:KevinSVIP 今天發現一個有趣

Clover3(可以讓Windows Explorer瀏覽器一樣有標簽頁)

分享圖片 標簽 div explore pos body 下載地址 exp 這不 這不是廣告!!! 下載地址:http://cn.ejie.me/ 效果圖: Clover3(可以讓Windows Explorer像瀏覽器一樣有標簽頁)

PowerShell - Log一樣輸出執行結果

powershell 變量 日期變量 最近在用Powershell完成一些經常要做的日常工作,想實時的得到執行結果,像Linux安裝軟件一樣,一條一條的實時輸出到控制臺,這樣很清晰明了的看到每一步的執行結果。格式就像這樣:PS > 02/28/2018 13:35:43 Checking x

讓機器人類一樣多模態交互,會是物聯網的勝負手嗎?

物聯網 多模態 技術這個事情,很多時候不是一蹴而就的。更多時候,是大家先看到了一個東西非常美好,結果左發展右發展也發展不起來,在吃瓜群眾們興奮地送上一首《涼涼》之後,搞不好哪天卻突然一個勝負手拋出來,一切又都不一樣了。曾經的移動通訊、觸屏交互莫不如是,今天的3D打印、VR說不定也在重復這個套路。更明顯

一樣思考更好的並行編程

Java 並發編程 高並發 高可用 介紹編寫一個應用程序並行運行很困難,對吧?我的意思是,它一定很難,否則我們會看到各處的並行程序。我們所看到的都是平滑的並行應用程序,可以毫不費力地使用每個可用的核心。相反,多線程應用程序是例外而不是規則。編寫並行程序似乎有兩個主要障礙:學習您選擇的語言提供的

gal一樣講故事~

list tostring IE component ret mon ++ code top   我希望在開頭的時候,能有一個講故事的Scene來講前置劇情,就寫了個類。用來控制文本逐字顯示的: [RequireComponent(typeof(Text))] publi

Excel一樣使用python進行數據分析

根據 count函數 print 資料 right 定義 split函數 頭信息 pan Excel是數據分析中最常用的工具,本篇文章通過python與excel的功能對比介紹如何使用python通過函數式編程完成excel中的數據處理及分析工作。在Python中panda