- 博客(43)
- 资源 (56)
- 收藏
- 关注
原创 C++编程设置控制台颜色(SetConsoleTextAttribute)
以前编写控制台程序,都是一种颜色,现在可以利用SetConsoleTextAttribute函数,设置控制台的前景色和背景色。闲话少说,直接上代码看效果:1、设置控制台颜色后,恢复默认颜色#include <stdio.h> #include <string.h> #include <stdlib.h> #include <win...
2018-12-13 10:32:25 4272
原创 VC中自动检测串口热插拔事件
这里主要利用Cwnd的ON_WM_DEVICECHANGE消息来处理。ON_WM_DEVICECHANGE消息在VS2010中好像只能通过手动来添加具体操作步骤如下:第一步、手动添加ON_WM_DEVICECHANGE消息1、在消息映射BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx)中添加:ON_WM_DEVICECHANGE() 2、在头文件
2017-12-05 09:41:58 2307 1
原创 openssl编程
OpenSSL的程序可以被分为两个部分:客户机和服务器,使用SSL协议使通信双方可以相互验证对方身份的真实性,并且能够保证数据的完整性和机密性。建立SSL通信的过程如图2所示。 图2 SSL通信过程 SSL通信模型采用标准的C/S结构,除了在TCP层上进行传输之外,与普通的网络通信协议没有太大的区别,基于OpenSSL的程序都要遵循以下几个步骤:(1 ) Open
2017-04-06 11:43:03 667
原创 openssl命令详解
OpenSSL功能远胜于KeyTool,可用于根证书,服务器证书和客户证书的管理一、构建根证书1、构建根证书私钥openssl genrsa -aes256 -out private/ca.key.pem 20482、生成根证书签发申请(ca.csr)openssl req -new -key private/ca.key.pem -out private/ca.csr -
2017-03-22 22:18:37 3130 1
转载 SSL基本概念
OpenSSL初接触的人恐怕最难的在于先理解各种概念 公钥/私钥/签名/验证签名/加密/解密/非对称加密 我们一般的加密是用一个密码加密文件,然后解密也用同样的密码.这很好理解,这个是对称加密.而有些加密时,加密用的一个密码,而解密用另外一组密码,这个叫非对称加密,意思就是加密解密的密码不一样.初次接触的人恐怕无论如何都理解不了.其实这是数学上的一个素数积求因子的原理的应用,如
2017-03-22 21:56:09 1334
原创 解决win10缩放125%时,字体模糊的问题
目前,高分辨率的屏幕在win10上放大125%显示时,系统自带的软件显示没有问题,但是第三方软件显示时,字体显示模糊。而网上的大部分办法都治标不治本,或者每个程序需要单独设置,比较麻烦。下面的方法可以解决125%下的模糊问题,本人亲测可用。方法如下:1、调整缩放比例为125%。2、在目录 C:\ProgramData\Microsoft\Windows\Start Menu\Pro
2017-02-24 20:41:11 55917 10
转载 如何反编译apk文件得到源码和XML文件
本文Android反编译教程,测试环境:Win7 Ultimate x64Ubuntu 12.04 x86_x64反编译工具包 下载 (2012-10-10更新)一、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。apk
2016-10-20 09:58:36 768
原创 ActiveX回调js函数 之 变量调用
ActiveX回调js函数 之 变量调用1、在VC6.0下创建一个MFC ActiveX工程,此处滤过具体步骤。2、添加外部调用的变量OnDataIn,步骤如下: 3、在StdAfx.h中包含的最后一个afx头文件后添加如下代码: #include extern CComModule _Module;#include 4、在St
2016-09-18 17:12:03 2447
原创 JNI使用实例之C、C++ DLL回调java成员函数
使用场景描述如下:1、使用java程序调用C开发的DLL,传入一个已封装的socket对象2、在C开发的DLL中根据传入的对象调用java提供的recv()、send()函数发送数据java部分对应的代码如下:// ISocketBase.javapackage com.tms;public interface ISocketBase { public void
2016-07-12 11:30:36 6155 1
原创 C#加载C、C++动态库的方法
1、针对托管动态库的调用本文章中的外部调用函数声明如下:public delegate int PutValue(string name, string value);Assembly ass = Assembly.LoadFile(filePath);//这里是动态库的路径。Type tWorker = ass.GetType(dllType);//dllType是你所需要
2016-07-12 10:55:14 5573
转载 MySQL5.5 my.cnf配置参考
MySQL5.5 my.cnf配置参考主要配置参数转载自: http://www.linuxyw.com/a/shujuku/20130506/216.html 并稍微做了修改MyISAM部分以适应当前的环境此配置是老男孩生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接
2016-05-10 11:27:33 1155
转载 mysqldump备份数据库,并删除7天前的备份文件脚本
在/server/scripts/目录中创建备份脚本mysql_backup.sh#!/bin/bash# ---------------------------# Filename: mysql_backup.sh# Revision: 1.4# Date: 2016/05/09# Author: ywliyq# Email:
2016-05-10 11:21:24 3147
原创 字符编码历史
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机“。开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。 他
2016-04-24 00:34:40 389
转载 CListCtrl用法简介和使用技巧
http://www.cnblogs.com/qintangtao/archive/2013/02/24/2924332.htmlhttp://www.cnblogs.com/qintangtao/archive/2013/02/24/2924546.html
2016-03-24 17:32:35 274
转载 CListCtrl和对话框的消息传递问题
最近在做个小例子,在对话框中放了一个CListCtrl,为CListCtrl增加了双击消息的处理,也在对话框中增加了这个CListCtrl的双击消息处理,这时问题出现了,我发现每次在对话框和CListCtrl中只有一个能收到鼠标的双击消息,而且CListCtrl优先。如果既想让CListCtrl来处理它的内部事务,也想通知到对话框,“CListCtrl有双击消息了!”,怎么办呢?先看VS200
2016-03-23 08:45:35 1606
原创 Linux进程间通信 - 消息队列
1.1. 什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。1.2. 相关的接口函数介绍Linux提供了一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信
2016-03-11 11:00:24 2182
原创 error LNK2005: _DllMain@12 already defined in LIBCMTD.lib(dllmain.obj) 解决方案
1、使用场景:在非MFC程序(使用MFC作为静态连接库)中,添加MFC支持,静态链接MFC库使用VC6.0编译时,发生如下错误:2、问题原因分析:CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。当 C 运行时 (C
2016-01-26 11:36:41 3693
转载 VS2010下设置win32/win64,编译出不同平台程序版本
一、x86,即一般普通pc上跑的程序版本,不用修改工程属性 二、x641、设置工程平台---会在工程目录下生成 x64 文件夹在工具栏--->生成--->配置管理器 窗口 设置“活动解决方案平台”和“平台” 为x64,“平台”那里没有x64,就点击新建。2、选择目标机器平台在工具栏--->项目--->xx属性 窗口 选择 “配
2016-01-19 11:47:46 24666 1
转载 Linux信号量机制(生产者消费者)
该程序为Linux信号量机制实现程序,主要模拟了一般的生产者-消费者问题。(生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等
2015-12-15 17:23:47 1760
原创 如何截获并替换系统最小化功能
如何截获并替换系统最小化功能方法一:捕获对话框的WM_SYSCOMMAND消息,在OnSysCommand函数中如下实现即可:void CTestLRCDlg::OnSysCommand(UINT nID, LPARAM lParam){ if((nID & 0xFFF0) == SC_MINIMIZE) //替换系统最小化为隐藏对话框功能 { ShowWindow(SW_HIDE)
2015-09-10 16:43:04 986
原创 VC 怎么实现对鼠标离开对话框时,事件的处理
捕获鼠标离开对话框的事件方法一:使用_TrackMouseEvent函数处理,对应的代码如下:BOOL CLRCDlg::PreTranslateMessage(MSG* pMsg) { static BOOL bMouseTracking = FALSE; if(pMsg->message==WM_MOUSELEAVE) { bMouseTracking= FALS
2015-08-26 09:13:19 3003
转载 孤儿进程与僵尸进程
孤儿进程与僵尸进程[总结]1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况
2015-07-24 14:22:01 460
转载 Java调用动态库方法说明
Java不能直接调用由c或者c++写得dll(TF_ID.dll),所以只能采用jni得方法,一步一步生成符合规范得dll文件(假设叫FANGJIAN.dll),在FANGJIAN.dll这个文件里来调用TF_ID.dll。注意一点:两个dll文件不能重名,为什么呢?因为java后来执行时候,必须把两个dll文件均考到java得class文件同一目录下,或者把TF_ID.dll考到system32
2015-07-23 11:29:51 468
原创 printf的详细用法
记录一:程序段如下:#include int main(){ unsigned char data[] = "123456789"; int a = 15; int b = 7; //控制最小字符宽度,其中*号使用第一个参数填充 printf("%0*s\n", a, data); printf("%0*s\n", b, data); //显示输出的位数 pr
2015-07-15 16:01:26 11997
原创 在MFC中,设置ComboBox控件中下拉列表的高度
在MFC中,如何设置ComboBox控件下拉列表的高度方法一:(只适用于静态创建)如果是从MFC资源框中拖放下拉控件,那么可以单击下拉框的向下箭头,调整弹出的虚线框,就可以实现了。方法二:(只适用于动态创建)在动态创建下拉控件的Create函数中,RECT变量的高度Height设置大些,下拉列表的高度 = Height - ComboBox控件的高度方法三:(适
2015-06-04 17:18:27 17147 1
转载 pb调用vc dll约定
VC PB dllVC6中的函数调用约定: 调用约定 堆栈清除 参数传递 __cdecl 调用者 从右到左,通过堆栈传递 __stdcall 函数体 从右到左,通过堆栈传递 __fastcall 函数体 从右到左,优先使用寄
2015-06-02 14:00:44 888
原创 如何使用C++语言,读取ini文件中空格
在使用GetPrivateProfileString函数时,有时我们需要读取ini配置文件中的前置空格,怎么办呢?现在给出一个例子:#include #include int main(){ char szCont[100]; int iReadLen = 0; memset(szCont, 0, sizeof(szCont)); iReadLen = Ge
2015-05-22 11:43:24 4083 1
原创 C语言计算两个日期之间的天数
计算两个年月日之间的天数,思路是分别算出日期的总天数然后相减。typedef struct { int iYear; int iMonth; int iDay;}Date;//IsLeap函数判断一个年份是否为闰年,方法如下:bool IsLeap(int year){ return (year % 4 ==0 || year % 400 ==0) && (year %
2015-05-22 11:09:19 11546 3
原创 scanf,sscanf高级用法
scanf,sscanf高级用法最近遇到了解析配置的问题,用正规表达式感觉大题小做,使用sscanf因只会用基本用法,感觉功能不够,上网搜了下,解析起来不费吹灰之力,代码也很简洁。原帖出处不详,网上到处是,我做了点修改名称:sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型:Int sscanf( string s
2015-05-22 11:01:59 549
转载 再谈shell之“>/dev/null 2>&1”
今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚!shell中可能经常能看到:>/dev/null 2>&1命令的结果可以通过%>的形式来定义输出分解这个组合:“>/dev/null 2>&1” 为五部分。1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt2:/dev/nul
2015-04-24 15:54:01 337
原创 C语言字节对齐
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些
2015-04-17 10:30:43 460
原创 linux下socket编程实例
一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket实现。1、socket函数syntax: int s
2015-04-13 17:47:47 436
原创 VC中如何让一个应用程序只启动一次
方法一:使用#pragma data_seg步骤一:在应用程序的入口文件前面加上如下语句#pragma data_seg("flag_data")int g_Count = 0;//共享数据必须初始化,否则微软编译器会把没有初始化的数据放到.BSS段中,从而导致多个进程之间的共享行为失败。#pragma data_seg()#pragma comment(linker,"/
2015-04-09 10:42:58 4729
原创 C预处理器
C预处理器是一种简单的宏处理器。 预处理器是由特殊的预处理器命令行控制的,它们是以#符号开头的源文件行。 预处理器的一般操作:从源文件中删除所有的预处理器命令行,并在源文件中执行这些预处理器命令所指定的转换操作 预处理器代码行的语法与C语言其他部分的语法是完全独立的,但经过预处理所产生的源代码必须在上下文环境中合法 常见的预处理器命令: #define 定义一个
2015-04-09 09:51:21 518
原创 WaitForSingleObject 和 WaitForMultipleObjects函数
WaitForSingleObject 和 WaitForMultipleObjects:1.WaitForSingleObject 等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止。这些等待函数中最常用的是WaitForSingleObject: DWORD WaitForSingleObject(HANDLE hObject, DWORD dwMil
2015-04-09 09:13:57 460
原创 VC窗口自由的调整大小的实现
VC窗口自由的调整大小的实现。具体代码和详细的英文说明,大家可以看原文,本篇是使用后的具体细节说明。1,将在对话框的属性里设置 边框可调整大小的2,在主窗体cpp添加#include EasySize.h ,也可以按照原创的方法添加到 stdafx.h中3,在定义主窗体的地方以下是引用片段:class CEasySizeDemoDlg : public CD
2015-04-08 18:04:41 2543
原创 批处理文件
基础部分:======================================================================一、基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环
2014-04-15 23:21:38 966
原创 VC实现将文件放入回收站
CFile类中的Remove()函数来删除一个文件,但是这样的操作将永久性的删除该文件,不能在必要的时候再恢复该文件,解决这个问题的方法就是把文件送到Windows系统中的回收站里面,而不是简单的永久性删除它,这样用户就可以在必要的时候恢复这个文件。 在Windows的shellapi文件中定义了一个名为SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的
2014-04-09 23:50:04 1438
原创 如何在Unicode与ANSI之间转换字符串
如何在Unicode与ANSI之间转换字符串?Windows函数MultiByteToWideChar用于将多字节字符串转换成宽字符串;函数WideCharToMultiByte将宽字符串转换成等价的多字节字符串
2014-04-06 21:11:04 704
CppSQLite + sqlcipher + sqlite_3.33.0实现数据库加密
2020-09-04
JAVA调用COM组件
2019-10-29
NPAPI Demo实例
2017-04-06
ssl测试代码
2017-03-22
C++ BUilder的多语言Demo
2016-11-14
window下C++ 邮件发送 源代码
2016-05-04
linux和window通用的 C 邮件发送 源代码
2016-05-04
LRC桌面歌词显示
2015-09-10
智能源码统计专家 v3.7 绿色免费版
2015-05-19
VC窗口自由的调整大小的实现
2015-04-08
01-操作系统概述
2013-11-18
批量doc转CHM工具
2013-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人