问题标签 [compact-framework2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3041 浏览

c# - System.Threading.Timer 没有启动?

我将 C# 与 Compact Framework 2 SP2 一起使用。

设备的操作系统设置为使用我的应用程序启动,我们将应用程序称为“Loader.exe”。

加载器就是这样:一个单一的、简单的表单,在整个加载过程中显示状态消息,如有必要(外行术语,即存在错误和异常消息,或“正在启动应用程序 [xyz]”),以及在后台运行的状态机同时显示一个基本的全屏形式。

所以 Loader 的表单的构造函数最后有以下内容

而且“RunStateMachine”确实在与 UI 不同的线程上工作,允许显示表单,并且任何时候 RunStateMachine 需要与表单交互,例如更新消息,我都会调用一个使用 if(this.InvokeRequired){this .Invoke(...);} 其他{...}

那么,我的问题?
间歇性地,我的程序会挂起,这是因为计时器没有触发回调。我在上面的 try 块中添加了调试消息,以及许多其他地方告诉我它挂断的位置,包括“RunStateMachine”最开始处的一条消息。最终,我的程序挂在“正在启动 GUI 初始化线程...”的消息上。

这告诉我线程计时器没有在我需要的时候运行。
我的理论是它在定时器触发回调之前被垃圾收集。这意味着如果计时器是全局的,然后在我到达 RunStateMachine 时显式处理,它将完美运行......但我不想认为我解决了它只是为了发现这个问题会在一个月后间歇性地出现。

想法?

0 投票
1 回答
2163 浏览

c# - 使用“CameraCaptureDialog”捕获并保存多张图像

我有一个定义用户控件 MPhotoControl 的 Windows Mobile(紧凑框架 2)应用程序。MPhotoControl 显示默认图像,当用户单击此图像时,将CameraCaptureDialog打开一个以允许捕获照片。捕获后,照片将显示在用户控件中。这适用于捕获单张照片然后返回应用程序。

问题是,当特定表单上有很多这些控件时,用户界面会变得非常不友好,因为用户必须显示相机对话框、拍照、保存和关闭表单上每个照片控件的对话框。用户所要求的是一种打开机制,CameraCaptureDialog在对话框关闭的情况下拍摄多张照片,直到所有照片控件都有图像。

我正在尝试实现这一点,但我没有看到一种方法来CameraCaptureDialog一次捕获和保存多张照片。据我所知这是不可能的,因为当我的 HTC Touch Diamond 上显示对话框时,我只有“接受照片”(箭头图标)、“再次拍摄”(相机图标)或“取消并关闭对话框”(垃圾箱图标)。当我单击箭头接受它时,它总是关闭对话框。

那么有没有人知道使用 一次捕获和保存多个图像的方法CameraCaptureDialog

然后我想尝试打开CameraCaptureDialog多次作为解决方法。因此,一旦保存了第一张图像,对话框就会立即再次打开以捕获第二张图像。这是我的代码,显示了我尝试解决方法:

这样做的问题是CameraCaptureDialog仍然只打开一次,随后对该ShowDialog方法的调用只是返回DialogResult.Cancel。那么,有谁知道为什么这种解决方法不起作用,以及是否可以在保存先前捕获的图像后立即重新打开对话框?

0 投票
0 回答
4008 浏览

.net - 找不到 PInvoke DLL SqlCeme35.dll?

我正在使用没有 GUI 的摩托罗拉设备 xr480。

当我尝试访问设备中的 .sdf 文件时,使用以下代码出现上述错误:

请指导我解决问题。

0 投票
3 回答
7988 浏览

compact-framework - 使用 C# compact 2.0 在 Windows CE 5.0 中获取当前目录

如何获取运行我的 EXE 的当前目录?我尝试了以下两个代码,但它们不起作用。

使用上面我得到错误“名称“Assembly”不存在......”

也不起作用。

编辑
好的,我找到了另一个有效的代码,但它给了我目录“\Windows”,但我的程序是从 SD 卡运行的。我将程序复制到设备上的“Program Files”文件夹,但它再次给了我目录“\Windows”。

如何获取当前目录或更具体地说如何获取 SD 卡/闪存路径?

0 投票
1 回答
1251 浏览

visual-studio-2008 - 覆盖 Visual Studio 2008 MSBuild 版本

编译项目时是否可以更改 Visual Studio 2008 使用的 msbuild 版本?

我想将其设置为使用 msbuild 4.0。

这背后的原因是能够导入我们的 VS2012 项目用于恢复 nuget 包的相同 .targets 文件。这些项目无法升级到 VS10+,因为它们是智能设备项目。

我尝试手动编辑原始目标文件,但 msbuild 3.5 中缺少太多功能,我无法解决它们。

更新:

原始 .targets 文件还使用了 nuget.exe 文件的自动下载功能,使用了 MSBuild 3.5 中不支持的代码任务,因此应该考虑这一点。

0 投票
1 回答
522 浏览

c# - 在 C# 中调用非托管代码并打印图像

我需要通过 CF 2.0 使用 windows mobile 6.5(带打印机)在设备中打印图像,并且我有 c++ 头文件,并且我还包装了调用非托管代码的类: 问题:即使我读到这个,我也不知道如何打印图像文档 文档中

  1. PRNAPI UINT WINAPI PrinterLoadImageFile (LPCTSTR pszFile); 描述:读取图像文件。返回: PRINTER_OK: Success PRINTER_ERROR: Errors Argument: LPCTSTR pszFile: [in] file to read
  2. PRNAPI UINT WINAPI PrinterImage (int nMode); 描述:打印图像。返回: PRINTER_OK: Success PRINTER_ERROR: Errors 参数: int nMode: [in] 设置图像打印模式。PRINTER_IMAGE_NORMAL:200 * 200 dpi 默认 PRINTER_IMAGE_DOUBLEWIDTH:100 * 200 dpi PRINTER_IMAGE_DOUBLEHEIGHT:200 * 100 dpi PRINTER_IMAGE_QUADRUPLE:100 * 100 dpi
  3. PRNAPI UINT WINAPI PrinterCloseImageFile (); 描述:删除阅读图像。返回: PRINTER_OK:成功 PRINTER_ERROR:错误
  4. PRNAPI LPCTSTR WINAPI PrinterGetImageName (); 描述:获取读取的图像名称。返回: LPCTSTR: [out] 文件名

我确实附带了这个包装器.net代码

h文件的一部分:

当我调用此代码时

我在 PrinterLoadImageFile 中遇到错误(错误代码 1000 表示打印错误)。所以任何人都可以知道我的错误在哪里。对不起我的英语不好 。

0 投票
2 回答
586 浏览

c# - 使用 EventHandler 更新主线程中的控件

我正在使用它从另一个线程更新主线程中的控件:

我想知道这样做有什么影响,或者是否有失败的风险?

从许多例子中,我找不到这样的同一件事。

可能是它完全是错误的?

0 投票
1 回答
435 浏览

c# - 计时器仅在表单关闭后启动

我目前正在开发一个在装有 MS Compact Framework 2.0 的 Windows CE 5 设备上运行的 C# 应用程序。在这个应用程序中,我通过 BeginInvoke 从键盘挂钩异步调用单例对话框:

在对话框的显示方法中我想将焦点设置到某个控件。由于 Win CE 设备非常慢,我必须使用计时器来延迟 Focus() 的执行:

不幸的是,这不起作用。关闭对话框后,计时器就会立即执行。我究竟做错了什么?

预先感谢您的任何帮助!

编辑:这是对话框的整个 display() 方法:

0 投票
1 回答
1378 浏览

windows-mobile - Intermec CK30 BarcodeReader 错误

我正在为 Intermec CK3 和 CK30 使用 .NET CF 2.0 开发应用程序。

我正在为两个版本的应用程序使用最新且相同版本的 IntermecDataCollection,并使用相同的代码来读取条形码。

该应用程序在 CK3(最新型号)上完美运行,但是当我尝试使用 CK30 读取某些内容时,结果是与预期不同的代码。

通常一些字符出现在正确的代码前面,但在某些情况下,结果与原来的完全不同。

已经成功使用谷歌搜索。

谁能帮我?

在 CK3 而不是 CK30 上工作的代码示例:

0 投票
3 回答
8116 浏览

c# - 在文件夹中查找名称相同但扩展名不同的文件

我有一个 FTP 服务器,它将客户端发送/上传的文件存储在某个文件夹中。客户端将上传 3 个名称相同但扩展名不同的文件。例如,客户端将发送file1.ext1、file1.ext2 和file1.ext3。我正在寻找一段代码,它可以帮助我找到具有相同名称(“file1”)的文件,然后压缩它们。任何帮助表示赞赏。我编写了这段代码,它获取文件夹中所有文件的名称: