C++
@井九
适度设计
展开
-
寻找连通线,参考八后算法递归,可用于验证码去除连续干扰线
#include using namespace std;#define M 5#define N 4int a[M][N] = {0,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,1,0,1,0};int b[M] = {};void genLine(int n){ if (n == M) { for (int i = 0; i <原创 2010-05-11 17:00:00 · 29926 阅读 · 19 评论 -
腾讯小Q书桌图标怎么实现的啊?
Win7: 红色区域:类名是Shell_TrayWnd的容器 黄色区域:类名是ReBarWindow32的二级容器 绿色区域:类名是MSTaskSwWClass的窗口WinXP: 红色区域:红色区域——类名是Shell_TrayWnd的容器 黄色区域:类名是原创 2011-12-04 15:45:26 · 6049 阅读 · 10 评论 -
strlen的神奇实现
https://blog.delphij.net/2012/04/freebsd-strlen3.html与 Pascal 等语言不同,C 的字符串并不保存串的长度,而是在字符串末尾以 nul 字符('\0')来表示字符串结束。这个设计决策是上世纪 60 年代作出的,有都市传说是为了省几个字节的空间,不过我个人认为也可能是因为汇编里面到处都是判断是否碰到了 0 的操作。不管怎么转载 2012-05-23 14:51:59 · 1058 阅读 · 0 评论 -
自绘菜单,当菜单有子菜单时,系统会自动给绘制向右的箭头,而且菜单Disable,箭头仍然存在
系统调用DrawFrameControl(hdc, &rt, DFC_MENU, DFCS_MENUARROW)来绘制箭头,要屏蔽它1.菜单类不从CMenu派生,直接从CObject派生,所有内容都自绘,BCG库里有这样的类2.在DrawItem中把那个小三角所在的区域裁剪掉,让系统无法在那儿绘图。http://www.codeguru.com/cpp/controls/menu/mi原创 2012-03-23 13:50:08 · 1862 阅读 · 0 评论 -
提高php代码质量 36计(上)
转自oschina1.不要使用相对路径常常会看到: require_once('../../lib/some_class.php'); 该方法有很多缺点:它首先查找指定的php包含路径, 然后查找当前目录.因此会检查过多路径.如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.另一问题, 当定时任务运行该脚本, 它的上转载 2012-04-10 13:50:47 · 859 阅读 · 0 评论 -
无注册表的COM调用
对于COM,一般用CoCreateInstance来创建对象,这就要求COM的dll要用regsvr32注册,因为CoCreateInstance是要读注册表信息完成相应操作的。CoCreateInstance主要的工作是读注册表,然后CoLoadLibrary,调用DllGetClassObject,最后CreateInstance创建对象。如果我们自己来实现CoCreateInstan原创 2012-04-05 14:26:39 · 4139 阅读 · 1 评论 -
Outlook 日历时间块布局 html5实现
将左边的数据排列成右边的整齐和密集的数据。 Your browser does not support the canvas element. Your browser does not support the canvas element. var alldata = [[0,原创 2012-03-13 10:10:48 · 2787 阅读 · 0 评论 -
24点游戏 程序(三)
增加了部分去重复的功能,以及后缀转中缀显示。#include #include #include #include #include #include using namespace std;struct TOperData{ int operType; double data;};//检查计算的参数是否合法,也可以用于过滤一些重复的表达式bool c原创 2012-02-26 14:21:21 · 1186 阅读 · 0 评论 -
24点游戏 程序(二)
前面既然确定了后缀表达式的序列。那就可以开始遍历了。#include #include #include #include #include #include using namespace std;struct TOperData{ int operType; double data;};//检查计算的参数是否合法,也可以用于过滤一些重复的表达式原创 2012-02-26 14:05:11 · 1487 阅读 · 0 评论 -
24点游戏 程序(一)
无意间看见这个24点的网站http://www.24theory.com/solutions/allsolutions/,于是想起来把程序写写。考虑到中缀表达式有括号的麻烦,所以打算用后缀表达式处理。24点用后缀表达式的话,一共4个数字,3个运算符。假设数字用1表示,运算符用2表示。那么可能的计算方式就是类似11112221112221。。。但是这样随便列举原创 2012-02-26 11:58:40 · 1485 阅读 · 0 评论 -
编程语言烽火台
http://www.cppblog.com/Chipset/archive/2011/12/21/162552.html编程语言烽火台v10.4 – 2010年11月该表包含了主要软件产品或应用,以及实现所用的编程语言详细信息。有关信息很难找到,个别小错误可能会掠过作者的眼帘,欢迎给出修改、添加、以及引用的建议。该列表不会面面俱到,仅仅列出主要应用。具体到产品家族的次转载 2011-12-23 22:55:52 · 1304 阅读 · 0 评论 -
双屏/多显示器截屏
截屏程序的源码网上到处都有,但是基本都不支持多显示器。这让我一度以为支持多显示器是一件很困难的事情。(demo http://download.csdn.net/detail/problc/3841959 包含多显示器支持,窗口高亮,十字放大等)其实多显示的截屏跟主显示器的截屏区别并不大,甚至根本不需要EnumDisplayMonitors之类的调用。只是因为网上有了源原创 2011-12-12 13:54:23 · 14427 阅读 · 0 评论 -
C++ office2010 outlook mapi import
#import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\mso.dll" no_namespace,rename("DocumentProperties", "DocProps")#import "C:\Program Files (x86)\Microsoft Office\Office14\MSOUTL.O原创 2011-11-25 17:03:43 · 1568 阅读 · 0 评论 -
NTFS 删除文件的恢复
MFT很强大http://www.installsetupconfig.com/win32programming/windowsvolumeapis1_24.htmladd a ntfs.h header file to the project. Then, add the source code. // ntfs.h// Just a portion转载 2011-11-16 11:21:22 · 2242 阅读 · 1 评论 -
NTFS格式 读取MFT信息
#include "ntfs.h"#include #include #include #include using namespace std;//管理员权限运行typedef struct { ULONGLONG index; ULONGLONG paren原创 2010-10-28 06:33:00 · 11467 阅读 · 6 评论 -
阳历(公历)转农历 1801-2099
找了个1801-2099的数据#include using namespace std;struct LunarDate{ int year; int month; int day; bool isLeap; int yearCyl;//cyclic天干地支原创 2011-08-23 18:13:34 · 1168 阅读 · 0 评论 -
win7 x64怎么枚举所有快捷键呢
在http://www.wasm.ru/print.php?article=gui_subsystem中,提供了32位系统的驱动枚举所有快捷键的程序,但是转到win7 64位下会有各种问题。win7 x64不支持inline的汇编。。。那个驱动都无法编译。。。我对汇编也不熟,不能把汇编提成函数放到单独的asm里面。唉。只能学习一下windbg的内核调试过程了。debug到gph原创 2012-06-28 11:56:50 · 3001 阅读 · 0 评论 -
在windbg中测试shadow ssdt , win32k!NtUserGetForegroundWindow , hook shadow ssdt
在windbg中查看shadow ssdt:0: kd> lmstart end module name804d8000 806e3000 nt (pdb symbols) I:\Symbols\ntkrpamp.pdb\966DF78E558F483199141B029DF5A9D51\ntkrpamp.pdbUn转载 2012-06-27 14:05:52 · 3382 阅读 · 0 评论 -
tesseract-ocr训练方法
http://www.lixin.me/blog/2012/05/26/29536tesseract-ocr有2和3两个版本,不同版本训练方法稍有不同。第3版本的训练方法官版教程在这里:TrainingTesseract3第2版的训练方法官版教程在这里:TrainingTesseract我使用的是最新的3.01版本的。训练所需准备:1.下转载 2012-10-12 16:04:00 · 19375 阅读 · 6 评论 -
开源多语言公历农历转换
Lunar Solar Calendar Converter公历(阳历) 农历(阴历)转换,支持时间段从1900-2100如果需要更长的时间段,利用generate.htm生成的数据即可。支持各种编程语言 C#,java,Objective-C,php,Python,javascript(nodejs),C/C++,ruby,swift等支持Mac,Windows,An原创 2015-01-19 14:00:22 · 11257 阅读 · 1 评论 -
MAC QQ 截图
QQ的截图体验非常好,那么我们能在自己的Demo程序中嵌入qq的截图库吗?看了看qq的安装包,找到了截图的lib。引入自己的程序中,然后程序就拥有了最强大的截图功能了。qq用的mqui库,微信用的snip库。https://github.com/isee15/QQ-capture-screen-on-mac原创 2015-01-31 21:32:37 · 6333 阅读 · 0 评论 -
推荐!国外程序员整理的 C++ 资源大全
https://github.com/fffaraz/awesome-cpp转载 2014-11-02 11:08:22 · 6975 阅读 · 0 评论 -
MAC OSX 进程间通信
Mac OS下的IPC方式种类很多,大约有下面几种。 1. Mach API 2. CFMessagePort 3. Distributed Objects (DO) NSDistributedNotificationCenter4. Apple events 5. UNIX domain sockets 6. Internet sockets 或者 XPC(NSConne原创 2014-11-18 20:29:07 · 12848 阅读 · 0 评论 -
xml 标准字符过滤
今天在代码里面看见一串很奇怪的判断语句 if (c 0x9 && c 0xA && c 0xD && c 0xD7FF && c 0xFFFD)于是用0xE000和0xFFFD 搜索了一下,发现原来xml还有这些限制。根据xml spec http://www.w3.org/TR/xml/#charsetsxml合法的字符范围是[2]原创 2014-11-18 15:12:04 · 10306 阅读 · 0 评论 -
来自苹果的编程语言——Swift简介
http://zh.lucida.me/blog/an-introduction-to-swift/转载 2014-06-03 11:12:53 · 8301 阅读 · 0 评论 -
Mac 显示隐藏文件夹
Mac下想看隐藏文件夹,没找到地方设置。然后找到了下面的命令行。显示/隐藏Mac隐藏文件命令如下(注意其中的空格):显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowA原创 2014-05-13 10:50:44 · 5481 阅读 · 0 评论 -
常见验证码的弱点与验证码识别
http://drops.wooyun.org/tips/1410x00 简介验证码作为一种辅助安全手段在Web安全中有着特殊的地位,验证码安全和web应用中的众多漏洞相比似乎微不足道,但是千里之堤毁于蚁穴,有些时候如果能绕过验证码,则可以把手动变为自动,对于Web安全检测有很大的帮助。全自动区分计算机和人类的图灵测试(英语:Completely Aut转载 2014-04-02 14:24:13 · 11158 阅读 · 5 评论 -
如何识别高级的验证码
http://sebug.net/paper/pst_WebZine/pst_WebZine_0x02/html/PSTZine_0x02_0x09.html ==Ph4nt0m Security Team== Issue 0x02, Phile #0x09 of 0x0A |转载 2014-04-02 14:17:05 · 41682 阅读 · 9 评论 -
Win8 Metro C# 调用 C++代码
在写Win8 Store App 的时候,可能遇到需要调用C++的代码。比如有个压缩算法,Lz77,有C++的实现,改成C#实现需要很多时间,所以通过C++/CX包装一下,C#就能直接调用C++的实现了。首先创建C++静态库。必须使用extern “C”,同时使用#pragma once还避免重复include,用#ifndef __SOMEFILE_H__方式可能会报链接错误。原创 2014-02-28 00:15:43 · 2294 阅读 · 0 评论 -
Algorithm Gossip: 中序式轉後序式(前序式)
http://www.bcwhy.com/jdsf/AlgorithmGossip/InFixPostfix.htmAlgorithm Gossip: 中序式轉後序式(前序式)說明平常所使用的運算式,主要是將運算元放在運算子的兩旁,例如a+b/d這樣的式子,這稱之為中序(Infix)表示式,對於人類來說,這樣的式子很容易理 解,但由於電腦執行指令時是有順序的,遇到中转载 2012-11-16 16:19:40 · 1995 阅读 · 0 评论 -
透明窗口与不规则窗口制作方法总结
透明窗口与不规则窗口制作方法总结:Layered窗口: 1.使用GDI读取bmp图片, 只要用SetLayeredWindowAttributes设置mask color就可以制作不规则窗口了. 2.使用GDI+读取任意格式图片, 用SetLayeredWindowAttributes设置mask color, 不可以使某一颜色透明, 只能用RGN来做不规则窗口. 3.使用GDI+转载 2012-09-21 15:43:29 · 1744 阅读 · 0 评论 -
从浏览器启动客户端程序
综述 现在有很多B/S与C/S相结合的产品,会出现一种需求:从浏览器启动客户端的程序,并且如果客户端未安装相应程序,先提示安装。 主流的几款产品:腾讯QQ、阿里旺旺、迅雷、PPLive等,都有实现了类似的功能。 浏览器启动客户端程序可以通过注册自定义的Url协议来实现,而检测客户端是否安装程序需要利用ActiveX控件。 要额外注意的是,现在转载 2012-07-30 17:33:17 · 10394 阅读 · 7 评论 -
检测文件存在的四种方法
http://www.cppblog.com/alantop/archive/2006/05/10/6871.html1.WIN32_FIND_DATA m_data;HANDLE hFile;hFile=FindFirstFile(filename,&m_data)if(hFile==INVALID_HANDLE_VALUE) //file not found转载 2012-08-07 15:06:53 · 1141 阅读 · 0 评论 -
C/C++多种方法获取文件大小
http://www.cnblogs.com/cxun/archive/2009/02/24/1397153.html#include iostream>#include io.h>#include sys\stat.h>#include afx.h>#define _AFXDLLusing namespace std;void main(){转载 2012-08-07 10:35:07 · 1034 阅读 · 0 评论 -
阳历(公历)转农历
网上找了一些阳历转农历的代码,但总是有些对不上。参照百度万年历和好记星的日历,实现了一下1900-2099年之间的阳历转农历。#include using namespace std;struct LunarDate{ int year; int month原创 2011-08-23 15:47:26 · 1419 阅读 · 0 评论 -
Height of CComboBox's drop down list
当Common Control 6.0 和 Common Control 5.0的CComboBox不太一样当没设置CBS_NOINTEGRALHEIGHT时,5.0会算一个比较合适的滚动条,而6.0几乎会全展开(一直到屏幕边缘显示不下才有滚动条)。void Resize原创 2011-09-13 17:03:03 · 766 阅读 · 0 评论 -
求教奥数题:张明骑自行车,速度为每小时14千米,王华骑摩托车,速度为每小时35千米,他们分别从A、B两地出发,并在两地之间不断往返行驶,且两人第四次相遇(两人同时到达同一地点叫做相遇)与第五次相遇的地
求教奥数题:张明骑自行车,速度为每小时14千米,王华骑摩托车,速度为每小时35千米,他们分别从A、B两地出发,并在两地之间不断往返行驶,且两人第四次相遇(两人同时到达同一地点叫做相遇)与第五次相遇的地点恰好相距120千米,那么,A、B两地只见的距离是多少千米?图解:相原创 2011-08-09 17:47:00 · 5487 阅读 · 0 评论 -
(转)最好的求平方根的方法(精确度VS速度)Best Square Root Method - Algorithm - Function (Precision VS Speed)
原文地址:http://blog.csdn.net/jean7155/archive/2010/05/12/5581727.aspx 作者:Mahmoud Hesham El-Magdoub 文章来源链接:http://www.codeproject.com/KB/cpp/Sqrt_Prec_VS_Speed.aspx Technorati 标签: 平方根,算法,速度,精确度,Quake3,c++,c 简介: 我喜欢用DirectX进行游戏编程。我注意到在我的游戏中大多数被调用函数原创 2010-10-20 14:52:00 · 1583 阅读 · 0 评论 -
C++ STL IO流 与 Unicode (UTF-16 UTF-8) 的协同工作
<br />http://blog.csdn.net/bookish_2010_prj/archive/2010/04/06/5454771.aspx<br /> <br /><br />C++ STL IO流 与 Unicode (UTF-16 UTF-8) 的协同工作<br />凡用到文件读写,输入输出,就得和编码、Unicode 打交道。这系列实验来测试一下 C++ STL 的 IO流 对 ANSI 编码、Unicode 编码的支持特性,看能否找到一个自动识别编码,自动转码的解决方案。从基础开始,一步转载 2010-12-09 15:56:00 · 1151 阅读 · 0 评论 -
递归实现字符串反转char* reverse(char* str)合集
先看到的是一个递归输出的,不满足要求void ret_str(char* s){ if(*s != '/0') { ret_str(s+1); } cout}找到的比较好的两种方法,没有static变量,线程安全char* reverse(char* str){ int len = strlen(str); char tmp = str[len - 1]; if (len原创 2010-09-28 17:50:00 · 2188 阅读 · 0 评论