WinCE中使用C 時使用WndProc方法的處理

2022-09-08 14:30:24 字數 1838 閱讀 2294

在使用c#為wince程式設計時,有時需要override乙個方法——wndproc。比如用它來監視是否有u盤插入或拔除。但在wince下,並不能直接override它。它需要引用兩個命名空間:

using system.windows.forms;

using microsoft.windowsce.forms;

換言之,system.windows.forms裡不提供訊息處理類。查閱msdn上的示例文章(

微軟的實現方法是:自定義訊息處理類,並繼承microsoft.windowsce.forms.messagewindow類, 再在類中override wndproc方法。同時把目標form作為自定義類的構

造函式引數傳入,具體**如下:

1. custommessagewindow.cs類

using system;

using system.collections.generic;

using system.text;

using system.threading;

using system.io;

using system.runtime.interopservices;

namespace udiskdemo

///

///

///

///

protected override void wndproc(ref microsoft.windowsce.forms.message m)

break;

case (int)cmd_dbt.dbt_configchangecanceled:

break;

case (int)cmd_dbt.dbt_configchanged:

break;

case (int)cmd_dbt.dbt_customevent:

break;

case (int)cmd_dbt.dbt_devicequeryremove:

break;

case (int)cmd_dbt.dbt_devicequeryremovefailed:

break;

case (int)cmd_dbt.dbt_deviceremovecomplete: //u盤解除安裝  

break;

case (int)cmd_dbt.dbt_deviceremovepending:

break;

case (int)cmd_dbt.dbt_devicetypespecific:

break;

case (int)cmd_dbt.dbt_devnodes_changed://可用,裝置變化時                               

break;

case (int)cmd_dbt.dbt_querychangeconfig:

break;

case (int)cmd_dbt.dbt_userdefined:

break;

default:

break;

}break;}}

catch

base.wndproc(ref m);}}

}2. messageform.cs

using system;

using system.componentmodel;

using system.data;

using system.text;

using system.windows.forms;

using microsoft.windowsce.forms;

namespace udiskdemo}}

WinCE的非MFC程式中使用CString

經常在編譯 的時候,輸出視窗提示如下 其實也不是什麼大不了的提示,可以不用管他的!網上也找到許多解決此問題的方法。我發現在新建project的時候,如果加入了atl的支援就會有這個提示。估計是我的sdk裡面確實沒有dcom這個元件。當我將 include include 這兩個include去掉之後...

Unity中使用TimeSpane計算時差

引用命名空間 using system 宣告變數 蝴蝶到達ui目標的時間 public datetime time arriveuitarget 變數賦值 當前時間 butterfly.time arriveuitarget datetime.now 倆個timespane差值,可以得出時差 tod...

C 中使用屬性

使用屬性,避免將資料成員直接暴露給外界 item always use properties instead of accessible data members.學習研究.net的早期,經常碰到一些學習c net的朋友問,要屬性這種華而不實的東西做什麼?後來做專案時也時常接到team裡的人的抱怨反...