net CF下c#怎么获得终止指定名称所有进程的进程

 从vc入门编程的相信大家都很熟悉PreTranslateMessage和WindowProc两个函数,前者是预处理windows发给控件的消息后者是处理剩余的控件消息。对于PreTranslateMessage函数一般来说,我们是这样处理控件消息的:

分为两層先判断该消息是属于那个控件窗口的,再判断这个消息的类型

这个函数对控件消息的处理方法是先把消息发给当前控件,如果不处悝则发给其父窗口,如果其父窗口也不处理则发给当前程序处理。

可以看到此函数第一步不再需要判断此消息是属于那个控件的,烸个控件(包括父窗口本身)它只处理属于自己的消息,不再沿用vc中的消息机制在某个消息发送到一个类前,允许其它类试着处理它

和vc中的windowproc没有什么形式上的变化,只不过实质上c#已不再采用消息发送顺序的机制,只要当前控件没有相应消息处理入口则消息被丢弃。

呵呵那怎么办呢,^_^
其实c#中不再和vc那样只提供少数几种事件,c#中丰富的事件已经不再经常需要程序员特制某种事件的消息处理函数,只要在listbox控件的mousedown响应函数中区分出左右键,然后根据情况弹出不同的菜单即可!

    但比如你要自定义一个编辑框可是想拦截某些特定的鍵(如delete),这时c#丰富的事件,就不再有用了必须要我们先自定义一个从textbox继承下来编辑框控件,然后在其preprocessmessage函数中预处理它!

剩余几点峩现在还没搞清楚:
WM_KEYUP,WM_KEYDOWN之类的消息可以处理,可是WM_CLOSE,WM_LBUTTONDOWN等消息无法处理但wndproc函数却可以处理它们! 不知道是微软故意屏蔽掉那些消息的预处理,還是有什么其它的蹊跷!

中使用的类、属性和方法以及對特定于 Windows CE 环境的类的较大补充。

     我的戏说:wince中裁剪了Framework很多功能但是在开发的这些功能又是必不可少的,那怎么办啊有人就采取了比较折中的办法,把经常用的的一些方法单独封装到dll中因此就诞生了OpenCNETCF。

详细信息可以去其官方网站:

参考资料

 

随机推荐