- 博客(44)
- 资源 (17)
- 收藏
- 关注
转载 VC字符串转换
一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRi
2009-09-10 20:03:00
211
1
转载 VC字符串转换
一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic STRi
2009-09-10 20:01:00
266
转载 MFC扩展DLL进行详细分析和实例讲解
这是《VC++动态链接库(DLL)编程深入浅出》的第四部分,阅读本文前,请先阅读前三部分:(一)、(二)、(三)。 MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外, MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic
2008-05-15 12:57:00
2130
2
原创 VC++动态链接库编程之MFC规则DLL
另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正! 5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意
2008-05-15 12:53:00
460
转载 VC++动态链接库编程之非MFC DLL
4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程)。注意不要选择MFC AppWizard(dll),因为用MFC AppWizard(dll)建立的将是第5、6节要讲述的
2008-05-15 12:52:00
349
转载 VC++动态链接库编程之基础慨念
概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含
2008-05-15 12:50:00
288
转载 Media Format SDK Translation
The following code create a 128 Kbps WMA file from your a MP3 file and if the bit rate of the MP3 file is greater than 128 Kbps then a recompressed 128 Kbps
2008-03-12 21:24:00
1119
转载 LAME应用教学--HIFI级MP3制作之路
HIFI级MP3?可能吗?LAME又是什么?看完全文就会知道,不过,在此之前,还是先普及一下MP3基本知识,不然大家或许会不明白。一、MP3家史 mp3全名是mpeg audio layer iii,诞生于1987年,创始者是设在德国爱尔蓝根市的一个音频研究机构fraunhofer iis。设计目标是利用人类听觉上某些方面的知觉不足(注意,这可是重点),开发一种高音质(cd音质)、低流量(320
2008-03-11 18:29:00
1073
转载 LAME的“命令行”
VBR 编码 (强烈推荐) Alt Preset Extreme (平均256kbps) 我们有时在网上可以看到".LAME-APX." 就是这种形式,我们也可以在文件名中包含这个标记。这是LAME的开发者推荐的参数,音质和文件大小的最佳平衡点,建议大家使用这一选项。 输入值: --alt-preset extreme %s %d Alt Preset Standard (平均192kbps) 我
2008-03-11 18:28:00
1016
转载 Lame的参数
LAME 命令行格式: lame [选项] [] 档案输入选项 -r 指定输入档案是 Raw PCM 格式 (.PCM 档案)。 -x 强迫来源档案的位元组顺序 (byte-order) 调换(压缩跨平台的档案时使用)。 如果压缩出来的档案是杂音,可以试试看这一个选项。 -s sfreq 指定来源档案的取样频率(单位为 KHz),预设为 44.1 KHz。 只有在输入档案为 PCM 格式时才需要
2008-03-11 18:20:00
635
转载 wav文件格式+二进制文件(读+写
WAVE(特指PCM编码格式)文件头一般是44字节,可用UltraEdit查看wav文件: 偏移地址 字节数
2008-03-11 14:56:00
1284
1
转载 常用语音编码的WAVE文件头格式剖析--各种编码
WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。合理利用WAVE文件头可以更有效地进行语音解码。 通常意义上说的语音编码都是指将8KHz采样、16比特量化的线性PCM语音信号压缩成其它格式的语音信号,解码时就将其它格式的语音信号变换
2008-03-11 14:54:00
1228
转载 多线程在Visual C#网络编程中的应用
网络应用程序的一般都会或多或少的使用到线程,甚至可以说,一个功能稍微强大的网络应用程序总会在其中开出或多或少的线程,如果应用程序中开出的线程数目大于二个,那么就可以把这个程序称之为多线程应用程序。那么为什么在网络应用程序总会和线程交缠在一起呢?这是因为网络应用程序在执行的时候,会遇到很多意想不到的问题,其中最常见的是网络阻塞和网络等待等。 程序在处理这些问题的时候往往需要花费很多的时间,如
2008-03-09 12:29:00
460
转载 用C#编写ActiveX控件
前些日子做一个Web项目,必须自己编写一个ActiveX控件。如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件。 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: UserControl1.cs内容如下: us
2008-03-09 12:26:00
318
转载 C#动态生成组件
通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时候也可以动态创建组件,下面就结合一个程序例子来具体介绍如何用Visual C#动态生成组件。首先让我们了解一下,在动态创建组件的过程中要用到的一些概论和理论。 一. Boxing (装箱)和Unboxing (出箱): 在用Visual C#动态创建组件的时候,要涉及到二
2008-03-09 12:22:00
537
原创 多线程端口扫描程序
using System;; using System.Drawing;; using System.Collections;; using System.ComponentModel;; using System.Windows.Forms;; //增加的如下.. using System.Data;; using System.Net.Sockets;; using System.Net;;
2008-03-09 12:20:00
410
原创 控件随窗体自动缩放大小
/// /// 控件随窗体自动缩放 /// /// public static void AutoScale(Form frm) { frm.Tag = frm.Width.ToString() + "," + frm.Height.ToString(); frm.
2008-03-09 12:17:00
624
原创 C#文件网络传输
System.Sockes命名空间了实现 Berkeley 套接字接口。通过这个类,我们可以实现网络计算机之间的消息传输和发送.而在我下面要讨论的这个议题里,我们将讨论的是用套节子实现文件的传输.这种方法有别于FTP协议实现的的文件传输方法,利用ftp的方法需要一个专门的服务器和客户端,无疑于我们要实现的点对点的文件传输太为复杂了一些。在这里,我们实现一个轻量级的方法来实现点对点的文件传输,这样就
2008-03-09 12:09:00
1345
转载 C#多线程共享数据
在多线程编程中,我们经常要使用数据共享.C#中是如何实现的呢?很简单,只要把你要共享的数据设置成静态的就可以了.关键字static .如下:static Queue q1=new Queue();static int b=0;在这里我定义了一个整形变量b和队列q1.接下去就可以创建多线程代码了.如下:MyThread myc;Thread[] myt;myt=new Thread[10];myc=
2008-03-09 12:08:00
898
原创 利用VisualC#创作简单的多线程组件
可以编写能同时执行多个任务的应用程序。此能力(称为“多线程处理”或“自由线程处理”)是设计处理器密集型且要求用户输入的组件的强大方法。计算工资表信息的组件就是一个可能利用多线程处理的组件示例。该组件可以在一个线程上处理用户输入到数据库的数据,而在另一个线程上执行频繁使用处理器的工资表计算。通过在不同的线程上运行这些进程,用户不必等到计算机完成计算,就可以输入其他数据。在本演练中,将创建一个简单的多
2008-03-09 12:07:00
326
转载 C#中使用多线程编程之线程池
1. 引言近来在研究C#多线程编程碰到了线程池的概念。不懂,我搜,于是在MSDN和优快云上寻寻觅觅一番终于搞明白,“缘”来如此,安装本人理解修改后写下这篇文章,希望对后来者有所帮助。2. 线程池的概念可以使用线程池来根据应用程序的需要更为有效地利用多个线程。许多应用程序使用多个线程,但这些线程经常在休眠状态中耗费大量的时间来等待事件发生,编程者手动管理多个线程也是一件
2008-03-09 11:59:00
481
转载 C#多线程编程
单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。 问题的提出 所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二
2008-03-09 11:56:00
373
1
转载 C#多线程编程
单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。 问题的提出 所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二
2008-03-09 11:56:00
311
1
转载 C#多线程编程
//一个简单的示例//HelloWordThread.cs//------------------------using System;using System.Threading;public class Test...{ static void Main() ...{ ThreadStart job = new ThreadStart(ThreadJob);
2008-03-09 11:52:00
627
原创 C# 下的HTTP断点续传
在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机 (浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(web server),向客户机(浏览器)回复报文时的协议。请求和回复协议都由头和体组成。头和体之间以一行空行为分隔。 以下是一个请求报文与相应的回复报文的例子:
2008-03-09 11:44:00
392
转载 C#线程池
//ThreadPool(线程池)是一个静态类,它没有定义任何的构造方法(),我们只能够使用它的静态方法,这是因为,这是因为ThreadPool是托管线程池,是由CLR管理的。//ThreadPool使用WaitCallback委托,它所要做的工作是在后台进行的。使工作项的排队和运行更容易,可以给工作者线程传递一个状态对象(提供数据)。状态对象是私有的作用域位于线程层,所以不需要进行同步。//Th
2008-03-09 11:41:00
4873
2
转载 在.net中使用语音识别和语音合成技术
在.net中使用语音识别和语音合成技术,需要借助微软的Speech SDK,如果是要在Web应用程序中使用,则需要Speech Application SDK。其中Speech SDK可以在http://www.microsoft.com/speech/download/sdk51/下载,其中有两个文件Speech SDK 5.1和5.1 Language Pack,前者是开发包,但是其中只包含对
2008-03-09 11:37:00
2849
3
原创 C#一个用于驱动摄像头的类
using System; using System.Runtime.InteropServices; using System.Drawing; using System.Drawing.Imaging; namespace using System; using System.Runtime.InteropServices; using System.Drawing; u
2008-03-09 11:34:00
413
原创 C#跨线程窗口调用
public void ShowChatRoom() ...{ ChatRoom room = CreateChatRoom(); if (room.InvokeRequired) ...{ EmptyMethod m = new EmptyMethod(room.Show);
2008-03-09 11:32:00
373
原创 C#多线程参数传递
我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:
2008-03-07 15:07:00
583
1
原创 C#异步复制大文件
Using Directives#region Using Directivesusing System;using System.IO ;using System.Xml ;using System.Collections ;using System.Reflection ;using System.Text ;using System.Data ;using System.Componen
2008-03-07 14:46:00
1064
转载 利用C#编写WebService进行多线程上传
在WebService的帮助下,进行多线程上传文件是非常简单。因此我只做个简单的例子,那么如果想要实现此功能的朋友,可以在我的基础上进行扩展。 首先说说服务器端,只需要提供一个能允许多线程写文件的函数即可,具体代码如下。 [WebMethod]public bool UploadFileData( string FileName, int StartPosition, byte[
2008-03-07 14:07:00
1608
3
转载 C#里面调用带有回调函数和自定义结构体的DLL的例程
开发环境: WinXP Pro(SP2英文版) + VS.NET 2003中文版接口库版本: CMPP2.0 API第二版(V2.6)该例程演示了如何在C#里面调用VC6.0开发的带回调函数的API,而且回调函数的参数包含结构体,使用C#的委托和IntPtr方法实现.由于我使用C#刚两天,这是我写的第一个C#程序,因此例程写的可能有点粗糙,但是编译和运行完全没有问题. CMPP2.0的API封装成
2008-03-04 14:13:00
293
原创 用C#调用API获取文件类型信息
[C/C++]#include #include //SHFILEINFO结构和SHGetFileInfo函数所在//#include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ SHFILEINFO shfi; mem
2008-03-04 14:03:00
621
原创 C#中构造函数和析构函数的用法详述
一.构造函数与析构函数的原理 作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性。C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这的确帮了程序员的大忙。但是程序通过了编译检查并不表示错误已经不存在了,在“错误”的大家庭里,“语法错误”的地位只能算是冰山一角。级别高的错误通常隐藏得很深,不容易发现。 根据经验,不少难以察觉的程序错误是由于变量没有
2008-03-04 13:56:00
182
原创 在C#程序设计中使用Win32类库
C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先
2008-03-04 13:53:00
211
转载 C#与DLL和COM的混合编程(1)-C#调用C++写的非托管的DLL中导出的函数
C#调用C++写的非托管的DLL中导出的函数Platform invoke是一个使得托管代码(managed code)能够调用DLL中实现的非托管函数(unmanaged functions)的服务(service),例如:那些Win32 API中的函数。它定位(locate)并且调用(invoke)导出的函数,在需要的时候,跨越交互边界列集(marshal)它的参数(integers, str
2008-03-04 13:13:00
342
转载 探析C#文件方式读写结构体
最近一直在研究。Net Micro Framework字体文件(tinyfnt),由于tinyfnt文件头部有一段描述数据,所以很想定义一个结构体,像VC一样直接从文件中读出来,省得用流一个个解析很是麻烦。 没有想到在C#中竟没有直接的指令,想必C#设计者认为提供了流和序列化技术,一切问题都可以迎刃而解了。 在C#中结构体是一个比较复杂的东西,在此之上有很多需要设置的参数,否则用起
2008-03-04 13:08:00
261
S5730S-EI-V200R011C10SPC600升级包
2019-02-15
S5730SI-V200R011C10SPC600升级包
2019-02-15
S57xx-V200R011C10SPC600.008.web
2019-02-15
S57XX-V200R011SPH008补丁包合集
2019-02-15
PortTunnel 中文版 2.0.43.451
2019-02-15
S5300-V200R001C00.005补丁及Web文件
2017-06-22
NModbus4 For .Net
2017-06-22
开启联想Y550 VT功能的工具
2012-10-28
删除.Net 强名称工具 Strong Name Remove 2.2 汉化版
2012-08-30
DLL函数查看器3.5
2012-08-27
SQLite ADO.NET 2.03.5 +示例源码
2009-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人