自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胸怀世界

用程序实现改变世界的梦想!

  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 管道piep使用ReadFile读取阻塞问题解决

0x01.CreatePipe管 道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另 一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。BOOL WINAPI CreatePi

2017-04-11 14:50:41 14070

原创 C++ 宽字符和短字符转换

0x01.宽窄字符所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说.这个是我们需要转化的多字节字符串: char sText

2017-04-06 20:32:03 1922

原创 CreatePipe、CreateProcess函数

0x01.CreatePipe函数管 道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另 一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。先详细介绍一下管道,这里以匿名管道为

2017-04-06 10:12:22 7468 1

原创 atoi, _atoi_l, _wtoi, _wtoi_l

atoi, _atoi_l, _wtoi, _wtoi_l0x01.原型int atoi( const char *str ); int _wtoi( const wchar_t *str ); int _atoi_l( const char *str, _locale_t locale ); int _wtoi_l( c

2017-03-17 11:10:21 10683

原创 WinHTTP中的SSL

WinHTTP中的SSLMicrosoft Windows HTTP服务(WinHTTP)支持安全套接字层(SSL)事务,包括客户端证书。 本主题说明SSL事务中涉及的概念以及如何使用WinHTTP处理它们。0x01.安全链路层SSL是确保安全HTTP事务的成熟标准。 SSL提供了一种机制,可对客户端和服务器之间的所有事务执行高达128位的加密。它使客户端能够通过使用服务器证书来验证服务器是否属于可

2017-03-06 09:25:48 3581

原创 WinHTTP会话概述

WinHTTP会话概述Microsoft Windows HTTP服务(WinHTTP)公开了一组C / C ++函数,使您的应用程序能够访问Web上的HTTP资源。 本主题概述了如何使用这些函数与HTTP服务器交互。0x01.使用WinHTTP API访问Web下图显示了与HTTP服务器交互时通常调用WinHTTP函数的顺序。 阴影框表示生成HINTERNET句柄的函数,而平面框表示使用这些句柄的

2017-03-03 10:49:36 1353

原创 GetLastInputInfo函数

GetLastInputInfo函数检索上次输入事件的时间。原型BOOL WINAPI GetLastInputInfo( _Out_ PLASTINPUTINFO plii);参数plii [out]类型:PLASTINPUTINFO 指向LASTINPUTINFO结构的指针,用于接收最后一个输入事件的时间。返回值类型:BOOL 如果函数成功,返回值为非零。 如果函数失败,返回值为

2017-03-02 08:35:14 3532

原创 GetTempPath和GetTempFileName函数

0x01.GetTempPath函数GetTempPath是程序代码,用于获取为临时文件指定的路径。DWORD WINAPI GetTempPath( _In_ DWORD nBufferLength, //字符串缓冲区的大小由lpBuffer标识,在TCHARs中。 _Out_ LPTSTR lpBuffer //指向字符串缓冲区的指针,它接收指定临时文件路径的以空字符

2017-03-01 10:34:40 15958

原创 CreateFile函数

CreateFile函数说明:创建或打开文件或I / O设备。 最常用的I / O设备如下: 文件,文件流,目录,物理磁盘,卷,控制台缓冲区,磁带驱动器,通信资源,邮槽和管道。 该函数返回一个句柄,该句柄可用于访问各种类型I / O的文件或设备,具体取决于文件或设备以及指定的标志和属性。 要将此操作作为事务操作执行,从而产生可用于事务I / O的句柄,请使用CreateFileTransacte

2017-02-28 16:14:00 1013

原创 CreateToolhelp32Snapshot函数

CreateToolhelp32SnapshotCreateToolhelp32Snapshot可以通过获取进程信息为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程建立一个快照。说到底,可以获取系统中正在运行的进程信息,线程信息,等。原型:HANDLE WINAPI CreateToolhelp32Snapshot( _In_ DWORD dwFlags, //

2017-02-28 15:54:10 15207 1

原创 RegQueryValueEx函数

RegQueryValueEx函数0x01.功能介绍:检索与打开的注册表项相关联的指定值名称的类型和数据。要确保返回的任何字符串值(REG_SZ,REG_MULTI_SZ和REG_EXPAND_SZ)为空终止,请使用RegGetValue函数。原型LONG WINAPI RegQueryValueEx( _In_ HKEY hKey, _In_opt_ LPCT

2017-02-24 10:40:23 4836

原创 RegOpenKeyEx和RegCreateKeyEx函数

0x01.RegOpenKeyEx函数LONG WINAPI RegOpenKeyEx( _In_ HKEY hKey, // 需要打开的主键的名称 _In_opt_ LPCTSTR lpSubKey, //需要打开的子键的名称 _In_ DWORD ulOptions, // 保留,设为0 _In_ REGSAM sa

2017-02-23 21:36:21 3880

原创 _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l四个函数功能:将格式化数据存放到字符串中。0x01._snprintf_sint _snprintf_s( char *buffer, //存储的字符串 size_t sizeOfBuffer, //字符串长度 size_t count,

2017-02-23 14:50:22 1574

原创 GetLongPathName和GetShortPathName

引言上一篇文章介绍了 SHGetSpecialFolderPath该api用来获取指定的系统路径。而 GetLongPathName和GetShortPathName函数分别用来将文件全路径字符串转换为不缩写的全路径和缩写的全路径字符串。这两个函数极其重要!!!很多人写程序时不注意这一点——包括我,比如,使用GetModuleFileName获取文件路径,我们一般都将获取到的路径直接拿来用。在99.

2017-02-23 11:06:48 5392

原创 SHGetSpecialFolderPath函数

SHGetSpecialFolderPath 函数0x01.原型和参数BOOL SHGetSpecialFolderPath( HWND hwndOwner, _Out_ LPTSTR lpszPath, _In_ int csidl, _In_ BOOL fCreate);功能:用来获取指定的系统路径Parameters HWND hwndOwne

2017-02-22 17:00:47 1055

原创 GetVersionEx函数

0x01.GetVersionEx函数0x01.原型BOOL WINAPI GetVersionEx( _Inout_ LPOSVERSIONINFO lpVersionInfo);0x02.参数lpVersionInfo [in, out] An `OSVERSIONINFO` or `OSVERSIONINFOEX` structure that receives the oper

2017-02-22 16:01:27 2683

原创 内存清理常用函数

内存清理常用函数0x01.RtlSecureZeroMemoryPVOID RtlSecureZeroMemory( _Out_ PVOID ptr, _In_ SIZE_T cnt);The RtlSecureZeroMemory routine fills a block of memory with zeros in a way that is guaranteed t

2017-02-22 15:29:09 756

原创 FileMapping漫谈

内存映射问题0x01、内存映射:• 在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模式。• 每个进程都有独立的4GB逻辑地址空间,32位的Windows系统允许每一个进程独立访问自己的内存,即独立于其它进程,也即它自己的32位逻辑地址空间。操作系统

2017-02-22 11:17:01 972

原创 StrStrI函数

StrStrI functionFinds the first occurrence of a substring within a string. The comparison is not case-sensitive.查找子字符串的第一个出现在字符串。比较时可以忽略大小写。// Syntax C++PTSTR StrStrI( _In_ PTSTR pszFirst, _In_

2017-02-21 10:38:02 1459

原创 ntohs, ntohl, htons,htonl的比较和详解

ntohs, ntohl, htons,htonl的比较和详解* ntohs = net to host short int 16位* htons = host to net short int 16位* ntohl = net to host long int 32位* htonl = host to net long int 32位0x01、网络字节顺序NBO(Network Byte O

2017-02-21 10:02:15 6853

转载 iOS9使用提示框的正确实现方式(UIAlertView is deprecated)

iOS9使用提示框的正确实现方式(UIAlertView is deprecated)前言在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下。我通过点击一个按钮,然后弹出提示框,代码示例如下:#i

2016-12-05 15:05:43 5933

原创 ruby语言

Ruby语言学习几个难点学习理解ruby语言是比较简单的一门语言,因为它的一切设计原则是面向对象的,所以,使用起来特别方便。当然,主要是由于它具有与Python、swift等等相似的语法特点,使得他使用起来十分方便。下面归纳几个常遇到的问题。1.关于变量的可读可写。 attr_reader : name 表示name只读 attr_write : name 表示name只写

2016-11-16 08:53:17 651

原创 ruby语言学习

RUBY语言学习几个难点学习理解ruby语言是比较简单的一门语言,因为它的一切设计原则是面向对象的,所以,使用起来特别方便。当然,主要是由于它具有与Python、swift等等相似的语法特点,使得他使用起来十分方便。下面归纳几个本人日常遇到的问题。1.关于变量的可读可写。attr_reader : name表示name只读attr_wri

2016-11-14 16:04:04 326

转载 加速iOS开发的28个第三方库

加速iOS开发的28个第三方库  浏览: 1发布日期: 2016-10-13 分类: ios1: AFNetworking - 网络请求AFNetworking is a delightful networking library for iOS and Mac OS X类似库有 Alamofire2: AsyncDisplayKit - 异

2016-10-16 20:19:21 439

转载 IOS开发 手机联系人获取与使用ABAddressBookRef

IOS提供了直接获取手机联系人信息的API,我们需要导入该包addressbook.framework;此包并没有包含在corefoundation.framework里;而我们通常使用的是Foundation库,这辆个库的区别就是CoreFoundation库是一个C框架,但是这两个库里的内容是可以简单的进行转换的,比如:CFString cstr = (CFString)@"N

2016-08-10 11:47:05 281

原创 IOS开发 手机联系人获取与使用ABAddressBookRef

IOS提供了直接获取手机联系人信息的API,我们需要导入该包addressbook.framework;此包并没有包含在corefoundation.framework里;而我们通常使用的是Foundation库,这辆个库的区别就是CoreFoundation库是一个C框架,但是这两个库里的内容是可以简单的进行转换的,比如:CFString cstr = (CFString)@"N

2016-08-10 11:43:51 904

转载 crc-8校验C程序

CRC Series, Part 3: CRC Implementation Code in C/C++Wed, 2016-05-04 13:05 - Michael Barrby Michael BarrCRCs are among the best checksums available to detect and/or correct er

2016-05-10 11:40:00 2993

Linux 下用的 SVN服务器版

linux下svn安服务器包subversion-1.9.5.tar.gz,下载下来直接解压即可,1.7版本以上不需要依赖包了。

2017-03-01

linux下yum安装程序

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 可供Yum下载的软件包包括Fedora本身的软件包以及源自rpmfusion和rpm.的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软件。所有的包都有一个独立的GPG签名,主要是为了您的系统安全。而对於Fedora core 4.0 的用户,rpm.的签名是自动导入并安装的。

2017-03-01

空空如也

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

TA关注的人

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