Tag: 紧凑框架

如何使用Compact Framework在C#中validationX.509证书

我正在尝试使用C#和.NetCFvalidationX.509证书。 我有CA证书,如果我理解正确,我需要使用此CA证书中的公钥来解密不受信任证书的签名。 这应该给我不受信任证书的计算哈希值。 然后我应该自己计算证书的哈希值并确保两个值匹配。 我已经玩了几天了,我没有走得太远。 我一直在使用X509Certificate和RSACryptoServiceProvider类。 首先,我尝试从X509Certificate类中获取公钥和签名。 我能够获得公钥而不是签名。 接下来,我尝试解析构成证书的二进制数据,这允许我获取签名(以及我想要的任何其他数据),但我无法使用RSACryptoServiceProvider解密签名。 我试过这样的事情,但在我试图解密的时候不断得到说“Bad Key”的exception: RSAParameters rsaParams = new RSAParameters(); rsaParams.Exponent = exp; rsaParams.Modulus = mod; RSACryptoServiceProvider rsaServ = new RSACryptoServiceProvider(); rsaServ.ImportParameters(rsaParams); byte[] decryptedSig = rsaServ.Decrypt(encryptedSig, false); 任何建议将不胜感激。 编辑:我尝试了似乎更好的东西,但返回了一个奇怪的结果。 我在这里使用X509Certificate2类,因为它更容易进行测试,但我需要稍后切换到.NetCF的X509Certificate。 我认为RSACryptoServiceProvider.VerifyData可能就是我所需要的。 我尝试了以下代码。 X509Certificate2 cert = new X509Certificate2(certBytes); X509Certificate2 certCA1 = new X509Certificate2(@”C:\certs\certCA1.cer”); byte[] encryptedSig = new byte[256]; Array.Copy(certBytes, certBytes.Length […]

CE上的抗锯齿DrawLine

我正在使用C#.NET 3.5在Windows CE中为Graphics对象绘制一条线。 我使用的代码如下所示: e.Graphics.DrawLine(new Pen(Color.FromArgb(11, 118, 200), 2), x1, y1, x2, y2); 然而,由于锯齿等,这看起来很糟糕。无论如何,我可以绘制抗锯齿线? 从我可以告诉Graphics对象本身不支持这个,但无论如何使用一些技巧“欺骗”这种效果?

禁用特定函数或代码块的编译器优化(C#)

编译器在优化RELEASE构建方面做得很好,但有时候确保为本地函数关闭优化(但不是通过取消Project Options > Optimize code来关闭整个项目)。 在C ++中,这可以通过以下方式实现( #pragma通常已注释掉): #pragma optimize( “”, off ) // Some code such as a function (but not the whole project) #pragma optimize( “”, on ) C#中有等价的吗? UPDATE 几个优秀的答案建议使用MethodImplOptions.NoOptimization装饰方法。 这是在.NET 3.5中实现的,但不是在Compact Framework(CF)版本中。 一个相关的后续问题是,是否相当于: * projects targeting .NET 3.0 or earlier? * projects deployed to a device such as Windows CE 6.0 […]

异步编程设计模式

我正在研究CF.NET的一个小技术框架,我的问题是,我应该如何编写异步部分? 阅读MSDN上的很多内容,但对我来说并不清楚。 所以,这是代码: public class A { public IAsyncResult BeginExecute(AsyncCallback callback) { // What should I put here ? } public void EndExecute() { // What should I put here ? } public void Execute() { Thread.Sleep(1000 * 10); } } 如果有人可以帮助我…… 谢谢 !

忽略排队的鼠标事件

我有一个用C#编写的针对.NET Compact Framework 3.5的应用程序,在Windows CE上运行。 有时会在UI线程上执行持续一秒左右的操作。 我当前设置Cursor.Current属性以指示应用程序正忙,但这不会阻止急切用户的鼠标事件排队。 这有时会导致意外点击。 在.NET Compact Framework平台上忽略排队鼠标消息的最佳方法是什么? 遗憾的是,代码必须在UI线程上运行。

C#删除目录

我正在使用.NET Compact Framework 3.5并希望删除一些特定的文件夹及其子文件夹。 当我运行应用程序时,它会给出IO exception 。 我试过使用Directory.Delete(path)方法,但它没有用。 我怎么解决这个问题? 这是我的代码: using System; using System.Diagnostics; using System.IO; using System.Linq; using System.Collections.Generic; using System.Windows.Forms; namespace Reset_Client { static class Program { static void Main(){ myfunc(); MessageBox.Show(“Cihaz resetlendi!”); } public static void myfunc() { string mainPath = @”\Storage Card\deneme”; try { DeleteDirectory(mainPath + “CRM”); DeleteDirectory(mainPath + “BHTS”); DeleteDirectory(mainPath […]

NET CF上的线程安全调用

我有一个运行后台线程来触发事件,但是如何使用NET CF确保线程安全地调用这些事件? 我会在.NET平台上使用ISyncronizeInvoke,但我在NET CF上找不到这个。 我确定有一个等效的….或?

如何在启动时隐藏我的SmartDevice应用程序?

我创建了一个在启动时运行的SmartDevice应用程序,我希望它在首次启动时隐藏。 我在Form Load()事件和InitializeComponent()尝试了this.Hide() , this.Visible = false和ShowWindow(Handle, SW_HIDE) InitializeComponent() ,没有运气。 任何帮助将不胜感激。

从移动设备获取Lan中的所有IP主机

我希望在移动设备(C#.net紧凑框架)上获得包含网络中所有IP地址的列表。 我读了几篇像这样的文章。 问题是,在我的移动设备上我无法ping它们异步因为我只有opennetcf,它不支持它。 ping它同步需要太长时间。 你知道一个图书馆这样做或者你知道吗,我怎么能找到我网络中的所有主机,甚至可能没有ping(这很慢) 端口没关系,我只是想知道,使用了哪些IP … 谢谢你,卡尔

C# – .NET和CF.NET的代码编译器

我有一个需要使用.NET和Compact .NET Framework编译的项目。 有可能创建一个C#编译器,用两个框架编译我的项目吗? CF.NET Framework中没有一些function,所以我自己创建它(创建与.NET Framework中具有完全相同名称和选项的类。如果我使用类似[CF35]的属性来解析这些类,则可以解析项目和: 使用CF.NET编译项目时使用此类 使用.NET编译项目时忽略此类 ? 感谢所有建设性的答案。 [编辑] 我知道解决方案包括创建两个引用相同文件的项目。 问题是,你应该每次都手动编译。 此外,当你将一个文件添加到一个文件时,你需要打开第二个文件并引用它,它只是无聊而且根据我们很多人来处理同一个项目,我想自动完成这个部分。 似乎可能吗? [编辑2]除了……资源文件外,一切正常! 所以,要恢复,我有三个项目: 开发项目(CF.NET) 发布项目(CF.NET 3.5),包括所有文件通过“” 发布项目(NET 3.5),包括所有文件“” 如上所述,一切正常,但现在我的问题是使用资源文件。 申请使用它的方法是什么? 当我使用开发项目时,正确检索资源文​​件 当我使用另外两个项目时,ResourceManager会抛出MissingManifestResourceException 任何的想法?