技术类
文章平均质量分 77
小人物2014
作出好的产品给大家是我梦想
展开
-
9中排序算法
本文是 http://blog.csdn.net/xiazdong/article/details/7304239 的补充,当年看了《大话数据结构》总结的,但是现在看了《算法导论》,发现以前对排序的理解还不深入,所以打算对各个排序的思想再整理一遍。本文首先介绍了基于比较模型的排序算法,即最坏复杂度都在Ω(nlgn)的排序算法,接着介绍了一些线性时间排序算法,这些排序算法虽然都在线性时间,但是都转载 2015-05-28 17:17:15 · 707 阅读 · 0 评论 -
HOOK技术浅谈
摘要: 本文针对HOOK技术在VC编程中的应用进行讨论,并着重对应用比较广泛的全局HOOK做了阐述。 一、引言 Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需要对在进程外传递的消息进行拦截处理就必须采取一种被称为HOOK(钩子)的技术。钩转载 2014-11-13 13:12:15 · 3219 阅读 · 0 评论 -
VC改变桌面
我用函数SystemParametersInfo(SPI_SETDESKWALLPAPER,TRUE,(LPVOID)(LPCWSTR)szPath, SPIF_SENDWININICHANGE|SPIF_UPDATEINIFILE); 来设置桌面背景,不过,它是居中的。原因是我的电脑分辨率是1440*900,而我的图片则是比分辨率小,所以桌面边沿有空隙,我想让图片铺满全屏,该如何设置呢?经转载 2014-10-24 17:00:26 · 511 阅读 · 0 评论 -
setwindowpos详解
SetWindowPos函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,U转载 2014-10-22 15:39:22 · 1878 阅读 · 1 评论 -
android自动升级
由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:upda转载 2014-09-17 11:08:54 · 424 阅读 · 0 评论 -
属性formart描述
1. reference:参考某一资源ID。 (1)属性定义: background" format = "reference" /> (2)属性使用: android:layout转载 2014-09-17 11:30:43 · 798 阅读 · 0 评论 -
安卓的自定义progress,受用
很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项目中能够重用,有时候我们需要自定义其属性,举个很简单的例子,我在项目中的多个界面使用我自定义的View,每个界面该自定义View的颜色都不相同,这时候如果没转载 2014-09-17 11:22:24 · 1273 阅读 · 0 评论 -
fragment的历程
As outlined in the previous chapter, fragments provide a convenient mechanism for creating reusable modules of application functionality consisting of both sections of a user interface and the corresp转载 2014-09-16 16:40:39 · 1081 阅读 · 0 评论 -
Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可以相应地完成切换,而当我们点击Tab时,我们的屏幕同样可以完成切换。讲到滑动,我们会立即想到PagerView,讲到ActionBar,我们立即会想到将ActionBar的导航模式。那么,我们今天要做的转载 2014-09-16 18:02:39 · 6986 阅读 · 1 评论 -
安卓fregment
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧。很多手机应用都会有一个非常类似的功能,即屏幕的下方显示一行Tab标签选项,点击不同的标签就可以切换到不同的转载 2014-09-16 00:25:17 · 858 阅读 · 1 评论 -
安卓多图引导界面
进入程序后会以动画的方式弹出引导界面,可以左右横向拖动,在最后一张图片的立即体验上触摸后可以关闭引导,回到主界面package com.zj.popupwindow2; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import android.os.转载 2014-09-15 14:48:12 · 1044 阅读 · 0 评论 -
CppSqLite 对sqllite的二次封装
CppSqLite对SQLite的API进行了一次封装,让开发人员更加方便的使用SQLite。 1.准备一下(1)CppSQLite3.h 和CppSQLite3.cpp(2)sqlite3.h、sqlite3.lib和sqlite3.dll在使用这个类的时候,你需要确保几件事情:首先你要下载上诉5个文件。其次就是在你的工程中引入,sqlite3.lib,最转载 2014-10-31 17:52:18 · 866 阅读 · 0 评论 -
printf 字符串格式化的详细介绍 -留个脚印以免忘记
[转]printf 字符串格式化在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下: int sprintf( char *转载 2014-11-01 00:34:51 · 835 阅读 · 0 评论 -
FFmpeg深入分析之零-基础
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一些编解码部分,只有真正了解了多媒体处理的基本流程,研读ffmpeg源代码才能事半功倍。下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相应的多媒体播放器原创 2015-03-12 10:34:59 · 491 阅读 · 0 评论 -
VC中快捷方式的使用和原理
第六章 快捷方式的最短路径 Windows Shell允许存储任何对象的引用到系统范围内的任何地点。例如,当你从一个文件夹拖拽可执行程序到另一个文件夹时,鼠标自动改变形状给出除拷贝和移动文件之外的第三种选择。 除非你确定,否则可执行文件是不能拷贝或移动的,相反,每转载 2015-02-28 12:34:57 · 2896 阅读 · 0 评论 -
基于Richedit的简单IM实现之一:界面部分
现在的IM软件有很多种,采用Richedit实现占用的资源比较少,并且richedit的开发也比较容易。在这篇文章中,主要讨论richedit的高级应用和dynamicGif控件的永久化存储、保存到文件等功能。dynamicGif控件进行了扩充,支持从流中创建对象和保存到文件。下面介绍如何保存控件中的文件: BOOL SaveToFile( IOleObject* pOleObje转载 2015-01-23 20:08:58 · 2104 阅读 · 0 评论 -
任务栏托盘不消失的问题-有启发
通过找出该图标所对应的进程ID,如果该ID为NULL则删除该图标.#include #include #include int main(){HWND hStatus=::FindWindow("Shell_TrayWnd",NULL); //得到任务栏句柄if (hStatus==NULL) { cout<<"Get Shell_TrayWnd error!\n原创 2014-10-22 11:33:49 · 1234 阅读 · 0 评论 -
Win32网络操作
摘要 这篇技术性文章讨论了如何利用Microsoft Win32网络函数创建一个网络浏览器。这篇文章的宗旨是让读者了解一些Win32网络函数的作用、能力和使用范围,而不是为这些功能给出一个详细的文档。这篇文章所配合的SurfBear样本应用程序使用Win32网络函数从网络服务器上读取HTML文件,并把它们显示成原始的、没有经过格式化的文本。 介绍 不通过网络,你就无法了解我的一个朋友。计算机杂转载 2014-11-27 12:36:00 · 499 阅读 · 0 评论 -
隐藏进程的集中方法集合-可供参考
有人说这是个问了一百遍的问题,大家为什么一定要编这样的程序呢?不是特权思想在作怪吧:)有位高手是这么说的,看看有没有帮助。隐藏进程大发一般有4种方法:1)DLL挂靠大发程序改写为DLL结构,挂靠Explorer.exe上运行好处:没进程实体,普通进程查看无效缺点:可以通过代码叫Explorer.exe Unload你的Dll,呵呵,还有Explorer出错时转载 2014-11-04 17:49:14 · 829 阅读 · 0 评论 -
三线程保护程序-思路可以借鉴
下载地址: 一> 前言 中国黑客(worm.runouce)病毒在国内出现以后,各大反病毒公司都对其进行了“仔细”的分析,得出一个结论:“中国黑客”发现了全球首创的“三线程”结构。这是金*公司对外的宣传词,我个人对病毒没什么研究,并且我对worm.runouce没有任何的个人看法,不过我可以确信的是很多反病毒公司往往在夸大事实,目的只有一个:让更多的用户觉得某某病毒很可怕,让更转载 2014-11-04 17:53:28 · 1536 阅读 · 0 评论 -
怎么实现防止被其他进程杀掉
进程防杀的实现在WINDOWS操作系统下,当我们无法结束或者不知道怎样结束一个程序的时候,或者是懒得去找“退出”按钮的时候,通常会按“CTRL+ALT+DEL”呼出任务管理器,找到想结束的程序,点一下“结束任务”就了事了,呵呵,虽然有点粗鲁,但大多数情况下都很有效,不是吗?设想一下,如果有这么一种软件,它所要做的工作就是对某个使用者在某台电脑上的活动作一定的限制,而又不能被使用者通转载 2014-11-04 17:37:35 · 4982 阅读 · 1 评论 -
百度天气API详解
百度提供天气预报查询接口API,可以根据经纬度/城市名查询天气情况,我们可以在微信公众平台开发中调用这一接口。接口说明根据经纬度/城市名查询天气的结果接口示例http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ百度ak申请地址:转载 2014-11-20 16:06:13 · 10660 阅读 · 1 评论 -
今天用VS2005编译DirectShow程序,一些莫名其妙的问题总结
error LNK2001: 无法解析的外部符号 "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)error LNK2001: 无法解析的外部符号 "public: virtual原创 2014-10-15 16:42:34 · 414 阅读 · 0 评论 -
dshow的filter新建
学习directshow已经有几天了,下面将自己的学习心得写下来,希望对其他的人有帮助。 Filter实质是个COM组件,所以学习开发Filter之前你应该对com的知识有点了解。Com组件的实质是一个实现了纯虚指针接口的C++对象。关于com的东西,这里不多讲。 一、给vc配置DirectShow的开发环境 无论开发Filter还是开发Dshow的应用程序都要配置一下开发环境转载 2014-10-16 11:35:48 · 1244 阅读 · 0 评论 -
安卓系统的生命周期
首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码:?123456789pu转载 2014-09-15 15:05:37 · 856 阅读 · 0 评论 -
安卓左右滑动的实例
这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下。在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:public void overridePendi转载 2014-09-15 15:00:50 · 620 阅读 · 0 评论 -
内核对象详解
内核对象只是操作系统内核分配的一个内存块,并且只能由操作系统内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。Windows提供一组函数创建和操作内核对象。调用一个创建内核对象的函数,函数会返回一个句柄,该句柄标识了这个内核对象,这个句柄可由当前进程中的所有线程调用。也可以通过跨进程边界共享内核对象,让其他的进程调用。 使用计数。内核对象有个使用计数数据成员,标识原创 2014-08-20 17:43:21 · 386 阅读 · 0 评论 -
OLe复合文档介绍
/////////////////////////////////////////////////结构化存储和OLE对象/////////////////////////////////////////////////1 引言目前,传统的二层C/S(Client/Server)结构应用软件已发展为多层结构的分布式应用系统[2]。为了改善系统的工作效率以及提高系统的伸缩性,很多软件开发人转载 2014-03-10 10:42:57 · 3190 阅读 · 0 评论 -
留个纪念
我要得到Richedit里面的内容,使用richedit的streamout。为何streamout后得到的数据变得那么庞大?解决方案 »The value of nFormat must be one of the following: SF_TEXT Indicates writing text only.SF_RTF Ind转载 2014-03-10 15:21:00 · 723 阅读 · 0 评论 -
C++ Regex使用
C++ Regex C++中使用Regex一直是个麻烦事,为了小小的Regex安装boost库实在不是什么能让人感觉到兴奋的事情。http://iregex.org/的老大推荐了http://www.pcre.org/,感觉非常非常的不错。有兴趣的朋友绝对值得去研究一下。 Win下的版本可以从http://www.psyon.org/projects/p转载 2014-03-12 13:01:12 · 976 阅读 · 0 评论 -
IPersistStorage接口详解
允许一个ActiveX控件嵌入到容器中,这项技术已经很长时间了。OLE文档标准(当时称为复合文档,Compound Documents)于1991年创建,其中包含了OLE的主要内容。实际上OLE是Object Linking and Embedding(对象链接与嵌入)的首字母缩写。在ActiveX控件出现以后,OLE文档标准也得到了增强,它允许文档服务器向外公开programmatic功能。原创 2014-03-12 10:26:32 · 1895 阅读 · 0 评论 -
C++处理URL的方法,项目有用到,过程记录如下
由于这块需要转换成unicode码,也就是将字符串传换成unicode码,因此需要对输入的字符串做处理,同时又分两种情况,中文 非中文的处理,要区别对待,首先要对输入的字符串进行识别:int 是不是中文(char *str){char ch;while (1){ch = *str++;if (ch == 0){break;}if (ch&原创 2014-03-03 17:09:06 · 2337 阅读 · 0 评论 -
string的trim没有,写一个,效果不错
inline static string& left(string& str) { string::size_type index = str.find_first_not_of(" \n\r\t");if (index != string::npos){str = str.substr(index);}return str;}inline static stri转载 2014-03-02 14:29:48 · 505 阅读 · 0 评论 -
string 常用功能封装
#include #include using namespace std;namespace strtool{string trim(const string& str){ string::size_type pos = str.find_first_not_of(' '); if (pos == string::npos)原创 2014-03-01 00:23:54 · 698 阅读 · 0 评论 -
荷兰国旗问题、矩阵相乘之Strassen算法
第四十一章~四十二章:荷兰国旗问题、矩阵相乘之Strassen算法前言 本文要讲的两个问题:荷兰国旗和矩阵相乘之Strassen算法都跟分治法相关,故把这两个问题放到了一起。所谓分治,便是分而治之的意思,好比打战时面对敌人庞大的武装部队,采取避其主力,各个击破的策略。 有何问题,欢迎随时不吝指正,thanks。第十一章转载 2014-02-27 11:11:58 · 1704 阅读 · 0 评论 -
最近开发的产品涉及到天气情况,留下脚印
Google Weather API 只支持美国地区使用邮政编码进行查询,例如: http://www.google.com/ig/api?hl=zh-cn&weather=94043 (94043 为 山景城, 美国加州 的邮政编码) 而除了美国以外的地区需要使用经纬度坐标作为参数才能执行 Google Weather API, 例如: http://www.google.com转载 2014-01-06 12:33:55 · 607 阅读 · 0 评论 -
引导动画-安卓
周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的。先分享一篇以前的文章,android动画的基础知识,《Android UI开发第十二篇——动画效果Animation(一)》,写的不好,读者也可以自行搜索下android动画相关知识。模仿墨迹天气的引导界面动画使用的android动画的基础知识。 实现墨迹天转载 2014-09-04 14:59:15 · 671 阅读 · 1 评论 -
haproxy配置详解
一:haproxy简介:HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web转载 2014-09-05 12:25:46 · 2476 阅读 · 0 评论 -
微信类似的UI设计
微信中的ListView有一个特点就是存在许多不同的Item,即并不是平常的ListView,所有的Item布局都是一样的。针对这种情况,Google的Adapter提供了两个方法getItemViewType和getViewTypeCount。通过覆盖这两个方法就可以实现一个ListView中存在多种不同的Layout。实现了更加个性化的ListView效果。我归纳了下微信中的Item可以分为7转载 2014-09-22 18:18:14 · 848 阅读 · 0 评论 -
混音编程接口
为了理解混音器API是如何工作的,必须先了解典型的声卡的硬件布局。我们有必要想象一下,声卡上有各种独立的,清楚的,但是却又互相连接的元件。先看一种典型的,最基本的声卡。首先,如果声卡有数字音频录音功能,它必定有一个麦克风输入接口(以及某种前置放大器(pre-amp)),还有一个模数转换器(ADC)用来转换麦克风的模拟信号为数字信号流。所以,声卡应该具有两个基本元件:麦克风输入元件,AD转载 2014-09-10 15:30:25 · 1906 阅读 · 0 评论