摘要:
有了前两篇后,我们在这里面建立一个测试项目。简单的设备管理器:)界面如下图:源码项目下载地址:http://download.csdn.net/source/352079。 阅读全文
摘要:
通过上一篇“通过API实现C#对硬件的控制(一)” 我们掌握了我们所需要的相关API知识点。为此,我们现在来构建我们自己的外部调用类:Externs。由于有上一篇的详细说明,该处不再一一说明相关的函数知识点。下面是该类的代码:using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;namespace Hardware...{ /**//// summary /// 下列所需函数可参考MSDN中与驱动程序相关的API函数 /// /summary 阅读全文
摘要:
最近在做项目的过程中,涉及到对硬件启用及禁用的功能(在指定时间段内才能启用硬件)。因为C#自身对硬件的操作基本为零,为此,搜索了一下MSDN中与设备相关的API函数。还果然就有。下面一一列举出各函数的原型及相关的说明文档。并将其转为C#代码实现。函数一: RegisterDeviceNotification功能:注册设备或者设备类型,在指定的窗口返回相关的信息原型:HDEVNOTIFY WINAPI RegisterDeviceNotification( __in HANDLE hRecipient, __in LPVOID NotificationFilter, __in DWORD Fla 阅读全文
摘要:
.net 框架程序可以通过静态 DLL 入口点的方式来访问本机代码库。DllImport 属性用于指定包含外部方法的实现的dll 位置。 DllImport 属性定义如下: namespace System.Runtime.InteropServices { [AttributeUsage(AttributeTargets.Method)] public class DllImportAttribute: System.Attribute { public DllImportAttribute(string dllName) {...} public CallingConvention 阅读全文
摘要:
转自:http://hacker.cnblogs.com/archive/2004/08/12/32563.aspx1, PInvoke什么意思? Platform Invocation Services2, 干什么用? 导入外部函数?什么是外部函数,就是不属于.Net托管的函数。3,如何用?看下面的例子。用[DllImport(dllname)]来实现,但是首先要把System.Runtiime.InteropServices using进来。但是不using也行,就要敲全称,随你便了。[DllImport("user32.dll")]staticexternintMessageBoxA(i 阅读全文
摘要:
前言在我们应用程序开发过程中,经常会遇到一些问题,需要使用多线程技术来加以解决。本文就是通过几个示例程序给大家讲解一下多线程相关的一些主要问题。执行长任务操作 许多种类的应用程序都需要长时间操作,比如:执行一个打印任务,请求一个 Web Service 调用等。用户在这种情况下一般会去转移做其他事情来等待任务的完成,同时还希望随时可以监控任务的执行进度。?/P 下面的代码片断示例了当长任务执行时用户界面是如何被更新的。// 显示进度条void ShowProgress( int totalStep, int currentStep ){_Progress.Maximum = totalS 阅读全文
摘要:
编程入门文章:http://www.bianceng.cn/Programming/F_Sharp/index3.htm开源站:www.codeplex.com www.codeproject.com www.sourcecode.com www.OpenNetCf.com/orgMSDN网络广播首页:http://msdn.microsoft.com/zh-cn/dd796167.aspxGoogleEarth COM API:http://earth.google.com/comapi/GoogleMap:http://code.google.com/p/donetgooglemapsap 阅读全文
摘要:
我们身在何处?前面写过的随笔主要关注的是F#与FP的基本概念,对UI涉及很少。我们知道,没有UI就没法与用户进行交互,所以写两篇随笔来了解一下这方面的内容。本文主要关注的是如何使用F#开发WinForm应用程序,后面还会介绍如何使用F#开发ASP.NET应用程序。不过说真的,我对WinForm开发了解不多,所以如果有不妥之处,欢迎您的指正。WinForm中的基础类型是System.Windows.Forms.Form类,通过它我们可以创建一个窗体,在窗体上我们可以根据需要进行绘制。绘制的时候我们可以选择使用.NET提供的API手工“画”出一些图形,比如像素着色、直线、圆等等,也可以使用.NET 阅读全文
摘要:
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常情况下,一个单元测试(用例)用于判断某个特定条件(或场景)下特定函数的行为。如果想对单元测试的好处有更多的了解,可以看一下单元测试实战。在.NET社区内,NUnit无疑是最经典的单元测试工具,要了解它的用法,建议看一下园子里的一篇很棒的文章NUnit详细使用方法。本文对此不再赘述。另外MbUnit作为后起之秀,也很值得一试。在F#中, LOP(Language-OrientedProgramming)是它的一个亮点,而FsUnit则是LOP的一个很好的实践。FsUnit使用F#开发,用它编写的测试用例会接 阅读全文
摘要:
列表(List)是函数式编程(FP)的基础。事实上,FP的重要代表Lisp的名字即源自“ListProcessing”,它的发明者JohnMcCarthy于1960年发表的论文向我们展示了,在只给定几个简单的操作符和一个表示函数的记号的基础上,如何构造出一个完整的编程语言,他的主要思想之一是用一种简单的数据结构列表来表示代码和数据。链表(Linked list)是Lisp的主要数据结构之一,并且Lisp的源代码本身也由列表构成。F#中的列表类型表示为链表,它与C#中的数组、泛型ListT类型有着明显的不同。链表可以用下面的图表示:首先我们来看一下FP中列表的基本操作(其中的代码都由F#实现 阅读全文