我正在使用.NET CF 3.5.我想要创建的类型没有默认构造函数,所以我想将一个字符串传递给重载的构造函数.我该怎么做呢?
码:
Assembly a = Assembly.LoadFrom("my.dll");
Type t = a.GetType("type info here");
// All ok so far, assembly loads and I can get my type
string s = "Pass me to the constructor of Type t";
MyObj o = Activator.CreateInstance(t); // throws MissMethodException
Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种算法来检测用户何时使用C#在WM6设备上吹入麦克风(如Ninentdo DS或iPhone).
我正在考虑使用Waveform实时读取麦克风到一个小缓冲区,但我对如何识别吹动声音感到有些迷失,我想这听起来像是白噪声.任何人都知道如何做到这一点?
任何帮助将不胜感激.
我正在寻找Compact Framework中遗漏的一系列内容,所以我不必绊倒每一个.例如,我刚刚发现Message结构不是直接可用的.没什么大不了的,但我花了一个小时的时间以为我做错了什么,因为所有的编译器都说"你错过了一个使用声明吗?".
我有一个Windows Mobile应用程序,我想在其中检查设备方向.因此,我在我的一个表单中写了以下属性:
internal static Microsoft.WindowsCE.Forms.ScreenOrientation DeviceOriginalOrientation { get; private set; }
Run Code Online (Sandbox Code Playgroud)
奇怪的是,每当我打开UserControl时,即使UserControl不使用该属性,设计器也会显示此警告:
无法加载文件或程序集"Microsoft.WindowsCE.Forms,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 969db8053d3322ac"或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
注释上述属性将关闭警告并再次显示用户控件.应用程序已成功构建,并且在两种情况下都可以正常运行.
有谁知道为什么会这样,我该如何解决?
如何获取Font特定设备使用的默认系统字体的对象?我注意到不同的设备有不同的分辨率和DPI,但我的一些控件有明确定义的字体.我希望能够在运行时获取默认的系统字体(好像我从未更改Font控件上的属性).
我有机会将目前使用.net 1.1的传统应用程序套件升级到最新的.net框架.
它使用OpenNETCF 1.4与移动设备通信.
是否值得从opennetCF ver 1.4升级到ver 2.3?
在这样做的时候,我是否应该期待重大的障碍/问题
要么
如果有人已经完成了升级,它是否无痛且有益?
该应用程序使用OpenNETCF.Desktop.Communication中的Rapi
PDA应用程序在Dell X51和HP IPaQ系列上运行
Hii ...有没有办法截取在WIN CE5.0设备屏幕上运行的应用程序的截图.Thanxxx提前....
当Windows Mobile应用程序(.NET 3.5)尝试使用IIS上托管的Web服务(也是用.NET 3.5编写)时,我们有一个现有的证书(全局标志)可以正常工作.
但是,当我们重新颁发证书(全局标志)时,Windows Mobile应用程序无法连接到Web服务,我们得到的错误是"无法与远程服务器建立信任关系".我曾尝试在Google上多次搜索此内容,但未找到合适的解决方法.
我们还尝试将链中的ROOT和中间证书复制(并安装)到设备,但这仍然无效.
当我们使用PC网络浏览器(IE,Firefox,Opera)测试新证书时,使用Web服务(.NET 3.5)的桌面应用程序,甚至Windows Mobile设备上的Internet Explorer .NET Web服务定义/文档页面显示没有问题(没有警告或错误),当使用紧凑框架(3.5)应用程序试图使用Web服务时,它似乎只是Windows移动设备上的一个问题.
我们已经验证证书是在SSL购物者网站上正确安装的,在我们谷歌搜索后,我们遇到并实施(作为测试)"信任所有"ICertificatePolicy处理程序,这解决了问题,但是我希望这个问题可以通过配置/设置更改来解决,而不是代码更改和超过150个基于Windows移动的设备的重新部署.
ICertificatePolicy管理员确实显示了在尝试验证证书时返回的错误:问题参数设置为:-2146762481(HEX中的0x800B010F),我认为这是"CN No MATCH"错误,但我搜索了这有数字,十六进制和名称形式,还没有找到除"信任所有"代码更改以外的解决方案.
首先,我将从我想要完成的任务开始,然后我将提供上下文详细信息:
当我选择开始调试时,我希望输出目录发生变化,具体取决于通过Windows Mobile Device Center连接的设备.澄清:从我们的安装程序安装工作正常,但从Visual Studio调试是给我带来问题的.
我正在使用Visual Studio 2008.该项目是一个用C#编写的用于Compact Framework 3.5的智能设备项目,目标是Windows Mobile 5.0 Pocket PC Device R2(根据项目设置).我发现当我定位此设备类型时,它可以在我们支持的所有Windows Mobile版本上正常工作.任何建议的解决方案都必须适用于Windows Mobile和Windows CE.
当我进入项目属性,并转到设备选项卡时,它显示输出文件文件夹:和输出的路径.如果我单击...按钮,我可以将其更改为不同的默认值,甚至将其设置为根文件夹,然后完全指定我想要的确切路径作为子目录.在大多数设备上,如果我将它保留在(设备默认值)或从下拉列表中选择程序文件文件夹,它可以正常工作.问题是当它在Windows CE设备上运行时,我们支持它需要从不同的位置运行.
可能的解决方案:
多项目解决方案:为不同的设备提供多个项目.这个问题是我不知道怎么做而不违反DRY原则,因为某些文件需要包含在输出中,我不想在不同的Start项目之间来回切换.
重新定义%CSIDL_PROGRAM_FILES%解决方案:更改%CSIDL_PROGRAM_FILES%含义,因为这可以在指定Program Files所在位置的输出路径中.但是,我不知道这是否可能或从哪里开始尝试这个.我想也许这将在设备注册表中定义,但我找不到它.
自定义路径变量解决方案:选择根文件夹,然后在子目录下以某种方式引用变量(可能通过以%?开头和结尾?)在我可以更改为我需要的路径中(可能来自后期构建或预部署(如果有这样的事情)脚本).我不知道这是否可能或从哪里开始.
任何帮助将不胜感激,谢谢!
编辑:
在做了一些挖掘后,我最好的猜测是%CSIDL_PROGRAM_FILES%Windows CE环境变量.我仍然不知道是否可以创建或修改这些.
compact-framework environment-variables windows-mobile-5.0 windows-ce visual-studio-2008
我们为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);
}
Run Code Online (Sandbox Code Playgroud)
此方法似乎在Windows Mobile中不可用.是否有另一种方法可以在Windows Mobile/CE上以编程方式确定这些值?
c# ×5
.net ×1
audio ×1
frameworks ×1
gdi ×1
handle-leak ×1
mobile ×1
opennetcf ×1
reference ×1
reflection ×1
system-font ×1
windows ×1
windows-ce ×1