自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(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 186 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 239

转载 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 2089 2

原创 VC++动态链接库编程之MFC规则DLL

另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正!  5. MFC规则DLL  5.1 概述  MFC规则DLL的概念体现在两方面:  (1) 它是MFC的  “是MFC的”意

2008-05-15 12:53:00 437

转载 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 335

转载 VC++动态链接库编程之基础慨念

概论   先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含

2008-05-15 12:50:00 267

转载 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 1096

转载 LAME应用教学--HIFI级MP3制作之路

HIFI级MP3?可能吗?LAME又是什么?看完全文就会知道,不过,在此之前,还是先普及一下MP3基本知识,不然大家或许会不明白。一、MP3家史  mp3全名是mpeg audio layer iii,诞生于1987年,创始者是设在德国爱尔蓝根市的一个音频研究机构fraunhofer iis。设计目标是利用人类听觉上某些方面的知觉不足(注意,这可是重点),开发一种高音质(cd音质)、低流量(320

2008-03-11 18:29:00 1013

转载 LAME的“命令行”

VBR 编码 (强烈推荐) Alt Preset Extreme (平均256kbps) 我们有时在网上可以看到".LAME-APX." 就是这种形式,我们也可以在文件名中包含这个标记。这是LAME的开发者推荐的参数,音质和文件大小的最佳平衡点,建议大家使用这一选项。 输入值: --alt-preset extreme %s %d Alt Preset Standard (平均192kbps) 我

2008-03-11 18:28:00 931

转载 Lame的参数

LAME 命令行格式: lame [选项] [] 档案输入选项 -r 指定输入档案是 Raw PCM 格式 (.PCM 档案)。 -x 强迫来源档案的位元组顺序 (byte-order) 调换(压缩跨平台的档案时使用)。 如果压缩出来的档案是杂音,可以试试看这一个选项。 -s sfreq 指定来源档案的取样频率(单位为 KHz),预设为 44.1 KHz。 只有在输入档案为 PCM 格式时才需要

2008-03-11 18:20:00 613

转载 wav文件格式+二进制文件(读+写

WAVE(特指PCM编码格式)文件头一般是44字节,可用UltraEdit查看wav文件:   偏移地址 字节数

2008-03-11 14:56:00 1221 2

转载 常用语音编码的WAVE文件头格式剖析--各种编码

  WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。合理利用WAVE文件头可以更有效地进行语音解码。  通常意义上说的语音编码都是指将8KHz采样、16比特量化的线性PCM语音信号压缩成其它格式的语音信号,解码时就将其它格式的语音信号变换

2008-03-11 14:54:00 1169 1

转载 多线程在Visual C#网络编程中的应用

 网络应用程序的一般都会或多或少的使用到线程,甚至可以说,一个功能稍微强大的网络应用程序总会在其中开出或多或少的线程,如果应用程序中开出的线程数目大于二个,那么就可以把这个程序称之为多线程应用程序。那么为什么在网络应用程序总会和线程交缠在一起呢?这是因为网络应用程序在执行的时候,会遇到很多意想不到的问题,其中最常见的是网络阻塞和网络等待等。  程序在处理这些问题的时候往往需要花费很多的时间,如

2008-03-09 12:29:00 432

转载 用C#编写ActiveX控件

前些日子做一个Web项目,必须自己编写一个ActiveX控件。如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件。     首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图:     UserControl1.cs内容如下:  us

2008-03-09 12:26:00 297

转载 C#动态生成组件

通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时候也可以动态创建组件,下面就结合一个程序例子来具体介绍如何用Visual C#动态生成组件。首先让我们了解一下,在动态创建组件的过程中要用到的一些概论和理论。  一. Boxing (装箱)和Unboxing (出箱):  在用Visual C#动态创建组件的时候,要涉及到二

2008-03-09 12:22:00 512

原创 多线程端口扫描程序

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 391

原创 控件随窗体自动缩放大小

///          /// 控件随窗体自动缩放         ///          ///          public static void AutoScale(Form frm)         {             frm.Tag = frm.Width.ToString() + "," + frm.Height.ToString();             frm.

2008-03-09 12:17:00 597

原创 C#文件网络传输

System.Sockes命名空间了实现 Berkeley 套接字接口。通过这个类,我们可以实现网络计算机之间的消息传输和发送.而在我下面要讨论的这个议题里,我们将讨论的是用套节子实现文件的传输.这种方法有别于FTP协议实现的的文件传输方法,利用ftp的方法需要一个专门的服务器和客户端,无疑于我们要实现的点对点的文件传输太为复杂了一些。在这里,我们实现一个轻量级的方法来实现点对点的文件传输,这样就

2008-03-09 12:09:00 1305

转载 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 862

原创 利用VisualC#创作简单的多线程组件

可以编写能同时执行多个任务的应用程序。此能力(称为“多线程处理”或“自由线程处理”)是设计处理器密集型且要求用户输入的组件的强大方法。计算工资表信息的组件就是一个可能利用多线程处理的组件示例。该组件可以在一个线程上处理用户输入到数据库的数据,而在另一个线程上执行频繁使用处理器的工资表计算。通过在不同的线程上运行这些进程,用户不必等到计算机完成计算,就可以输入其他数据。在本演练中,将创建一个简单的多

2008-03-09 12:07:00 299

转载 C#中使用多线程编程之线程池

1.     引言近来在研究C#多线程编程碰到了线程池的概念。不懂,我搜,于是在MSDN和CSDN上寻寻觅觅一番终于搞明白,“缘”来如此,安装本人理解修改后写下这篇文章,希望对后来者有所帮助。2.     线程池的概念可以使用线程池来根据应用程序的需要更为有效地利用多个线程。许多应用程序使用多个线程,但这些线程经常在休眠状态中耗费大量的时间来等待事件发生,编程者手动管理多个线程也是一件

2008-03-09 11:59:00 452

转载 C#多线程编程

单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。  问题的提出  所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二

2008-03-09 11:56:00 346 1

转载 C#多线程编程

单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。  问题的提出  所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二

2008-03-09 11:56:00 289 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 606

原创 C# 下的HTTP断点续传

在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机 (浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(web server),向客户机(浏览器)回复报文时的协议。请求和回复协议都由头和体组成。头和体之间以一行空行为分隔。  以下是一个请求报文与相应的回复报文的例子:

2008-03-09 11:44:00 368

转载 C#线程池

//ThreadPool(线程池)是一个静态类,它没有定义任何的构造方法(),我们只能够使用它的静态方法,这是因为,这是因为ThreadPool是托管线程池,是由CLR管理的。//ThreadPool使用WaitCallback委托,它所要做的工作是在后台进行的。使工作项的排队和运行更容易,可以给工作者线程传递一个状态对象(提供数据)。状态对象是私有的作用域位于线程层,所以不需要进行同步。//Th

2008-03-09 11:41:00 4835 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 2738 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 397

原创 C#跨线程窗口调用

public void ShowChatRoom()        ...{            ChatRoom room = CreateChatRoom();            if (room.InvokeRequired)            ...{                EmptyMethod m = new EmptyMethod(room.Show);    

2008-03-09 11:32:00 348

转载 MSProject开源技术

MSProject开源技术 

2008-03-07 19:45:00 201

原创 C#多线程参数传递

我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:

2008-03-07 15:07:00 561 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 1034

转载 利用C#编写WebService进行多线程上传

在WebService的帮助下,进行多线程上传文件是非常简单。因此我只做个简单的例子,那么如果想要实现此功能的朋友,可以在我的基础上进行扩展。  首先说说服务器端,只需要提供一个能允许多线程写文件的函数即可,具体代码如下。 [WebMethod]public bool UploadFileData( string FileName, int StartPosition, byte[

2008-03-07 14:07:00 1567 3

原创 C#与Windows API时的数据类型对应

  API数据类型 类型描述 C#类型

2008-03-05 11:18:00 325

转载 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 275

原创 用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 595

原创 C#中构造函数和析构函数的用法详述

 一.构造函数与析构函数的原理  作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性。C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这的确帮了程序员的大忙。但是程序通过了编译检查并不表示错误已经不存在了,在“错误”的大家庭里,“语法错误”的地位只能算是冰山一角。级别高的错误通常隐藏得很深,不容易发现。  根据经验,不少难以察觉的程序错误是由于变量没有

2008-03-04 13:56:00 162

原创 在C#程序设计中使用Win32类库

   C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成的工作,结果发现 Win32 API 集非常庞大。他们没有足够的资源为所有 Win32 API 编写托管接口、加以测试并编写文档,因此只能优先

2008-03-04 13:53:00 196

转载 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 325

转载 探析C#文件方式读写结构体

  最近一直在研究。Net Micro Framework字体文件(tinyfnt),由于tinyfnt文件头部有一段描述数据,所以很想定义一个结构体,像VC一样直接从文件中读出来,省得用流一个个解析很是麻烦。  没有想到在C#中竟没有直接的指令,想必C#设计者认为提供了流和序列化技术,一切问题都可以迎刃而解了。  在C#中结构体是一个比较复杂的东西,在此之上有很多需要设置的参数,否则用起

2008-03-04 13:08:00 241

S5730S-EI-V200R011C10SPC600升级包

S5730S-EI-V200R011C10SPC600升级包: S5730S-EI-V200R011C10SPC600.zip MIB-V200R011C10SPC600.zip S1720&S2700;&S5700;&S6720; V200R011C10SPC600 版本说明书.zip S1720&S2700;&S5700;&S6720; V200R011C10SPC600 验收测试指南.zip S1720&S2700;&S5700;&S6720;&S7700;&S9700; V200R011C10 命令、告警、MIB和日志变更说明.xlsx S1720&S2700;&S5700;&S6720;&S7700;&S9700; V200R011C10 特性变更说明.xls S1720, S2700, S5700, S6720 V200R011C10 升级指导书.zip S1720, S2700, S5700, S6720 V200R011SPH008 补丁安装指导书.zip S1720, S2700, S5700, S6720 V200R011SPH008 补丁说明书.zip

2019-02-15

S5730SI-V200R011C10SPC600升级包

S5730SI-V200R011C10SPC600升级包: MIB-V200R011C10SPC600.zip S1720&S2700;&S5700;&S6720; V200R011C10SPC600 版本说明书.zip S1720&S2700;&S5700;&S6720; V200R011C10SPC600 验收测试指南.zip S1720&S2700;&S5700;&S6720;&S7700;&S9700; V200R011C10 命令、告警、MIB和日志变更说明.xlsx S1720&S2700;&S5700;&S6720;&S7700;&S9700; V200R011C10 特性变更说明.xls S1720, S2700, S5700, S6720 V200R011C10 升级指导书.zip S1720, S2700, S5700, S6720 V200R011SPH008 补丁安装指导书.zip S1720, S2700, S5700, S6720 V200R011SPH008 补丁说明书.zip S5730SI-V200R011C10SPC600.zip

2019-02-15

S57xx-V200R011C10SPC600.008.web

S57xx-V200R011C10SPC600.008.web合集, S5730SI-V200R011C10SPC600.008.web等16个Web管理界面包

2019-02-15

S57XX-V200R011SPH008补丁包合集

S57XX-V200R011SPH008补丁包合集 S5700LI-V200R011SPH008 S5700S-LI-V200R011SPH008 S5720EI-V200R011SPH008 S5720HI-V200R011SPH008 S5720LI-V200R011SPH008 S5720SI-V200R011SPH008 S5720S-LI-V200R011SPH008 S5730SI-V200R011SPH008 S1720, S2700, S5700, S6720 V200R011SPH008 补丁安装指导书 S1720, S2700, S5700, S6720 V200R011SPH008 补丁说明书

2019-02-15

手机号码归属地数据 424210条2019.2.15

手机号码归属地数据 424210条,截止2019.2.15(含采集工具)

2019-02-15

PortTunnel 中文版 2.0.43.451

TCP/IP port redirector with many features for the advanced user. "Like a Swiss Army Knife". * TCP: IP security (and stealth ports on 2000/XP) * TCP: SSL&TLS; using OpenSSL * TCP: tunnelling of connections through HTTP proxies * TCP: speed limiting, data logging, etc * TCP: passwording of tunnels * SMTP: antispam (DNS/RBL & greylisting) * SMTP: antivirus (using existing installation of Sophos AV or Grisoft AVG) * SMTP: relay filtering and AUTH * FTP: translate 'PORT' and 'PASV' commands (FTP Bouncing) * FTP: FTP over SSL/TLS * Runs as a service on ALL versions of Windows * Great for debugging network programs * Can redirect many ports at once (including port ranges) * Plus much more

2019-02-15

S5300SI-V200R001C00SPC300升级包

S5300SI-V200R001C00SPC300升级包

2017-06-22

S5300EI-V200R001C00SPC300升级包

S5300EI-V200R001C00SPC300升级包

2017-06-22

S5300-V200R001C00.005补丁及Web文件

S5300-V200R001C00.005补丁及Web文件 S5300-6TP-LI-V200R001C00.005.web S5300EI-V200R001C00.005.web S5300EI-V200R001SPH027.pat S5300HI-V200R001C00.005.web S5300LI-V200R001SPH027.pat S5300SI-V200R001C00.005.web S5300HI-V200R001SPH027.pat .......

2017-06-22

NModbus4 For .Net

NModbus is a C# implementation of the Modbus protocol. Provides connectivity to Modbus slave compatible devices and applications. Supports serial ASCII, serial RTU, TCP, and UDP protocols. NModbus4 it's a fork of NModbus(https://code.google.com/p/nmodbus). NModbus4 differs from original NModbus in following: 1.removed USB support(FtdAdapter.dll) 2.removed log4net dependency 3.removed Unme.Common.dll dependency 4.assembly renamed to NModbus4.dll 5.target framework changed to .NET 4

2017-06-22

开启联想Y550 VT功能的工具

联想Y550 是支持VT技术的,但BIOS默认关闭了,又无法在设置里更改。提供改写联想Y550 BIOS参数的工具, 使其启动VT。 一、确认CPU是否支持虚拟化技术 通过软件,检测是否已开启,下载中已提供该工具。 二、下载 BIOS修改工具 将工具解压缩,存于DOS可访问的地方,或放于做好的启动U盘内。 因为个人有一小分区为FAT32格式,所以就将它放在这个盘中,准备用工具盘引导至此操作。 三、重启电脑至DOS环境 可用制作好的启动U盘进入,个人使用系统工具盘引导至目标硬盘(FAT32格式)。 四、修改DUMP出的BIOS内容 DUMP出BIOS内容,将对应地址处由[0000]修改为[0001]。 BIOS所修改的地址依其版本各异。如下: (0372) 和(0375) -- BIOS V1.04版 (0375) 和(0378) -- BIOS V1.06版 (0378) 和(037B) -- BIOS V2.01版,、V2.03版、V2.05版、V2.07版 操作步骤: 1.进入DOS系统中,cd进入刚存放symcmos的文件夹,键入dump,回车后会看到编辑窗口,当前版本会被保存为NVRAM.TXT; 2.编辑 (0378) 和(037B)地址处内容为[0001], 修改时,可能会发现只有037B的地址,而找不到0378,可以在(037B) [0001]前加上一行,内容为(0378) [0001],改完后CTRL-F2,另保存为VT.txt 3.按ALT-X关闭编辑器窗口后,键入SAVE命令即开始更新改后的BIOS 4.看到成功信息后,按POWER OFF即直接按电源关机 五、上述操作完成后,即可用第一步所说的工具再次检测是否开锁。

2012-10-28

华为S5300SI_V100R005C01SPC100

S5300SI_V100R005C01SPC100升级包,内有Web界面包

2012-09-05

华为S5300EI_V100R005C01SPC100升级包

华为S5300EI_V100R005C01SPC100升级包,内有Web界面文件包,注意区分SI、EI版本

2012-09-05

删除.Net 强名称工具 Strong Name Remove 2.2 汉化版

删除.Net 强名称工具 Strong Name Remove 2.2 汉化版 改进: 支持在win7 64位下使用

2012-08-30

DLL函数查看器3.5

DLL函数查看器V3.5 (2012.03.16) =========================== *修复拖放/CTRL+C/"输出文件"空内容的问题 *修复无法复制UNICODE函数声明问题 *新增选项设置中可选复制函数声明是否"公开" *新增检索数据库功能(数据库已知函数统一查询) DLL函数查看器V3.4 (2011.09.11) =========================== *修复部分EXE文件导入表函数反汇编无识别的问题 *修复"总在最前"时"选项设置"窗口无法显示的问题 *修复数据处理等待画面引起的程序意外退出的问题 DLL函数查看器V3.3 (2011.08.28) =========================== *修复插件无法正常使用的问题 *修复设置文字焦点颜色无效的问题 *新增添加到系统右键菜单支持 *新增查找功能 DLL函数查看器V3.2 (2011.07.20) =========================== *修正对某些程序数据分析可能引起的程序崩溃 *修正对某些加壳程序反汇编可能引起的程序崩溃问题 *优化了反汇编代码并修复1处错误 *新增系统菜单条中"选项设置"项 *新增系统菜单条中"总在最前"项 *新增插件支持 DLL函数查看器V3.1 (2011.06.28) =========================== *修正了PE分析的文件时间计算错误 *修正了未文档化函数无法输出到文件的错误 *修正了反汇编的几处函数名称错误 *修正了各种系统下无法启动等其他多处问题 *修改了可以同时启动多个副本 *修改了多选情况可以复制所选的全部函数声明 *修改了反汇编跳转后回退到上次跳转处 *新增反汇编是否"到首返回"选项(或按"MaxLine") DLL函数查看器V3.0 (2011.05.18) =========================== * 修正了引入函数名显示不全的问题 * 修正了未公开函数名的函数序数计算错误 * 修正了未公开函数名的函数地址错误 * 修改导出函数地址为"真实地址" * 修改函数序数为"真实序数" * 新增命令行参数支持 * 新增列表排序功能 * 新增列表任意项目复制 * 新增列表输出文件与拖放输出 * 新增列表键入/粘帖函数名行定位 * 新增stdcall约定函数猜测参数个数 * 新增反汇编功能 * 新增对已知函数参数查看及中文解释 * 新增对函数的易语言和VB的函数及结构声明 * 新增查壳功能 * 新增查看PE文件头信息 * 美化窗口界面等 感谢使用山寨版DLL函数查看器,遇到问题请发送邮件 infopet@qq.com 因为以前使用 DLL函数查看器2.0 遇到很多功能欠缺,使用起来会有很多的不方便, 所以本人给进行了很多加强,但是依然可以保持使用 DLL函数查看器v2.0 的使用习惯. 嘿嘿!! 您觉得这个山寨版怎么样!? 注: 1.将本程序快捷方式放入系统 "SendTo" 目录后,就可以右键文件"发送到"实现文件快速查看. 2.按粘帖键(Ctrl+V)将剪辑板中字符串在列表中匹配查找. 3.关于参数量的问题,由于猜解方法过于简单对于部分函数未从当前函数返回,而是"JMP"到别的函数 所以猜解可能会有错误,需要结合已知函数库或反汇编查看,另此方法对于cdecl调用函数无效. 4.关于反汇编视图的"到首返回"如果勾选即表示仅反汇编到头一个RETN为止,否者将按照"DisAsm_MaxLine" 所指定的行数.生效方法参见说明细则12~13. 5.将PEID userdb.txt 放置到程序目录下可以实现查壳. 6.如果将易语言API伴侣DATA下文件复制到本目录,可获得已知函数信息.这首先要感谢API伴侣的作者. 7.在目录下建立 "ViewApi.cfg" ,设置信息将写入配置文件可方便放入优盘等移动存储器中使用. 程序启动时会优先读取配置文件,如果文件不纯在则会访问注册表. 8.如果你觉得这个美化窗口很浪费资源,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "UI"=dword:00000000 9.如果你觉得反汇编影响了效率,可以打开注册表修改如下项值即可关闭 [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm"=dword:00000000 10.如果想关闭查壳功能可以删除userdb.txt或注册表如下设置 [HKEY_CURRENT_USER\Software\ViewApiList] "CheckShell"=dword:00000000 11.在线查询接口可在注册表如下位置修改,{searchTerms}为保留关键字被作为替换函数名. [HKEY_CURRENT_USER\Software\ViewApiList] "WebSearch"="http://www.baidu.com/s?wd={searchTerms}&ie=utf-8" 12.是否仅反汇编到头一个返回,1.表示是,0表示否. [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_Retn"=dword:00000001 13.反汇编最大行数,即表示当前地址向后的长度,与函数实际长度无关.是否生效需要根据"DisAsm_Retn"设置. [HKEY_CURRENT_USER\Software\ViewApiList] "DisAsm_MaxLine"=dword:000003e8 键盘快捷键说明: TAB(SHIFT+TAB) -- 视图焦点切换 CTRL+S -- 视图切换 CTRL+F -- 文字搜索 F3 -- 搜索下一个 CTRL+A -- 项目全选 CTRL+C -- 复制选中项目函数名称/汇编代码 CTRL+V -- 将剪辑板中的字符在视图中匹配搜索 ALT+← -- 反汇编视图上一次跳转的后退 ALT+→ -- ... 前进 Application -- 弹出右键菜单(右WIN键和右CTRL键中间的那个键)

2012-08-27

戴尔5150计算机 含SLIC2.1 BIOS

戴尔5150计算机 含SLIC2.1 BIOS,安装OEM系统不用烦了。转自外部论坛,验证成功!

2010-03-22

SQLite ADO.NET 2.03.5 +示例源码

using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Configuration; using System.Data; using System.Data.SQLite; namespace DAL { public class Sqlite { /// <summary> /// 获得连接对象 /// </summary> /// <returns></returns> public static SQLiteConnection GetSQLiteConnection() { return new SQLiteConnection("Data Source=" + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["db"].ToString())); } private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, params object[] p) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Parameters.Clear(); cmd.Connection = conn; cmd.CommandText = cmdText; cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 30; if (p != null) { foreach (object parm in p) cmd.Parameters.AddWithValue(string.Empty, parm); //for (int i = 0; i < p.Length; i++) // cmd.Parameters[i].Value = p[i]; } } public static DataSet ExecuteDataset(string cmdText, params object[] p) { DataSet ds = new DataSet(); SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); SQLiteDataAdapter da = new SQLiteDataAdapter(command); da.Fill(ds); } return ds; } public static DataRow ExecuteDataRow(string cmdText, params object[] p) { DataSet ds = ExecuteDataset(cmdText, p); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) return ds.Tables[0].Rows[0]; return null; } /// <summary> /// 返回受影响的行数 /// </summary> /// <param name="cmdText">a</param> /// <param name="commandParameters">传入的参数</param> /// <returns></returns> public static int ExecuteNonQuery(string cmdText, params object[] p) { SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); return command.ExecuteNonQuery(); } } /// <summary> /// 返回SqlDataReader对象 /// </summary> /// <param name="cmdText"></param> /// <param name="commandParameters">传入的参数</param> /// <returns></returns> public static SQLiteDataReader ExecuteReader(string cmdText, params object[] p) { SQLiteCommand command = new SQLiteCommand(); SQLiteConnection connection = GetSQLiteConnection(); try { PrepareCommand(command, connection, cmdText, p); SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); return reader; } catch { connection.Close(); throw; } } /// <summary> /// 返回结果集中的第一行第一列,忽略其他行或列 /// </summary> /// <param name="cmdText"></param> /// <param name="commandParameters">传入的参数</param> /// <returns></returns> public static object ExecuteScalar(string cmdText, params object[] p) { SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(cmd, connection, cmdText, p); return cmd.ExecuteScalar(); } } /// <summary> /// 分页 /// </summary> /// <param name="recordCount"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="cmdText"></param> /// <param name="countText"></param> /// <param name="p"></param> /// <returns></returns> public static DataSet ExecutePager(ref int recordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p) { if (recordCount < 0) recordCount = int.Parse(ExecuteScalar(countText, p).ToString()); DataSet ds = new DataSet(); SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); SQLiteDataAdapter da = new SQLiteDataAdapter(command); da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result"); } return ds; } } }

2009-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除