`
文章列表
占位符 --------------------------------------------------------------------
作者: RayLinn 最近的项目里需要从索引颜色里取最接近的颜色,用下面的代码实现之: public static Color ScanNearestColor(Color color) { int leastDistance = int.MaxValue; int red = color.R; int green = color.G; int blue = color.B; byte colorIndex = 255; ...
WPF可以创建两种控件,它们的名字也很容易让人混淆:用户控件(User Control)和定制控件(Customer Control),之所以如此命名,是因为用户控件更面向控件的“使用者”,以方面他们利用现成的控件组合成新的控件,而客户控件,更便于定制化(Customization),方便创建有别于现有控件的定制控件。 定制控件提供了行为和表现完全分离的开发模式,具有很高的灵活性,当然,也更难一些。这里我们通过创建个简单的搜索控件来看看如何开发定制控件: 首先我们创建一个WPF应用,在同一个solution里,再添加一个用户WPF控件库。 系统会自动在控件库里创建一个UserContr ...
Ironruby是兼容ruby 1.8.6的.NET实现,自从1.0发布之后,Ironruby的发布速度大大加快,7月16日,ironruby发布了1.1版本,包含一系列重大更新。特别值得注意的是,ir 1.1并不完全兼容1.0,主要体现在, ir 1.1取消了对.NET2.0的支持,最低要求.NET 3.5,推荐使用.NET 4.0。 Ir 1.1的最大亮点是支持.NET的扩展方法。由于不支持扩展方法,IR 1.0无法使用.NET的LINQ等等诸多技术,现在Ir 1.1增加了using_clr_extensions 这个方法,可以无缝隙地调用引用的名称空间下的所有扩展方法。 比如: ...
其实从.NET设计之初中就有并行编程技术的一些实现---多线程技术。多线程最大的问题就是难于使用和管理。因为它的复杂性,往往使用我们把注意力分散在如何管理多线程上,而致使我们的最初目的被淡化了。 在.NET 4 中就引入 ...
在.NET Framework 4.0中,在库的层次上,微软提供了大量的新内容来帮助程序员完成应用程序的并行化,其中包括Parallel LINQ,Task Parallel Library和Coordination Data Structures,这些新的类型和类,在System.Threading,System.Threading.Tasks,System.Linq ...
随着多核计算机的普及,并行编程技术,也就是多核编程技术也逐渐称为开发的主流。为此,在.NET 4 中就引入了“并行编程”。在.NET 4 中一些列的Library和类为并行编程提供了支持,如:Task Parallel Library,Parallel LINQ等。 在.NET 1.0 ...
作者:Kenny Kerr  翻译:Ray Linn 在关于Direct2D技术的第三讲里,我将要展示其在互操作性上无与伦比的能力。我不打算遍历关于互操作性的所有细节,我想给你演示一个实际应用:分层窗口。分层窗口是那些已经久已存在且未被改 ...
DirectUI,一个Microsoft偷偷摸摸使用的框架,还不知道里头有神马东西。。。奇怪,既然有了WPF,为啥还要DirectUI? http://www.codeproject.com/KB/miscctrl/jobwnd.aspx http://www.codeproject.com/KB/macros/wlmplugin.aspx 也有哥们大神打算自己实现它 http://sourceforge.net/projects/directui/develop http://jameskeane.ca/directui
static int RunProgram(string exe, params string[] args) { ManualResetEvent mreProcessExit = new ManualResetEvent(false); ManualResetEvent mreOutputDone = new ManualResetEvent(false); ManualResetEvent mreErrorDone = new ManualRe ...
现在有许多“克隆”软件,可以对磁盘进行全盘复制。如果要制作磁盘镜像文件,DeviceIoControl就有了用武之地了。这里举一个制作软盘镜像文件,功能类似于“DISKCOPY”的例子。 本例实现其功能的核心代码如下: // 打开磁盘 HANDLE OpenDisk(LPCTSTR filename) { HANDLE hDisk; // 打开设备 hDisk = ::CreateFile(filename, // 文件名 GENERIC_READ | GENERIC_WRITE, // 读写方式 FILE_SHARE_READ | FILE_SHAR ...
在上面那个例子中,将设备名换成“A:”取A盘参数,先用资源管理器读一下盘,再运行这个程序可以成功,但换一张盘后就失败;换成“CDROM0”取CDROM参数,无论如何都不行。这个问题如何解决呢? 取软盘参数是从软盘上读取格式化后的信息,也就是必须执行读操作,这一点与硬盘不同。将CreateFile中的访问方式改为GENERIC_READ就行了。IOCTL_DISK_GET_DRIVE_GEOMETRY这个I/O控制码,对软盘和硬盘有效,但对一些可移动媒介如CD/DVD-ROM、TAPE等就不管用了。要取CDROM参数,还得另辟蹊径。IOCTL_STORAGE_GET_MEDIA_TYPES_E ...
在NT/2000/XP中,如果想用VC编写应用程序访问硬件设备,如获取磁盘参数、读写绝对扇区数据、测试光驱实际速度等,该从哪里入手呢? 在NT/2000/XP中,应用程序可以通过API函数DeviceIoControl来实现对设备的访问—获取信息,发送命 ...
做系统管理时,常常需要为网内的机器制作一些Image,利用VHD和VBOX,可以很方便地在Windows系统上快速安装操作系统。 用diskpart来操作VHD,进入diskpart之后: 1. 创建VHD create vdisk file=<filename> type=fixed maximum=<size> 2. 挂载VHD select vdisk file=<filename> attach vdisk 之后的操作和硬盘就完全一样了,比如创建分区、格式化、分配盘符、激活等等。 如果需要,可以如下卸载VHD select v ...
模式扩展 目前的Bing Maps的Silverlight控件,地图模式仅仅只支持路径模式(Road)和卫星模式(AerialMode),但是稍后的SilverLight控件1.0.1.0版,开发人员就可以在SilverLight应用中增加街景(Streetside)以及鸟瞰图(Bird's Eye)。
Global site tag (gtag.js) - Google Analytics