日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何使用C++制作Windows的關(guān)機(jī)事件

下面研究在C++里,使用C++捕獲windows的關(guān)機(jī)事件,看看C++是否可以做一個(gè)程序,能讓它在關(guān)機(jī)的時(shí)候提醒我一下呢,這樣就不會(huì)在有的文件沒保存下的情況下,關(guān)機(jī)導(dǎo)致的損失了。

站在用戶的角度思考問題,與客戶深入溝通,找到孟州網(wǎng)站設(shè)計(jì)與孟州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋孟州地區(qū)。

非常幸運(yùn)很容易就找到了Microsoft.Win32命名空間下面的SystemEvents類,他有一個(gè)靜態(tài)的事件SessionEnding在系統(tǒng)注銷或者關(guān)機(jī)時(shí)發(fā)生,此事件只有在winform的程序下有效,而在控制臺(tái)程序下面無效,不能激發(fā)事件;還有一點(diǎn)我們必須在程序推出時(shí)將加上的事件移除掉,否則就容易造成內(nèi)存溢出。

關(guān)鍵代碼如下:

 
 
 
  1. using System; 
  2.   using System.Collections.Generic; 
  3.   using System.Windows.Forms; 
  4.   using Microsoft.Win32; 
  5.   namespace Shutdown 
  6.   { 
  7.   static class Program 
  8.   { 
  9.   /**//// 
  10.   /// 應(yīng)用程序的主入口點(diǎn)。 
  11.   /// 
  12.   [STAThread] 
  13.   static void Main() 
  14.   { 
  15.   Application.EnableVisualStyles(); 
  16.   Application.SetCompatibleTextRenderingDefault(false); 
  17.   FormShutdown formShutdown = new FormShutdown(); 
  18.   SystemEvents.SessionEnding += new SessionEndingEventHandler(formShutdown.SystemEvents_SessionEnding); 
  19.   Application.Run(formShutdown); 
  20.   } 
  21.   } 
  22.   }Form 的代碼: 
  23.   using System; 
  24.   using System.Collections.Generic; 
  25.   using System.ComponentModel; 
  26.   using System.Data; 
  27.   using System.Drawing; 
  28.   using System.Text; 
  29.   using System.Windows.Forms; 
  30.   using Microsoft.Win32; 
  31.   namespace Shutdown 
  32.   { 
  33.   public partial class FormShutdown : Form 
  34.   { 
  35.   const string MESSAGE_TXT = "您簽退了嗎?"; 
  36.   const string MESSAGE_TITLE = "提示"; 
  37.   public FormShutdown() 
  38.   { 
  39.   InitializeComponent(); 
  40.   } 

此程序在使用C++在Windows2003下測(cè)試通過。大家在使用SystemEvents.SessionEnding事件時(shí)切記要在程序退出時(shí)移除事件。

不過有兩點(diǎn)遺憾之處:

1. 使用這種方式不能捕獲休眠時(shí)的事件

2. 這個(gè)程序占用的內(nèi)存太多了,只有這么一個(gè)小功能居然占了12M的內(nèi)存,這都是.Net framework惹的貨;實(shí)在是不可思議。

大家有沒有什么好主意可以克服這兩個(gè)缺點(diǎn)呢?


分享題目:如何使用C++制作Windows的關(guān)機(jī)事件
瀏覽地址:http://www.5511xx.com/article/codegpj.html