|
|
|
|
|
11 2011 档案
浅析C#异步操作
摘要:这里介绍开始C#异步操作后如果要阻止应用程序,可以直接调用 End 方法,这会阻止应用程序直到异步操作完成后再继续执行。 .NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习...
阅读全文
浅析C#异步操作
摘要:这里介绍开始C#异步操作后如果要阻止应用程序,可以直接调用 End 方法,这会阻止应用程序直到异步操作完成后再继续执行。.NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习前者概述IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本Begin 方法包含同步方法签名中的任何
阅读全文
C#中给RichTextBox加上背景图片
摘要:在系统自带的RichTextBox中是无法给它设置背景图片,但是我们在某些场合可能需要给RichTextBox设置背景图片。那么怎么实现这一想法呢?经过研究发现通过其它巧妙的途径可以给RichTextBox设置背景图片。首先将RichTextBox这个控件加以改写。具体改写的代码如下:publicpartialclassrichTextBoxEx : RichTextBox{publicrichTextBoxEx(){InitializeComponent();base.ScrollBars = RichTextBoxScrollBars.None; }publicrichTextBoxEx.
阅读全文
C#中给RichTextBox加上背景图片
摘要:在系统自带的RichTextBox中是无法给它设置背景图片,但是我们在某些场合可能需要给RichTextBox设置背景图片。那么怎么实现这一想法呢?经过研究发现通过其它巧妙的途径可以给RichTextBox设置背景图片。首先将RichTex...
阅读全文
一个实例明白AutoResetEvent和 ManulResetEvent的用法
摘要:先看一段代码: public class WaitHandlerExample { public static AutoResetEvent waitHandler; ...
阅读全文
一个实例明白AutoResetEvent和 ManulResetEvent的用法
摘要:先看一段代码:public class WaitHandlerExample {public static AutoResetEvent waitHandler;public static ManualResetEvent manualWaitHandler;public static void ThreadPoolMain() {waitHandler = new AutoResetEvent(false);manualWaitHandler = new ManualResetEvent(false);// Queue the task.ThreadPool.QueueUserWorkIte
阅读全文
Tcp/IP 端口耗尽
摘要:原文链接:http://msdn.microsoft.com/zh-cn/library/aa560610(v=bts.10).aspx 本文内容:1.查看端口使用状况的方法;2、端口耗尽所带来的问题;3、解决办法 当客户端启动到服务器的 TCP/IP 套接字...
阅读全文
Tcp/IP 端口耗尽
摘要:原文链接:http://msdn.microsoft.com/zh-cn/library/aa560610(v=bts.10).aspx本文内容:1.查看端口使用状况的方法;2、端口耗尽所带来的问题;3、解决办法当客户端启动到服务器的 TCP/IP 套接字连接时,客户端通常连接到服务器上的特定端口,并请求服务器通过临时(或暂时)TCP 或 UDP 端口进行响应。在 Windows Server 2003 和 Windows XP 中,客户端应用程序所使用的临时端口的默认范围为 1025 到 5000。在某些情况下,有可能耗尽默认范围的可用端口。TCP/IP 端口耗尽的症状随客户端应用程序的不同
阅读全文
C#防止在画面上闪烁的Button
摘要:当在winform中放置很多Button控件,并且画面还有背景,每个Button都还有背景的时候,显示画面时就会产生闪烁的效果,如果机器性能好的话,画面会比较快的加载完,闪烁的情况不会很明显,但是如果机器性能不佳的话,则会给用户很差的体验。即使画面和Button采用了双缓存,效果也不明显。因此需要对C#中的Button加以重载并重写部分代码。就可以避免这种情况发生了。废话不多说了,代码如下:public class ButtonEx : Button { public ButtonEx() { } //基类的方法不能用 protected override void OnPaintBack..
阅读全文
C#防止在画面上闪烁的Button
摘要:当在winform中放置很多Button控件,并且画面还有背景,每个Button都还有背景的时候,显示画面时就会产生闪烁的效果,如果机器性能好的话,画面会比较快的加载完,闪烁的情况不会很明显,但是如果机器性能不佳的话,则会给用户很差的体验。即使...
阅读全文
C# API 如何保证使用托管对象的平台调用成功
摘要:三、如何保证使用托管对象的平台调用成功? 如果在调用平台 invoke 后的任何位置都未引用托管对象,则垃圾回收器可能将完成该托管对象。这将释放资源并使句柄无效,从而导致平台invoke 调用失败。用 HandleRef 包装句柄可保证在平台 invoke 调...
阅读全文
C# API 如何保证使用托管对象的平台调用成功
摘要:三、如何保证使用托管对象的平台调用成功?如果在调用平台 invoke 后的任何位置都未引用托管对象,则垃圾回收器可能将完成该托管对象。这将释放资源并使句柄无效,从而导致平台invoke 调用失败。用 HandleRef 包装句柄可保证在平台 invoke 调用完成前,不对托管对象进行垃圾回收。例如下面:FileStream fs = new FileStream( "a.txt", FileMode.Open );StringBuilder buffer = new StringBuilder( 5 );int read = 0;ReadFile(fs.Handle, bu
阅读全文
C# API 调用格式和参数类型
摘要:一、调用格式 using System.Runtime.InteropServices; //引用此名称空间,简化后面的代码 //使用DllImportAttribute特性来引入api函数,注意声明的是空方法,即方法体为空。 [DllImport("user...
阅读全文
C# API 调用格式和参数类型
摘要:一、调用格式using System.Runtime.InteropServices; //引用此名称空间,简化后面的代码//使用DllImportAttribute特性来引入api函数,注意声明的是空方法,即方法体为空。[DllImport("user32.dll")]public static extern ReturnType FunctionName(type arg1,type arg2,...);//调用时与调用其他方法并无区别可以使用字段进一步说明特性,用逗号隔开,如:[ DllImport( "kernel32", EntryPoint=
阅读全文
C#中判断系统的网络连接状态的方法
摘要:在C#中可以使用多种方法来判断网络的连接状态,比如使用WIN32的API来判断,也可以直接Ping某个网址来判断。下面来介绍下我最进行写的一个判断网络连接的方法类,使用了Wine32的API函数与Ping.Send结合的方法,代码如下:using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.Net.NetworkInformation;namespace TestNetConnectWin32{ public class .
阅读全文
C#中判断系统的网络连接状态的方法
摘要:在C#中可以使用多种方法来判断网络的连接状态,比如使用WIN32的API来判断,也可以直接Ping某个网址来判断。 下面来介绍下我最进行写的一个判断网络连接的方法类,使用了Wine32的API函数与Ping.Send结合的方法,代码如下: u...
阅读全文
SQL Server2005创建新数据库时不允许创建新数据库的问题
摘要:今天早上来公司后,突然发现SQL Server2005出了问题,在管理器中居然不能创建新数据库了,使用SQL语句创建也不行,昨天还好好的,还弹出了如下对话框: 使用SQL语句创建SQL Server则显示如下错误: 不允许创建新数据库 消息...
阅读全文
SQL Server2005创建新数据库时不允许创建新数据库的问题
摘要:今天早上来公司后,突然发现SQL Server2005出了问题,在管理器中居然不能创建新数据库了,使用SQL语句创建也不行,昨天还好好的,还弹出了如下对话框:使用SQL语句创建SQL Server则显示如下错误:不允许创建新数据库消息 3609,级别 16,状态 2,第 2 行事务在触发器中结束。批处理已中止。在百度,Google了很久后没有找到解决方案,不得已将SQL Server卸载了并重新安装了一遍,问题得到了解决。
阅读全文
Asp.net MVC3学习案例
摘要:推荐给学习Asp.net MVC3的入门者2个不错的入门案例ASP.NET MVC3实例项目Music Store分析系列http://www.cnntec.com/showtopic-2481.htmlAsp.net MVC 3实例学习之ExtShop系列Asp.net MVC 3实例学习之ExtShop(一)————创建应用并设置开发环境http://blog.csdn.net/tianxiaode/article/details/6145408
阅读全文
Asp.net MVC3学习案例
摘要:推荐给学习Asp.net MVC3的入门者2个不错的入门案例 ASP.NET MVC3实例项目Music Store分析系列 http://www.cnntec.com/showtopic-2481.html Asp.net MVC 3实...
阅读全文
想要成功,请记住!
摘要:文章写的太经典了,有必要让更多的人了解,也为让自己谨记,转了。 一双鞋,耐克的6百多;李宁的4百多;特步的3百多;361的2百多;所以,你毕业于一个什么样的大学很重要。 一双鞋,在地摊不过几十元,到了商场、专卖店,会涨到一百甚至几百。所以,你呆在什么地方很重要。 一双鞋,只有合脚并且合意了才能卖出去。所以,沟通了解很重要。 一双鞋,少了一只,是不值钱的。所以,另一半很重要。 一双鞋,样式老的,大多很便宜。所以,更新自己的知识很重要。 一双鞋,积压多年,只能打折处理。所以,碰到合适的就结婚吧。 一双鞋, 有人3、5年如新的,有人不到一年穿烂的。所以,有个好上司很重要。1,这是个现实的社会,感情不
阅读全文
想要成功,请记住!
摘要:文章写的太经典了,有必要让更多的人了解,也为让自己谨记,转了。 一双鞋,耐克的6百多;李宁的4百多;特步的3百多;361的2百多;所以,你毕业于一个什么样的大学很重要。 一双鞋,在地摊不过几十元,到了商场、专卖店,会涨到一百甚至几百。所以,...
阅读全文
如何在C#中使用Win32和其他库之三
摘要:具有内嵌字符数组的结构某些函数接受具有内嵌字符数组的结构。例如,GetTimeZoneInformation() 函数接受指向以下结构的指针:typedef struct _TIME_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[ 32 ]; SYSTEMTIME StandardDate; LONG StandardBias; WCHAR DaylightName[ 32 ]; SYSTEMTIME DaylightDate; LONG ...
阅读全文
如何在C#中使用Win32和其他库之三
摘要:具有内嵌字符数组的结构 某些函数接受具有内嵌字符数组的结构。例如,GetTimeZoneInformation() 函数接受指向以下结构的指针: typedef struct _TIME_ZONE_INFORMATION { LONG...
阅读全文
如何在C#中使用Win32和其他库之二
摘要:简单字符串 下面是一个接受字符串参数的函数的简单示例: BOOL GetDiskFreeSpace( LPCTSTR lpRootPathName, // 根路径 LPDWORD lpSectorsPerCluster, ...
阅读全文
如何在C#中使用Win32和其他库之二
摘要:简单字符串下面是一个接受字符串参数的函数的简单示例:BOOL GetDiskFreeSpace( LPCTSTR lpRootPathName, // 根路径 LPDWORD lpSectorsPerCluster, // 每个簇的扇区数 LPDWORD lpBytesPerSector, // 每个扇区的字节数 LPDWORD lpNumberOfFreeClusters, // 可用的扇区数 LPDWORD lpTotalNumberOfClusters // 扇区总数);根路径定义为 LPCTSTR。这是独立于平台的字符串指针。由于不...
阅读全文
如何在C#中使用 Win32和其他库
摘要:如何在C#中使用 Win32和其他库 这一次我们将深入探讨如何在 C# 中使用 Win32 和其他现有库。 C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以...
阅读全文
如何在C#中使用 Win32和其他库
摘要:如何在C#中使用 Win32和其他库 这一次我们将深入探讨如何在 C# 中使用 Win32 和其他现有库。 C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先处理最重要的部分。许多常用操作都有托管接口,但是还有许多完整的 Win32 部分没有托管接口。 ...
阅读全文
在本机通过SQL远程操作数据库
摘要:/*在本机通过SQL远程操作数据库@@@@@@@@@@@@@@@@@@@@@@@@@@*/declare @ServerName sysname declare @UserName sysname declare @Password sysname --初始化连接信息 set @ServerName='192.168.223.90\sql2008' set @UserName='sa'set @Password='Wj1234567892' --打开连接 IF not EXISTS (select srvid from master.dbo.sy
阅读全文
在本机通过SQL远程操作数据库
摘要:/* 在本机通过SQL远程操作数据库@@@@@@@@@@@@@@@@@@@@@@@@@@ */ declare @ServerName sysname declare @UserName sysname decl...
阅读全文
关于Socket通讯时通讯协议的制定
摘要:在系统开发过程中,如果涉及到了Socket通讯,那就要制定好通讯的协议,只有制定好了规则,后面的工作才方便顺利展开,制作通讯协议时要考虑到通讯的安全性,必要的信息要经过加密处理,同时也要考虑到系统的可扩展性,如果以后需要增加一个命令或者修改...
阅读全文
关于Socket通讯时通讯协议的制定
摘要:在系统开发过程中,如果涉及到了Socket通讯,那就要制定好通讯的协议,只有制定好了规则,后面的工作才方便顺利展开,制作通讯协议时要考虑到通讯的安全性,必要的信息要经过加密处理,同时也要考虑到系统的可扩展性,如果以后需要增加一个命令或者修改命令要保证这些工作能方便的进行。 协议的内容包括如下:一、 系统默认约定1. 本协议使用的字符串,如密码,位数为6位。2. 通讯方式:TCP、UDP。本协议默认为TCP/IP方式。3. 在线检测包、同步信息包,主要应用于TCP/IP长连接模式下,要求由终端(winform)发起,服务端作命令回馈。实时信息包,主要应用于TCP/IP短连接模式下,要求由终端(.
阅读全文
C# 实现屏幕键盘 (ScreenKeyboard)
摘要:要实现一个屏幕键盘,需要监听所有键盘事件,无论窗体是否被激活。因此需要一个全局的钩子,也就 是系统范围的钩子。 什么是钩子(Hook) 钩子(Hook)是Windows提供的一种消息处理机制平台,是指在程序正常运行中接受信息之前预先 启...
阅读全文
C# 实现屏幕键盘 (ScreenKeyboard)
摘要:要实现一个屏幕键盘,需要监听所有键盘事件,无论窗体是否被激活。因此需要一个全局的钩子,也就是系统范围的钩子。什么是钩子(Hook) 钩子(Hook)是Windows提供的一种消息处理机制平台,是指在程序正常运行中接受信息之前预先 启动的函数,用来检查和修改传给该程序的信息,(钩子)实际上是一个处理消息的程序段,通 过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获 该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不 作处理而继续传递该消息,还可以强制结束消息的传递。注意:安装钩子函数将会影响系统的性 能。监测“系统范围事件”的
阅读全文
利用Windows API获得系统高级功能
摘要:利用WindowsAPI获得系统高级功能 邹刚 VB无疑是最先进的编程工具之一,但在涉及windows32位系统的核心编程方面——譬如一些高级功能的实现上,它仍然显得有些力不从心,这需要我们充分利用vb的强大的WindowsAPI函数调用能力来弥补。以下代码将向您展示如何利用WindowsAPI控制系统托盘(图标)区、开始菜单、任务栏以及禁用/起用ctrl-alt-del、退出网络登录、立即关机、重新启动等系统高级功能。 启动VB6,建立一个标准exe工程,添加14个command按钮,caption属性依次为“隐藏开始菜单”、“显示开始菜单”、“隐藏系统托盘”、“显示系统托盘”、“禁用...
阅读全文
利用Windows API获得系统高级功能
摘要:利用Windows API获得系统高级功能 邹刚 VB无疑是最先进的编程工具之一,但在涉及windows 32位系统的核心编程方面——譬如一些高级功能的实现上,它仍然显得有些力不从心,这需要我们充分利用vb的强大的Windows API函数调用...
阅读全文
Windows API 技巧集
摘要:一)不规则窗口 Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,再用API函数SetWindowRgn改变窗口的区域。这些API函数在C++ Builder中包含在头文件wingdi.h和winuser.h里面,因此,要使用这些API函数就要先在程序头部加上包含头文件的语句:include <wingdi.h>include <winuser.h> SetWindowRgn函数能改变一个窗口的区域,该函数有三个参数,第一个参数hWnd是欲设置区域的窗口句
阅读全文
Windows API 技巧集
摘要:一)不规则窗口 Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,再用API函数SetWindowRgn改变窗口的区域。这些API...
阅读全文
关于句柄的一些知识
摘要:控制(control)、字体(font)、资源(resource),包括图标(icon),光标 (cursor),字符串(string)等、GDI对象(GDI object),包括位图(bitmap),画刷(brush),元文件(metafile),调色板(palette),画笔(pen),区域 (region),以及设备描述表(device context)。 <<WINDOWS编程短平快>>(南京大学出版社): 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等.
阅读全文
关于句柄的一些知识
摘要:句柄的本质 一、书上定义: >(Microsoft Press,by Richard Wilton) 在Windows环境中,句柄是用来标识项目的,这些项目包括:模块(module)、任务(task)、实例 ...
阅读全文
图片管理类ImgCmdUtils
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; using System.Drawing.I...
阅读全文
图片管理类ImgCmdUtils
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;using System.IO;using System.Web;namespace Common.Utilities{ /// <summary> /// 图片管理类 /// </summary> public class ImgCmdUtils
阅读全文
构造获取分页操作SQL语句
摘要:构造获取分页操作SQL语句 /// <summary> /// 获取分页操作SQL语句(对于排序的字段必须建立索引,优化分页提取方式) /// </summary> /// <param name="tblName">操作表名称</param> /// <param name="fldName">排序的索引字段</param> /// <param name="PageIndex">当前页</param> /// <param nam
阅读全文
构造获取分页操作SQL语句
摘要:构造获取分页操作SQL语句 /// /// 获取分页操作SQL语句(对于排序的字段必须建立索引,优化分页提取方式) /// /// 操作表名称 /// 排序的索引字段 ...
阅读全文
C#中文件操作类FileUtil
摘要:public class FileUtil { /// /// 换行符 /// public static string NewLine = "\r\n"; #reg...
阅读全文
C#中文件操作类FileUtil
摘要:public class FileUtil { /// <summary> /// 换行符 /// </summary> public static string NewLine = "\r\n"; #region 检测指定目录是否存在 /// <summary> /// 检测指定目录是否存在 /// </summary> /// <param name="directoryPath">目录的绝对路径</param> public static bool IsExistDirecto
阅读全文
关于Control的Invoke方法的使用
摘要:关于Invoke方法的解释,我们首先看看MSDN中详细解释,Control.Invoke Method (Delegate)Executes the specified delegate on the thread that owns the control's underlying window handle.翻译:在属于这个控件的窗体的句柄的线程下执行这个指定的代理。英文水平有限,请大家不要笑啊。public Object Invoke( Delegate method
)methodType: System.Delegate(委托类型)A delegate that contai
阅读全文
关于Control的Invoke方法的使用
摘要:关于Invoke方法的解释,我们首先看看MSDN中详细解释, Control.Invoke Method (Delegate) Executes the specified delegate on the thread that owns ...
阅读全文
DES加密/解密类
摘要:/// <summary> /// DES加密/解密类。 /// </summary> public class DESEncrypt { public DESEncrypt() { } #region ========加密======== /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static string Encrypt(
阅读全文
DES加密/解密类
摘要:/// /// DES加密/解密类。 /// public class DESEncrypt { public DESEncrypt() { } ...
阅读全文
C# API
摘要:C:/ProgramFiles/MicrosoftVisual Studio .NET/ FrameworkSDK/Samples/ Technologies/ Interop/PlatformInvoke/ WinAPIs/CS目录下有大量的调用API的例子。一、调用格式using System.Runtime.InteropServices; //引用此名称空间,简化后面的代码//使用DllImportAttribute特性来引入api函数,注意声明的是空方法,即方法体为空。[DllImport("user32.dll")]public static extern Re
阅读全文
C# API
摘要:C:/ProgramFiles/MicrosoftVisual Studio .NET/ FrameworkSDK/Samples/ Technologies/ Interop/PlatformInvoke/ WinAPIs/CS 目录下有大量的调用 API...
阅读全文
Invoke and BeginInvoke
摘要:在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate。 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。Windows GUI程序的消息循环Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的while循环使用了GetMessage()这个方法,
阅读全文
Invoke and BeginInvoke
摘要:在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate。 一、为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己...
阅读全文
C#文件路径操作总结
摘要:一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory() 获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:/www里,这个函数有可能返回C:/Documents and Settings/ZYB/,或者C.
阅读全文
C#文件路径操作总结
摘要:一、获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。 2. System.Environme...
阅读全文
C#判断常见类型格式是否正确的类
摘要://C#判断常见类型格式是否正确的类 public class GF_IsOk { /// <summary> /// 判读是否是IP地址 /// </summary> /// <param name="in_str"></param> /// <returns></returns> public static bool IsIPStr(string in_str) { IPAddress ip; return IPAddress.TryParse(in_str, out ip); } /// <
阅读全文
C#判断常见类型格式是否正确的类
摘要://C#判断常见类型格式是否正确的类 public class GF_IsOk { /// /// 判读是否是IP地址 /// /// /// ...
阅读全文
C#中各种数据类型转换的方法的类
摘要://各种数据类型转换方法的类 public class GF_Convert { /// /// 字符串 转换 char数组 /// /// /// ...
阅读全文
C#中各种数据类型转换的方法的类
摘要://各种数据类型转换方法的类 public class GF_Convert { /// <summary> /// 字符串 转换 char数组 /// </summary> /// <param name="in_str"></param> /// <param name="in_len"></param> /// <returns></returns> public static char[] string2chararray(string in_str,
阅读全文
C#对系统注册表操作的类
摘要:using System;using System.Collections.Generic;using System.Text;using Microsoft.Win32; //对注册表操作using System.Collections; //使用Arraylistusing System.Security.Cryptography;//加密解密using System.IO; //文件操作using System.Runtime.InteropServices;//调用DLL DllImportusing System.Management; //获取硬件信息using System.Ne
阅读全文
C#对系统注册表操作的类
摘要:using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; //对注册表操作 using System.Collections; //使用A...
阅读全文
VB.Net C#代码转换工具
摘要:最常用C#转换为VB.NEThttp://www.developerfusion.co.uk/utilities/convertcsharptovb.aspxVB.NET转换为C#http://www.developerfusion.com/utilities/convertvbtocsharp.aspx1http://www.kamalpatel.net/(最常用的,不过对于16进制的Int不能正常转换)在线版:VB.Net =>C#http://www.ellkay.com/ConvertVB2CSharp.htmC#=>VB.Nethttp://www.kamalpatel.
阅读全文
VB.Net C#代码转换工具
摘要:最常用 C#转换为VB.NET http://www.developerfusion.co.uk/utilities/convertcsharptovb.aspx VB.NET转换为C# http://www.developerfusion.com/utili...
阅读全文
Socket基础知识分享
摘要:Socket Programming Considerations 写Socket程序的时候需要注意设置下面的timeout,避免对方没有响应的时候,导致Socket程序挂起或等待时间过长 1.1 Accept Timeout Accep...
阅读全文
Socket基础知识分享
摘要:Socket Programming Considerations写Socket程序的时候需要注意设置下面的timeout,避免对方没有响应的时候,导致Socket程序挂起或等待时间过长1.1Accept TimeoutAccept timeout仅对ServerSocket有用。ServerSocket使用accept()方法来监听客户端Socket的连接。默认,ServerSocket.accept()方法会一直阻塞直到有客户端来连接。通常,我们不需要设置accept timeout.但有时候特殊情况,还是要考虑设置accept timeout.比如:程序A给程序B发了一个JMS消息,然后
阅读全文
System.Timers.Timer与System.Windows.Forms.Timer 区别
摘要:根据msdn解释:System.Threading.Timer 是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。 不建议将其用于 Windows 窗体,因为其回调不在用户界面线程上进行。 System.Windows.For...
阅读全文
System.Timers.Timer与System.Windows.Forms.Timer 区别
摘要:根据msdn解释:System.Threading.Timer 是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。不建议将其用于 Windows 窗体,因为其回调不在用户界面线程上进行。System.Windows.Forms.Timer 是用于 Windows 窗体的更佳选择。Windows 窗体 Timer 组件是单线程组件,精度限定为 55 毫秒。如果您需要更高精度的多线程计时器,请使用System.Threading 命名空间中的Timer 类。要获取基于服务器的计时器功能,可以考虑使用System.Threading.Timer,它可以引发事件并具有其他功能。 ...
阅读全文
怎样才能充分利用SQL索引
摘要:怎样才能充分利用SQL索引 背景:目前WEB的普及太快,很多网站都会因为大流量的数据而发生服务器习惯性死机,一个查询语句只能适用于一定的网络环境.没有优化的查询当遇上大数据量时就不适用了. 本文主旨:讨论什么情况下能利用上索引. 索引:创建索引可以根据查询业务的不同分为两种:单一列的索引,联合索引. 顾名思义,单一列索引就是指在表的某一列上创建索引,联合索引是在多个列上联合创建索引. 优缺点比较: 1):索引所占用空间:单一列索引相对要小. 2):索引创建时间:单一列索引相对短. 3):索引对insert,update,delete的影响程序:单一列索引要相对低. 4):在多条件查询时...
阅读全文
怎样才能充分利用SQL索引
摘要:怎样才能充分利用SQL索引 背景:目前WEB的普及太快,很多网站都会因为大流量的数据而发生服务器习惯性死机,一个查询语句只能适用于一定的网络环境.没有优化的查询当遇上大数据量时就不适用了. 本文主旨:讨论什么情况下能利用上索引. ...
阅读全文
DataGridView在vb.net中的操作技巧
摘要:目录: 1、 取得或者修改当前单元格的内容 2、 设定单元格只读 3、 不显示最下面的新行 4、 判断新增行 5、 行的用户删除操作的自定义 6、 行、列的隐藏和删除 7、 禁止列或者行的Resize 8、 列宽和行高以及列头的高度和行头的宽度的自动调整 9...
阅读全文
DataGridView在vb.net中的操作技巧
摘要:目录:1、 取得或者修改当前单元格的内容2、 设定单元格只读3、 不显示最下面的新行4、 判断新增行5、 行的用户删除操作的自定义6、 行、列的隐藏和删除7、 禁止列或者行的Resize8、 列宽和行高以及列头的高度和行头的宽度的自动调整9、 冻结列或行10、 列顺序的调整11、 行头列头的单元格12、 剪切板的操作13、 单元格的ToolTip的设置14、 右键菜单(ContextMenuStrip)的设置15、 单元格的边框、 网格线样式的设定16、 单元格表示值的设定17、 用户输入时,单元格输入值的设定18、 设定新加行的默认值1、 DataGridView 取得或者修改当前单元格的内
阅读全文
0、(空字串)、Null、Empty、与Nothing的区别
摘要:Dim ADim B As StringDim C As IntegerDim D As ObjectA 等于 Empty, 因为尚未初始化的「不定型变量」都等于 Empty。但如果检测 A = "" 或 A = 0, 也都可以得到 True 值。B 等于 "", 因为尚未初始化的非固定长度「字串」都等于 "" 。 但请注意 B<> Null。C 等于 0, 这个还有问题吗?D 等于 Nothing, 尚未设定有物件的「物件变量」都等于 Nothing, 但请不要使用 D = Nothing , 而要使用 D Is Not
阅读全文
0、(空字串)、Null、Empty、与Nothing的区别
摘要:Dim A Dim B As String Dim C As Integer Dim D As Object A 等于 Empty, 因为尚未初始化的「不定型变量」都等于 Empty。但如果检 测 A = "" 或 A = 0, 也都可以得到 True 值。 ...
阅读全文
通过建立Socket连接来快速判断数据库连接是否正确
摘要:在项目中经常会遇到要判断数据库连接是否成功的情况。如果写个查询语句去判断,则数据库连接出错的时候会花费很长的时间才能返回错误信息。因此建议先使用Socket去连接数据库服务器的IP及其上的数据库端口。默认情况下数据库服务器的端口为1433.判断数据库连接的代码如下: /// <summary> /// 测试数据库连接是否成功 /// </summary> /// <param name="host">数据库主机名</param> /// <param name="port">端口</par
阅读全文
通过建立Socket连接来快速判断数据库连接是否正确
摘要:在项目中经常会遇到要判断数据库连接是否成功的情况。如果写个查询语句去判断,则数据库连接出错的时候会花费很长的时间才能返回错误信息。因此建议先使用Socket去连接数据库服务器的IP及其上的数据库端口。默认情况下数据库服务器的端口为1433...
阅读全文
纯C#钩子实现及应用
摘要:关于钩子 请参见微软中国社区中《HOOK专题》一文。 纯C#钩子(Hook)实现 要实现系统钩子其实很简单,调用三个Win32的API即可。 SetWindowsHookEx 用于设置钩子。(设立一道卡子,盘查需要的信息) ...
阅读全文
纯C#钩子实现及应用
摘要:关于钩子请参见微软中国社区中《HOOK专题》一文。纯C#钩子(Hook)实现要实现系统钩子其实很简单,调用三个Win32的API即可。SetWindowsHookEx 用于设置钩子。(设立一道卡子,盘查需要的信息)[DllImport("user32.dll",CallingConvention=CallingConvention.StdCall)]publicstaticexternIntPtrSetWindowsHookEx(WH_CodesidHook,HookProclpfn,IntPtrpInstance,intthreadId);CallNextHookEx 用
阅读全文
系统升级程序的介绍
摘要:开发系统时,很多时候都要开发系统升级程序。升级程序的方式大多相同。目前我开发一个升级程序是这样的。启动主程序的同时启动升级程序,通过升级程序获取服务器上版本配置文件,判断当前的系统版本是否最新的版本。若是最新版本,则升级程序关闭。否则弹出提示有新版本需要下载,然后远程服务器上下载新版本,下载后提示关闭正在运行的主程序,使用新版本覆盖旧版本程序,并将配置文件中的版本号更新为最新程序的版本号。 下面贴出我开发的升级程序的部分代码: /// <summary> /// 检查是否有更新 /// </summary> public void checkUpdate() { str
阅读全文
系统升级程序的介绍
摘要:开发系统时,很多时候都要开发系统升级程序。升级程序的方式大多相同。目前我开发一个升级程序是这样的。启动主程序的同时启动升级程序,通过升级程序获取服务器上版本配置文件,判断当前的系统版本是否最新的版本。若是最新版本,则升级程序关闭。否则弹出提...
阅读全文
C#中强制关闭某个进程
摘要:/// <summary> /// 关闭进程 /// </summary> /// <param name="processName">进程名</param> private void KillProcess(string processName) { Process[] myproc = Process.GetProcesses(); foreach (Process item in myproc) { if (item.ProcessName == processName) { item.Kill(); } } } //强
阅读全文
C#中强制关闭某个进程
摘要:/// /// 关闭进程 /// /// 进程名 private void KillProcess(string processName) { ...
阅读全文
Windows_API_函数 参考大全
摘要:1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接 WNetEnumResource 枚
阅读全文
Windows_API_函数 参考大全
摘要:1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnec...
阅读全文
C# winform 捕获全局异常
摘要:using System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; namespace GobalException { static...
阅读全文
C# winform 捕获全局异常
摘要:using System;using System.Collections.Generic;using System.Windows.Forms;using System.IO;namespace GobalException{ static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { try { //处理未捕获的异常 Application.SetUnhandledExceptionMode(UnhandledException
阅读全文
获取数据库表结构和表数据的小程序(VB.NET版本)
摘要:以前在项目实施过程中经常要到客户方去进行调查。由于客户的生产网络环境是封闭的,而且不能去查看真实的数据库,因此做了个小程序来采集数据库中指定表的数据和指定表的结构。代码如下: 'GetTableStuct 获取表的结构...
阅读全文
获取数据库表结构和表数据的小程序(VB.NET版本)
摘要:以前在项目实施过程中经常要到客户方去进行调查。由于客户的生产网络环境是封闭的,而且不能去查看真实的数据库,因此做了个小程序来采集数据库中指定表的数据和指定表的结构。代码如下: 'GetTableStuct 获取表的结构 Private Function GetDataTableSchame(ByVal strTableName As String) As DataSet On Error GoTo theError InitialConnectionString() Dim dba As New SqlDataProvider.DataBaseAccess(con_SPEC_DB) D
阅读全文
使用ImessageFilter接口实现截获键盘或者鼠标的消息
摘要:在C#中可以使用IMessageFilter 接口来截获应用程序的消息I MessageFilter 接口允许应用程序在消息被调度到控件或窗体之前捕获它。可以将实现 IMessageFilter 接口的类添加到应用程序的消息泵中,以在消息被调度到控件或窗体之前...
阅读全文
使用ImessageFilter接口实现截获键盘或者鼠标的消息
摘要:在C#中可以使用IMessageFilter 接口来截获应用程序的消息I MessageFilter 接口允许应用程序在消息被调度到控件或窗体之前捕获它。可以将实现 IMessageFilter 接口的类添加到应用程序的消息泵中,以在消息被调度到控件或窗体之前将它筛选出来或执行其他操作。若要将消息筛选器添加到应用程序的消息泵中,请使用 Application 类中的AddMessageFilter 方法。Application.AddMessageFilter 方法添加消息筛选器以便在向目标传送 Windows 消息时监视这些消息。[Visual Basic]Public Shared Sub
阅读全文
VS2005中服务的启动,安装与卸载
摘要:关于windows服务的安装启动与卸载。需要使用.net自带的installutil.exe来进行安装。installutil.exe的位置在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下如下...
阅读全文
VS2005中服务的启动,安装与卸载
摘要:关于windows服务的安装启动与卸载。需要使用.net自带的installutil.exe来进行安装。installutil.exe的位置在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下如下图示:安装某服务的批处理代码如下:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil BarCodeAutoBackFile.exe启动该服务的批处理代码如下:net start BarCodeAutoBackFile卸载该服务的批处理代码如下:C:\WINDOWS\Microsoft.NE.
阅读全文
C#对App.config文件或者web.config文件中节点的操作类
摘要://============================================== // FileName: ConfigManager // Description: 静态方法业务类,用于对C#、ASP.NET中的...
阅读全文
C#对App.config文件或者web.config文件中节点的操作类
摘要://==============================================// FileName: ConfigManager // Description: 静态方法业务类,用于对C#、ASP.NET中的WinForm & WebForm 项目程序配置文件// app.config和web.config的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作。//==============================================using System;using System.Dat
阅读全文
能够分页显示的Label控件
摘要:话说分页这玩意在开发中可是相当的常见。网上到处都是分页的资料。可是在Winform中要做到分页显示文本内容就没有那么容易。而且不能使用一些可以分页的控件,比较DateGridView等。只好在已有的代码基础上开发了一个具备分页功能,并且可以...
阅读全文
能够分页显示的Label控件
摘要:话说分页这玩意在开发中可是相当的常见。网上到处都是分页的资料。可是在Winform中要做到分页显示文本内容就没有那么容易。而且不能使用一些可以分页的控件,比较DateGridView等。只好在已有的代码基础上开发了一个具备分页功能,并且可以改变行间距的Label。代码写的比较长,可以拷贝下来直接使用,体验下。using System;using System.ComponentModel;using System.Collections.Generic;using System.Diagnostics;using System.Text;using System.Drawing;using .
阅读全文
Winform中扩展Panel使之具备双缓存,防止闪屏
摘要:最近在开发项目的过程中,发现了系统经常会出现闪屏的现象,而启用双缓存后可以有效的解决这一问题。同时为了方便引用开发了一个具备了双缓存的Panel控件。其实要启用双缓存很简单,只需要在控件或者窗体的构造函数中加入以下的3行代码即可。扩展其它控件也是如此。关于双缓存的介绍请见上次转载的文摘解决绘图中闪烁的问题(C#)有介绍。 public class PanelEx:Panel { public PanelEx() { SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, tru.
阅读全文
Winform中扩展Panel使之具备双缓存,防止闪屏
摘要:最近在开发项目的过程中,发现了系统经常会出现闪屏的现象,而启用双缓存后可以有效的解决这一问题。 同时为了方便引用开发了一个具备了双缓存的Panel控件。其实要启用双缓存很简单,只需要在控件或者窗体的构造函数 中加入以下的3行代码即可。扩展其...
阅读全文
操作ini文件的公共类
摘要:以前我提供了一个操作ini文件的类,但是是VB.net版本。以下是我转载的一个C#版本的操作ini文件的类。 这里是一个通过调用Windows API来操作ini文件的一个公共类,并用托管代码进行了封装,提供了对ini文件的增删查改功能。 using...
阅读全文
操作ini文件的公共类
摘要:以前我提供了一个操作ini文件的类,但是是VB.net版本。以下是我转载的一个C#版本的操作ini文件的类。这里是一个通过调用Windows API来操作ini文件的一个公共类,并用托管代码进行了封装,提供了对ini文件的增删查改功能。using System;using System.IO;using System.Text;using System.Runtime.InteropServices;public class IniFiles{ public delegate void EventHandler(object sender, EventArgs e); public event
阅读全文
C#中使用DOS命令关闭当前正在运行的程序并重新启动
摘要:在C#中可以利用通过Pocess.Start调用Dos命令来完成很多操作,而且非常方便。例如关闭当前的应用程序,重新启动电脑等。 下面介绍几个常用的命令: //重新启动电脑的命令 private void RestartPC...
阅读全文
C#中使用DOS命令关闭当前正在运行的程序并重新启动
摘要:在C#中可以利用通过Pocess.Start调用Dos命令来完成很多操作,而且非常方便。例如关闭当前的应用程序,重新启动电脑等。 下面介绍几个常用的命令://重新启动电脑的命令private void RestartPC(){ //重启电脑的命令发出 Process.Start("shutdown.exe", "-r"); //关闭所有相关进程 Process.GetCurrentProcess().Kill();}//关闭电脑的命令private void ShutDownPC(){ //重启电脑的命令发出 Process.Start("sh
阅读全文
|
|