上次用MF做了一个Windows桌面,感觉还不错,所以就想做一做如俄罗斯方块、贪吃蛇之类的小游戏,不过每次用模拟器运行MF程序,都需要打开VS2005的源码程序,然后单击启动。VS2005是个庞大的家伙,启动它至少要半分钟,所以很是麻烦。模拟器有没有可能直接运行MF程序啊(或者说不需安装VS2005及MF开发包,在其它windows上仅借助模拟器就可以运行)?就像一些游戏模拟器一样直接加载相应的文件就可以使游戏运行起来。
既然VS2005能启动运行,我想我们也可以,唯一不同的是模拟器加载的参数不同而已。
这是VS2005启动模拟器时候的命令行参数:
CommandLine = "C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Tools/Microsoft.SPOT.Emulator.Sample.SampleEmulator.exe" "/waitfordebugger" "/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.TinyCore.pe" "/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.Hardware.pe" "/load:D:/SELF/MF/YFWinMF/YFWinMF/bin/Release/YFWinMF.pe" "/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.Graphics.pe" "/load:DC
根据这个信息,我做了一个批处理文件(MF.bat),内容如下:
Microsoft.SPOT.Emulator.Sample.SampleEmulator.exe"/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.TinyCore.pe" "/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.Hardware.pe" "/load:C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/Microsoft.SPOT.Graphics.pe" "/load:YFWinMF.exe"
注意,我们去掉了"/waitfordebugger"参数,此外最后一个"/load:DC参数我也直接去掉了。此外YFWinMF.exe程序就是VS2005编译后的MF的可执行文件。
运行该批处理试一下,哈!模拟器可以单独启动并且开始运行了YFWinMF.exe程序了。下一步我们要对模拟器进行移植(需要提醒的是,由于模拟器也是用.Net 2.0开发的,所以windows试验平台至少要安装.Net 2.0)。
经过测试发现,模拟器需要如下文件方可移植成功。
此外还需要这些核心文件:
很让人不解的是,模拟器核心库必须要求这些文件在“C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/”目录,也就是说我上面的批处理文件的路径必须与此一样(也可以不一样,不过C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/目录下也必须存在这些文件),否则就提示****.pe文件不存在。为了便于移植,我又编写了一个批处理文件(init.bat),可以方便地创建C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies/目录及下面的文件,内容如下:
md "C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies"
copy *.* "C:/Program Files/Microsoft .NET Micro Framework/v2.0.3036/Assemblies"
MF用户程序有三个文件组成,YFWinMF.exeYFWinMF.exe.manifestYFWinMF.pe。
好了,我们准备工作就绪,把相关文件拷贝到其它机器(windows 2000以上,安装了.Net 2.0),先执行我的Init.bat批处理文件,建立Assemblies文件,然后再执行MF.bat批处理文件。
模拟器的功能还可以进一步扩展,如修改LCD的分辨率(颜色数目前仅支持16位,设置其它值会有问题),这样我们的模拟器就像PPC一样,也可以横竖屏切换了(这个功能我后续会做),下图就是修改LCD分辨率后运行的效果图:
此外在绘图时,还有一点需要注意,MF的窗体类没有Refresh函数(用UpdateLayout命令不好使),这样在配合按键时会显得很迟钝(原先我还以为是模拟器的性能问题呢),经过试验,我自定义了一个Refresh函数,代码如下:
//窗体刷新
private void Refresh()
{
this.Left = this.Left;
//this.UpdateLayout();
}
修改后,那响应真叫一个棒。OK,以后的工作有的做了,各种基于MF的小游戏和小应用就应该源源不断的出来了。
分享到:
相关推荐
在开发过程中,使用MicroFrameworkSDK.MSI这个安装文件,开发者可以在自己的机器上安装.NET Micro Framework 4.0 SDK,从而开始创建、构建和调试针对小型设备的应用程序。安装后,开发者可以在Visual Studio环境中...
5. **MicroFrameworkSDK.MSI**:这是一个Windows Installer包,包含了.NET Micro Framework SDK的主要组件,如编译器、类库、文档等,用于开发者在本地环境中建立和管理项目。 6. **Micro Framework SDK Release ...
1. **安装和配置.NET Micro Framework模拟器**:了解如何下载和安装模拟器,以及设置开发环境。 2. **创建第一个NETMF项目**:通过一个简单的示例,学习如何使用Visual Studio或其他集成开发环境(IDE)创建.NET ...
### GHI .NET MICRO FRAMEWORK入门教程 #### 关于本书 本书主要介绍如何利用Microsoft .NET Micro Framework(简称.NETMF)进行嵌入式系统的开发。.NET Micro Framework将.NET平台的强大功能与Visual Studio的高效...
.NET Micro Framework(简称.NET MF)是由微软开发的一个嵌入式操作系统平台,主要针对资源有限的设备,如物联网(IoT)设备、智能家居组件和小型工业控制器。标题中的".Net MF 模拟器"指的是一个用于模拟.NET MF环境...
源程序是 http://bansky.net/blog/2008/03/jpeg-camera-and-micro-framework/<br>原作者是在 Tahoe development board 实现的,这个不需要使用硬件,直接就可以通过模拟器抓取图像
而"MFConsoleApplication1.zip"则是实际的.NET Micro Framework项目文件,包含了源代码和相关资源,可以直接在VS2013中打开、编译和运行。 通过以上知识,开发者可以构建一个完整的物联网监测系统,实时监控环境...
1. **.NET Micro Framework (NETMF)**:这是微软推出的一个专门用于小型设备的.NET实现,支持C#和VB.NET。NETMF允许开发者利用.NET框架的强大功能来创建资源受限的嵌入式系统。 2. **嵌入式硬件交互**:学习如何...
Java是一种广泛应用于各种平台的高级编程语言,尤其在移动设备领域,它为开发小型应用程序提供了强大的支持。在移动设备上,Java主要通过两种配置来运行:Connected Limited Device Configuration (CLDC) 和 Mobile ...
� 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...