CF 2.0下GetMessage无法获取WM_COMMAND消息
我在用C#写一个CF 2.0的程序,运行环境为VS2008自带的Pocket PC 2003 模拟器,试图手工控制所有WM_COMMAND消息,但是使用GetMessage时碰到了问题我在PC上使用GetMessage是很顺手的,所有我想请问是什么原因导致下面代码中的GetMessage没能取得WM_COMMAND消息
//WinUtils中各函数均来自CoreDll.dll
public static class FormUtils
{
public static void Run(Form form)
{
form.Closed += form_Closed;
form.Show();
Int32 ret;
MSG msg;
//下面GetMessage永远都没法取到WM_COMMAND消息。然而鼠标、键盘消息均能取到。
//其他类似WM_GETTEXTLENGTH等等一大批消息均无法获取,但是整个程序运作正常,且使用ccspy(远程查看器)能观察到所有消息
while ((ret = WinUtils.GetMessage(out msg, WinConstants.NULL, 0, 0)) != 0)
{
if (ret != -1)
{
WinUtils.TranslateMessage(ref msg);
WinUtils.DispatchMessage(ref msg);
}
}
form.Dispose();
}
private static void form_Closed(object sender, EventArgs e)
{
WinUtils.PostQuitMessage(0);
}
}
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[MTAThread]
static void Main()
{
FormUtils.Run(new MainForm());
}
}
补充:移动开发 , Windows Phone