- 博客(26)
- 资源 (3)
- 收藏
- 关注
原创 简谈Openssl与usbkey证书认证相结合
一般windows客户端在做证书认证时候,使用微软的winnet相关的函数即可。但在某些情况下,这种方式不够灵活自由,那么就可以使用openssl库来实现。对于使用p12证书进行客户端认证的代码在网上随便可以搜出一大堆,但是结合usbkey进行认证的就少之又少。这里介绍一下openssl里的engine技术来解决这种方法。1.使用较新版本的openssl自带的capi引擎,该引
2013-03-26 17:50:36
3263
原创 Directx之Dsound播放音频文件
1.初始化并 设置音频设备的合作级别 cooperative levelIDirectSound8* g_ds; IDirectSoundBuffer8* g_ds_buffer; DirectSoundCreate8(NULL, &g_ds, NULL);g_ds->SetCooperativeLevel(g_hwnd, DSSCL_NORMAL)
2012-05-15 20:20:45
1885
转载 MFC双缓冲绘图
用MFC编写绘图程序时, 在窗口最小化再还原后会将绘制的图形擦掉。解决这一方法可使用双缓冲:在 内存DC中绘制, 然后从内存DCBitBlt到物理DC上。示例:1、建立一SDI工程Mfc_draw。2、在类CMfc_drawView中添加变量:[cpp] view plaincopyprotected: CPoint m_ptOld; CDC
2012-05-10 14:48:55
2675
原创 wordpress的一些笔记
一个指向主页的超链接">HOME显示网站名加载头header.php定义一个变量并给赋值,值为网站的描述,如果变量有值,接着判断是否为主页?如果不是主页,将页码相关信息并入字符串。最后显示出来echo。<? php$site_description = get_bloginfo( 'description', 'display' );if ( $site_d
2012-05-05 11:13:10
679
原创 wordpress的LAMP环境搭建
Linux+Apache+Mysql+PHP (phpmyadmin) 1.安装mysql数据库sudo apt-get install mysql-client mysql-server2.安装apache2sudo apt-get install apache23.安装php支持模块sudo apt-get install libapache
2012-05-03 14:57:55
528
原创 mysql环境搭建 及 基本操作
1.Ubuntu下安装sudo apt-get install mysql-server安装过程中设置mysql root用户的密码服务重启server mysql restart修改用户远程连接的权限UPDATE `user` SET`Host`='192.192.192.192' WHERE `User`='root' LIMIT 1;2.基本操
2012-04-24 14:44:14
5470
原创 绘图
CDC类(DEVICE CONTEXT )封装设备描述句柄的MFC类,主要的成员函数有:绘图工具(笔、刷子等)、操作颜色和调色板、坐标映射和转换、绘制文本和几何图形、选择字体、处理元文件等。由CDC类派生出下面四个类1.CClient2.CMetaFileDC3.CPaintDC4.CWindowDC1.可以调用两个函数为窗口取得两种类型的设备句
2012-04-16 17:04:40
495
原创 wav音频文件的结构
Wav 文件的四个组成部分:RIFF WAVE Chunk ID = 'RIFF'RiffType= 'WAVE' Format Chunk ID = 'fmt ' Fact Chunk (optional) ID = 'fact'
2012-04-13 15:05:01
490
原创 MFC的打印调试方法
在MFC App累中添加#include #include InitConsole();void InitConsole() { int nRet= 0; FILE* fp; AllocConsole(); nRet= _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE
2012-03-11 14:20:20
1109
原创 MFC从数据库里导出excel文档
void CPctoolDlg::OnUserExcell() { if(!m_ExlApp.CreateDispatch("Excel.Application",NULL)) { AfxMessageBox("创建Excel服务失败!"); return; } //m_ExlApp.SetVisible(TRUE); CString TempPath
2011-12-08 18:15:16
3844
原创 vc 调用win32程序 参数传入问题
直接执行这个不会出错,但是 > zhouyong.txt参数不会传进去WinExec("wapg.exe -a 1 -M nc -n 20 -m 16 -x 16 -E 0125ILOSZ > zhouyong.txt", SW_HIDE);所以正确的方法是:WinExec("cmd /c \"wapg.exe -a 1 -M nc -n 20 -m 16 -x 1
2011-12-08 17:23:33
1178
原创 MFC之进程间的通信---管道,telnet服务端
MFC应用程序 和 cmd.exe程序之间的通信。#include#include #pragma comment (lib, "Ws2_32.lib")int port = 1234;DWORD WINAPI ClientThread(LPVOID lpParam);void OpenDoor(){ // 初始化 Winsock. WSADAT
2011-11-15 09:43:25
1900
原创 如何编译动态链接库
1.准备工作:vc6.0新建DLL 工程, 编写好你的.cpp 和 .h文件,编写好,def文件。2.实践首先这里有六个dll文件和它对应的.h 和.lib文件,我需要做得是,将他们进行2次封装成一整个dll文件,里面将会有我所有可能用到的函数。
2011-11-06 16:51:27
826
原创 动态库DLL的调用
总结一下VC使用DLL文件:1.这里主要讲得非MFC的动态库动态库的调用方式,静态调用和动态调用两种方式。静态调用,即将编译dll文件时生成的lib文件和自己定义的头文件,一同加入vc的工程,lib文件相当于一张函数的地图,在编译的过程中会随着其他文件一起连接生成 可执行文件。加入lib文件的方式可以是#pragma comment(lib, "lib文件的位置") 也可以直接在 pr
2011-11-04 21:41:14
525
原创 telnet客户端登陆程序
最简单的一个socket编程实例。暂且不去管telnet服务器端的程序,你可以在ubuntu里面很轻松的安装telnet的服务端,如果你是在虚拟机下运行的话,你可以在windows里面telnet登陆到里的服务器上去,默认是23端口。telnet的客户端程序基本上是一个纯粹的socket套接字程序,基于TCP/IP协议的套接字编程,到处都可以看到,唯一有点不同的是,客户端 可以和 服务器端
2011-10-31 11:05:15
1856
原创 crc32校验
void mpeg_InitCrcTable_fun(void){ int i, j; unsigned int ulCrcAccum; //build table for every possible byte for(i = 0; i < 256; i++) { ulCrcAccum = ((unsigned int) i << 24);
2011-10-26 17:21:15
455
原创 数据结构之二叉树遍历
1.递归的方法遍历二叉树的顺序存储方式:①先序遍历 void PreTraverse(SqBiTree T,int e) { VisitFunc(T[e]); if(T[2*e+1]!=Nil) /* 左子树不空 */ PreTraverse(T,2*e+1); if(T[2*e+2]!=Nil) /* 右子树不空 */ PreTraverse
2011-10-24 14:04:34
593
原创 编程规范之内存管理部分
首先我们要清楚什么是 静态存储区、堆heap、栈stack。①静态存储区,内存在程序编译的时候就已经分配好,存在于程序的整个运行期间。此区域存放的有 全局变量、static静态变量、常量。②堆heap,也称为动态内存分配。通常用到的malloc和new函数,就在堆上分配内存,这时一般由编程人员灵活使用,也通常在这个地方容易出问题,发生内存泄漏。③栈stack,通常某个函数里的局部变量就
2011-10-21 23:30:59
584
转载 Android 定时器
一、采用Handle与线程的sleep(long )方法Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。1.定义一个Handler类,用于处理接受到的Message.Handler handler = new Handler() {public void handleMessage(Mes
2011-05-20 20:46:00
565
原创 C语言结构体对齐
<br />C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事<br />C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?<br />
2011-05-13 22:46:00
341
原创 ListView中遇到的小错误
还是个菜鸟,不太会看LogCat。The application has stopped unexpected!!究其原因,变量的重复定义,没有看出来,simpleAdapter中使用的,变量是个未初始化的。重复定义了一个局部变量,并没有使用。导致程序出错。 粗心害死人啊!!
2011-04-11 20:59:00
371
原创 文件操作
1.创建文件#include #include #include #include #include void create_file(char *filename){ if(create(filename,0755)<0) { printf("create file %s failure!/n",filename); exit(EXIT_FA
2011-03-29 11:40:00
387
转载 redhat 网络配置
<br /><br />#一:配置文件说明。<br /><br />[root@redhatlinux9 root]# cat /etc/sysconfig/network<br /># CAT用来显示此文件 /etc/sysconfig/network ,此文件包含了主机的最基本网络信息,用于系统启动。<br />NETWORKING=yes<br />HOSTNAME=redhatlinux9<br />GATEWAY=192.168.1.1<br /># 比如以上显示了主机名和网关信息等。<br />
2011-03-25 11:58:00
2343
转载 android学习
<br />看了很多帖子,只发现了一篇给新手指明道路的【[转]学习android需要的基础】。对于已有编程经验的人来说,学习相对轻松。而...今天特此发帖一份,帮助那些观望而不知道学什么的人.本人才疏学浅,仅把自己对于编程的一些小小的了解包含其中, 还望高手斧正。<br /><br />1.完全没有不懂编程语言的人群:<br /><br />建议先从C语言开始,主要学习它的语法,写一些经典的小算法,锻炼逻辑思维能力,不需要了解的太深,也无需关心类库函数.<br />推荐书籍:谭浩强-《C程序设计》(谭浩强)
2011-03-18 11:36:00
471
原创 arm 指令的寻址方式
<br />1、立即寻址 操作数在指令中直接给出<br />ADD R0,R0,#1 ;R0←R0+1<br />ADD R0,R0,#0x3f ;R0←R0+0x3f<br />2、寄存器寻址 操作数在寄存器<br />ADD R0,R1,R2 ;R0←R1+R2<br />3、寄存器间接寻址操作数的地址在寄存器<br />ADD R0,R1,[R2] ;R0←R1+[R2]<br />LDR R0,[R1] ;R0←[R1]<br />STR R0,[R1] ;[R1]←R0<br />4、基址
2011-03-10 17:56:00
770
原创 MFC串口通信的两种方法及注意事项
1.基于Active控件的方式(MSComm) 优点是:直接利用控件,在串口有数据到达时,会促发相应的事件响应函数,然后你可以在实践响应函数里,进行数据的读取。 缺点是:数据在发送和接受的过程中VARIANT、 COleSafeArray 类型的转换,显得繁琐。 步骤: ①插入控件 选择Project菜单下
2011-01-06 15:13:00
26744
Sqlite数据库 wince开发包
2012-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人