Tag: compact framework

在运行时如何区分Windows Mobile 6.5.3和以前的版本?

是否存在已建立或非官方的方式来确定我的应用程序是否在Windows Mobile 6.5.3设备上运行,或者它是否是以前的版本? 管理或本地无所谓,我不介意互操作。

在表单中找到焦点控件(在.netCF中)

我有一个表格,我想知道哪个控件有焦点。 我怎样才能做到这一点? 我见过的最佳解决方案让我迭代屏幕上的所有控件。 虽然可行,但只是知道哪个控件具有焦点似乎很多工作。

如何在紧凑框架中从字节数组加载程序集

我有遗留客户使用智能扫描仪和旧手机。 结果,我不得不在这些智能设备的紧凑框架中开发。 我正在编写一个类库,它将为扫描仪硬件的接口提供插件类型机制。 我希望能够将来自扫描仪制造商的第三方程序集作为插件DLL中的嵌入式资源嵌入。 我想这样做是为了避免在我的插件系统试图找到插件接口的实现时必须反映所有第三方DLL。 漂亮的海峡前进。 问题是,使用嵌入式资源,我可以获得程序集的字节,但System.Reflection.Assembly.LoadAssembly(byte[])在紧凑框架中不可用。 只有LoadAssembly(AssemblyName)和LoadAssembly(String) 。 如何在运行时从嵌入式资源加载这些程序集? 这就是我现在拥有的: protected void LoadEmbeddedAssemblies() { Assembly asm = Assembly.GetCallingAssembly(); foreach (string resName in asm.GetManifestResourceNames()) { if (resName.EndsWith(“.dll”)) { try { //this is an embedded assembly using (Stream s = asm.GetManifestResourceStream(resName)) { if (s.Length > Int32.MaxValue) throw new IOException(“The assembly is to large”); byte[] bytes = […]

LinkLabel没有下划线 – 紧凑框架

我正在使用Microsoft Compact Framework开发Windows CE应用程序。 我必须使用LinkLabel,它必须是白色的,没有下划线。 因此,在设计器中,我通过白色修改字体颜色,并在字体对话框中取消选中“下划线”。 但是,当我运行应用程序时,字体仍然是蓝色和下划线。 有没有办法删除LinkLabel的下划线并更改其颜色?

一次只检查一个ListViewItem

我正在使用Compact Framework开发智能设备项目。 我有一个带有几个可检查ListViewItem :属性CheckBoxes为true。 我需要在时间只检查一个ListViewItem ,所以我订阅了ItemCheck事件: // I need to know the last item checked private ListViewItem lastItemChecked; private void listView_ItemCheck(object sender, ItemCheckEventArgs e) { if (lastItemChecked != null && lastItemChecked.Checked) { /* I need to do the following to prevent infinite recursion: ie subscribe and then unsubscribe the ItemCheck event. */ listView.ItemCheck -= listView_ItemCheck; […]

压缩和解压缩文件和文件夹

我需要使用C ++ / C#在Windows Mobile中压缩和解压缩目录hirarchy。 什么是最简单的库? 我用谷歌搜索了很多次。 我发现了一些东西,但我无法继续使用它。 如果您已经实施或者您对此有所了解,请告诉我们。

确定GDI句柄和USER对象的数量

我们为Windows窗体UI渲染引擎开发了一个小型测试套件,可以在自动运行测试用例的同时测量性能并检测内存泄漏。 现在我们也想检查手柄泄漏。 在桌面平台上,我们可以使用以下代码: [DllImport(“User32”)] private extern static int GetGuiResources(IntPtr hProcess, int uiFlags); using (var process = Process.GetCurrentProcess()) { var gdiHandles = GetGuiResources(process.Handle, 0); var userHandles = GetGuiResources(process.Handle, 1); } 此方法似乎在Windows Mobile中不可用。 是否有另一种方法可以在Windows Mobile / CE上以编程方式确定这些值?

调用按钮的单击事件的正确方法是什么?

这里: http : //msdn.microsoft.com/en-us/library/hkkb40tf(v = VS.90).aspx ,它说,要从另一个按钮调用按钮的点击事件,你可以/应该这样做办法: button1.PerformClick(); 但是,在我的情况下(VS 2003. NET 1.1),这不编译(诚然,上面的链接指定VS 2008,但它没有指向先前版本的相关信息的链接,正如msdn经常那样)。 这编译: private void btnPrint_Click(object sender, System.EventArgs args) { if (this.recordChanged) { //btnSave.Click(); btnSave_Click(sender, args); } . . . ……但我不知道这是不是这样做的。

Windows Mobile和VS2008无法连接到设备

我刚买了一个新玩具,一部带有Windows Mobile 6的手机。我正在尝试在VS2008(C#)中编写一个简单的“Hello World”应用程序,但我无法连接到该设备。 它通过ActiveSync(通过USB)连接,我可以浏览文件系统,但出于某种原因,当我尝试构建应用程序并将其部署到设备时,它说“连接到设备失败”。 我在设备上安装了Windows Mobile 6 Professional SDK以及.net Compact Framework 3.5运行时,所有这些都运行正常。 我可以在模拟器上运行应用程序,但由于一些奇怪的原因我无法连接到设备。 我知道这不是很多信息,但我完全失去了!

如何检测Windows Mobile 5设备序列号? (.NET CF 3.5)

我工作的设备有多种(主要是Datalogic 4420 Falcon ),有人总是离开基地。 电池耗尽,然后将它们带回来进行全面设置。 (应该有一种方法可以配置SD卡上的文件,以便在出现这样的错误时重新加载,但它不能很好地工作) 当有人在设备上保存更改时(使用我将数据写入SQL Server的应用程序),序列号会随之发送,以便我们可以跟踪正在使用的设备。 每个设备都有一个Serial Number ,我必须在物理上(即手动)将其写入Device name字段,我可以阅读。 如果有人想知道如何在这里工作代码: static string deviceId = null; public static string DeviceName { get { if (String.IsNullOrEmpty(deviceId)) { using (RegistryKey key = Registry.LocalMachine.OpenSubKey(“Ident”, true)) { try { deviceId = key.GetValue(“Name”, “[Unnamed]”).ToString(); } catch (Exception e) { ErrorWrapper(“GetDeviceName”, e); deviceId = Dns.GetHostName(); } finally { key.Flush(); […]