- 博客(14)
- 收藏
- 关注
原创 基于WindowsSDK检测游戏手柄
首先电脑需要安装WindowsSDK.将对游戏手柄的检测封到一个类里,可以直接C++调用,也可以封成dll后C#调用。代码如下:Joystick.h#pragma once#include "dinput.h"#include "dinputd.h"#include using namespace std;#define DIRECTINPUT_VERSION 0
2016-02-04 14:22:12
3654
3
原创 基于CoreAudio获取声卡输出电平
CoreAudio 不支持所有系统,vista win7 及以上的系统可以,XP不支持。我使用CoreAudio获取声卡输出电平主要是为了做类似于windows的声音指示器控件,以实现功能为准,未做深入研究。功能使用C++实现,需要包含两个头文件#include "Mmdeviceapi.h "#include "endpointvolume.h"先初始化,
2016-01-15 14:52:23
1881
原创 .net RESTful服务实现
此处介绍使用控制台程序和asp.net网站承载RESTful风格服务的方法。 上述两种方法都先将REST接口的声明和实现封在类库里,然后再使用控制台程序或网站承载起服务。一 、REST接口的声明和实现1.新建一个.net类库项目2.声明接口,示例如下3.实现接口,示例如下二、使用控制台程序承载服务代码如下:三、使用asp.net网站承载
2016-01-15 13:49:08
3795
原创 数据库连接池使用
在Web服务中需要频繁访问数据库操作,因此会创建很多数据库连接对象,但数量过多会影响性能,可以通过数据库连接池来控制连接数量这里提供一个数据库连接池类,实现如下: /// /// 数据库连接对象池 继承自对象池类 /// public sealed class DBConnectionSingleton:ObjectPool {
2015-12-04 09:57:53
305
原创 MD5码计算
通过网路上传或下载文件时,需要对文件进行验证是否传输正确,这可以通过MD5码实现。不同的文件产生的MD5码是不同的,并且MD5码的计算是不可逆的。假设要通过网络传输一个文件,在传输之前先计算出MD5码,将文件和MD5码一起发送出去。接收端收到文件和MD5码以后,对文件再次计算MD5码,若两个MD5码相同证明文件传输正确。具体计算方法:/// /// ///
2015-11-27 17:12:49
1515
原创 几种.net加密流的使用
这个是整理的书里的例子,很简单实用,利用这几种类可以很轻松的实现加密解密static void Main(string[] args) { Console.WriteLine("select service provider for CryptoStream"); Console.WriteLine("1=DESCrypto
2015-11-27 17:07:45
779
原创 对数据库创建缓存依赖
Web服务中有时会有需要频繁读取数据库的操作,若这个数据表中的内容不长变化,为提高性能可对数据库进行缓存,只有数据库发生变化时才去读取数据库,否则直接从缓存中读取结果。具体实现:1.为数据库打开brokerALTER DATABASE database_name SET TRUSTWORTHY ON WITH ROLLBACK IMMEDIATEALTER DATABASE d
2015-11-27 16:51:08
368
原创 C++操作BMP文件
BMP文件构成:文件头+文件信息头+RGB数据文件头正常为14字节;文件信息头正常为40字节。RGB数据与文件头偏移量正常为14+40=54BMP图像操作:1. 打开图像文件2. 读取文件头3. 读取文件信息头4. 读取RGB数据5. 关闭图像文件6. 对RGB数据进行操作。RGB数据读
2015-11-27 16:38:34
1388
原创 Winform无边框窗口拖动及改变窗口大小
Winform无边框窗口(FormBorderStyle属性为None)默认是不可以拖动或者改变大小的。1. 拖动无边框窗口改变位置方法1:通过mousedown、mousemove、mouseup、事件来改变窗口Location。方法2:通过截获消息,进行处理,见下面代码后半部分。2. 改变窗口大小通过重写窗口消息处理函数,截获相关信息,并进行处理。代
2015-11-27 16:24:43
7421
1
原创 INI文件操作类
一个方便INI文件读写的帮助类:“Kernel32.dll”中提供了ini文件操作的API函数,在C#中声明一个操作INI文件的类(如INIFile),并将用到的函数导入类INIFile,在需要操作INI文件的地方实例化INIFile这个类,调用INIFile这个类的方法即可。/// ///操作INI文件 /// internal c
2015-11-27 16:12:52
350
原创 C#引用C++Dll
1. 将要引用的C++dll文件放在C#项目文件bin->debug/release目录下。2. 项目中添加.cs文件,声明一个类,类中声明引用dll文件中的各个函数,并封装出方便外部调用的函数。 (个人习惯将某个Dll库函数封到一个类库中,作为专门的功能类使用)Dll函数声明:将C++DLL中公布的函数声明出来,下图上半部分是C#中的函数引用声
2015-11-27 15:43:20
526
转载 C# C++类型对应
C# 调用C++库时,函数中的返回类型和参数类型需要进行相应的转换具体对应关系见:http://blog.youkuaiyun.com/huangxiangec/article/details/8616550http://www.cnblogs.com/chuncn/archive/2011/12/20/2294096.html
2015-11-27 15:36:27
318
原创 .net 类型转换汇总
Base64与string 互转Base64转成string:stringdevicename=” TWljcm9zb2Z0”//base64格式byte[]byname = Convert.FromBase64String(devicename);devicename = Encoding.Default.GetString(byname);//string格式s
2015-11-27 15:31:11
364
原创 .net 对象浅拷贝和深拷贝的实现
对象A浅拷贝到对象B,A和B实际是同一个引用,改变A就会改变B。对象A深拷贝到对象B,B是一个全新的对象,与A只是值相同。 具体实现:继承接口ICloneable public class Class1:ICloneable { int m_member1;
2015-11-27 15:03:38
892
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人