![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.NET开发
china_bai
这个作者很懒,什么都没留下…
展开
-
C#杂谈
近日,重读《C#高级编程》 一书。目前还没读完。前年曾经用C#干过一个项目,是自己目前为止唯一的一次使用C#做项目。去年一年没怎么使用C#,很多的东西感觉又生疏了,所以重读这本书。我在使用C#的过程中,觉得最多的就是感觉使用起来方便,顺手,开发项目快。我以前曾经用VB6干过很多的项目,因此,C#使用起来感觉轻车熟路。我一直把C#看作是VB6的升级版本,而对于VB6的真正后续版本VB.NET原创 2007-01-20 15:49:00 · 661 阅读 · 0 评论 -
Vista下的COM权限提升
Vista上面的UAC功能,给很多COM组件的运行带了障碍,有时,必须把COM提升到Administrator权限下运行。 1, 修改COM组件的注册表: 实现COM权限提升,关键是给注册表中增加几个键值:HKEY_LOCALMAchine/Software/CLSID/{your COM clsid} 下 增加LocoalizedString,指定UAC控制中需要显示原创 2009-02-08 21:05:00 · 786 阅读 · 0 评论 -
搞定C++下的内存泄漏一个
用了昨天的一个下午和今天一个早晨,终于搞定了一个C++下的内存泄漏问题。1、问题的表象:VB程序运行两到三天,则提示内存不足。通过 NT下的内存管理器监视该进程,发现每隔几十秒到一分钟左右,则该进程占用的工作内存增加32K,显然是发生了内存泄漏。2、问题的分析:判断了一下在当前界面下,VB程序中最消耗内存的控件:一个是MSFlexGrid,一个是自己利用VC开发的绘图控件。 在VB原创 2008-01-11 21:41:00 · 603 阅读 · 0 评论 -
关于如何在VC中操作Word,以判断文档是否加密
问题:怎样判断word是否被加密?是WORD软件中设置的加密 。这个问题涉及到如何通过VC调用office的组件库,进而实现操作Word的问题。其实如果是在VB或者VBA里面进行调用,会比较的容易,使用VC相对的麻烦些。这和ADO是一样的,在VB里面调用很容易,结构清晰,在VC里面调用就复杂好多。具体的解决分下面几步:1、在VC中引入office组件库,把下面的代码放入到stdafx.原创 2008-02-28 14:00:00 · 3473 阅读 · 12 评论 -
C#和Java,王者争锋
C#.NET,微软全力基于.NET平台打造的号称更好的C++,或者叫C++ ++,而Java,则是目前的企业平台开发商的霸主,曾经被他的设计人员比喻为C++ --,即比C++要简单一些。二者都是脱胎于C++,都是完全的纯粹的面向对象的变成语言。在很多的设计理念上,也极为类似。Java由于出现的比较早,到目前已经有10多年的历史,先入为主,已经占据了统治地位,取得了有力地形,在现在的竞争中也原创 2007-09-27 13:15:00 · 491 阅读 · 0 评论 -
转:深入探讨C++中的引用
引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一转载 2007-09-19 10:23:00 · 577 阅读 · 0 评论 -
C#中的委托(delegate)
delegate,中文意为“委托”。是C#中新引入的一个概念。我个人的理解,delegate相当于C++中函数指针在OOP编程下的封装。delegate的用途,如同函数指针的功能一样,是为了在类似启动线程、通用库中的高阶函数、以及事件处理等场合中,把一个方法,或者说函数,作为一个参数来传递。delegate的实例,就是那个作为参数的方法。在C#中,delegate作为一种特殊的类而存在。原创 2007-06-13 22:03:00 · 758 阅读 · 0 评论 -
C#内存管理之托管堆与非托管堆
在C#中,托管堆和非托管堆的区别在于,在托管堆中,垃圾回收器回收完废弃的内存后,有一个压缩操作,即在垃圾回收器每次释放了不再被引用的对象后,都会检查堆中的内存分配情况,他会压缩其他对象,把它们都移动会到堆的端部,使所有的未分配内存再次形成一个连续的块。这样,在下次分配新的对象时,计算机就不必去搜索整个堆,以找到足够大的内存来存储新对象。在移动堆内的对象时,指向这些对象的所有引用都要用新的地址来原创 2007-08-30 15:03:00 · 1861 阅读 · 0 评论 -
C#中利用MSComm控件接收二进制数据
MSComm是微软开发的一款串行通讯控件,用来实现对串口通讯的封装。该控件使用起来非常的方便,简单,屏蔽了大量的底层细节,在VB6中广泛的应用。在C#和.NET环境下,仍然可以利用该控件轻松实现串口通讯。串口通讯的数据类型分为两种:Text模式(即字符串)和Binary模式(即二进制)。Text模式的接收比较好办,直接利用MSComm.Input.ToString()就可以实现,而Binary原创 2007-04-12 21:32:00 · 2950 阅读 · 4 评论 -
C#中对象的销毁和内存回收
在C++中,在堆上分配的内存必须手动回收。即new和delete操作符是要成对使用的。这种方式给程序员提供了强大而灵活的控制能力,程序员可以控制何时销毁对象,回收内存 。这种控制能力,令C++程序员感到自己对程序具有很强的驾驭能力,因此对此功能津津乐道。但是,这种手动回收机制,非常的难以控制,即使经验丰富的C++程序员,也难免疏漏,导致程序中发生内存泄露,轻则导致系统运行越来越慢,重则最终崩溃。这原创 2007-04-07 22:09:00 · 4567 阅读 · 0 评论