- 博客(47)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
转载 c++ 类型转换
总结C++中的所有强制转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)C 风格(C-style)强制转型如下:(T) expression // cast expression to be of type T函数风格(Function-style)强制转型使用这样的语法:T(expression)
2014-09-26 16:05:25
537
原创 QT源码阅读 -- QTimer
#ifndef QTIMER_H#define QTIMER_H#ifndef QT_NO_QOBJECT#include // conceptual inheritance#include QT_BEGIN_HEADERQT_BEGIN_NAMESPACEQT_MODULE(Core)class Q_CORE_EXPORT QTimer : public QObje
2014-09-09 21:56:36
2170
原创 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数
int Search(char* str,char* findstr){int lenstr = strlen(str);int lenfindstr = strlen(findstr);if (lenstr {return -1;}for (int i = 0; i {if (findstr[0] == str[i])//如果第一个字符匹配{f
2014-03-04 13:56:05
2421
原创 二维数组、指针数组、数组指针
int main(){int (*p)[4] ;int *q;int a[3][4] ={3,5,6,7,1,2,3,4,0,10,12,15};/************************************************************************///a[0] , a[1] , a[2] 分别表示第1行,第2行,第3行的
2014-03-04 13:54:12
584
原创 多线程同步
CRITICAL_SECITON --关键区InitializeCriticalSection()DeleteCriticalSection()EnterCriticalSection()LeaveCriticalSection()1)是windows里面的一个结构体。2)拥有线程所有权,所以不能用来进行线程同步,只能用来进行线程见的互斥。Event -- 事件Cr
2014-03-04 13:42:00
582
原创 Native wifi 编程
最近在做关于wifi的项目,其实windows底下为我们提供了很好的控制wifi的API,叫做Native WIFI,http://msdn.microsoft.com/en-us/library/ms706275(v=VS.85).aspx基本上的流程是:1)利用Wla
2011-09-30 11:32:27
266
原创 stdio.h(189) : error C2144: syntax error : 'int' should be preceded by ';'---解决办法
最近在做USB Detect的程式,在我include ddk的相关文件后,出现以下很多关于stdio.h的错误。原因是,无法连接vc自带的path路径。解决办法:include如下目录:C:\Program Files\Microsoft Visual Studio
2011-08-29 10:09:14
4024
原创 stdio.h(189) : error C2144: syntax error : 'int' should be preceded by ';'---解决办法
最近在做USB PORT detect的程式,发现在我include ddk的api目录和ddk的ddk目录后,无法正常编译,出现以下一大堆error:
2011-08-29 10:04:40
768
原创 C++ const 限定符
1)定义const对象const int bufSize = 512 ;定义bufSize 为常量并初始化为512.变量bufSize仍然是一个左值,但是现在这个左值是不能被修改的。任何修改bufSize的操作都会导致编译错误bufSize = 0; //error :attem
2011-07-15 17:19:46
521
原创 TBBUTTONINFO的使用。
MSDN 对TBBUTTONINFO 的解释为This structure contains or receives information for a specific button in a toolbar. typedef struct { UINT cbSize; DWORD dwMask;
2011-06-29 15:58:00
3505
转载 BCG
BCGControlBar 的使用方法 安装 BCGControlBar 库到你的计算机: 解压缩 BCGControlBar.zip (比如,到 c:/bcg 目录中) 把 c:/bcg/bin 增加到你的 path 环境变量中, 运行 Visual C++ 并且打开 Tools | Options 对话框,切换到Directories 页并且把 c:/bcg/bcgcontrolbar
2011-06-22 09:51:00
1036
转载 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】
项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】 今天,我们首先安装一些必须的软件,主要有下面的4个,其中软件1和2使用在服务器机上,软件3和4安装在客户端机上。另外,我们还有用到MSBuild、RoboCopy、WebDeployment等等,在下面的文章中用到的时侯,我会介绍给大家。 软件最新版本简单说
2011-06-21 11:44:00
511
转载 VisualSVN Server以及TortoiseSVN客户端的配置和使用方法
VisualSVN Server以及TortoiseSVN客户端的配置和使用方法【转】文章分类:软件开发管理 一、VisualSVN Server的配置和使用方法【服务器端】安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面: 好的,下面我来添加一个代码库【Repository】,如下图
2011-06-21 11:40:00
572
原创 我所理解的IOCP
我所理解的IOCP IOCP---完成端口模型,是windows服务器上处理大量连接的模型。采用这种模型,往往可以达到最佳的系统性能。 从本质上讲,完成端口模型要求创建一个windows完成端口对象(唯一一个没有安全描述符的内核对象),该对象通过指定数量的线程对重叠IO进行管理,以便为已经完成的重叠IO请求服务,要注意的是,所谓完成端口,实际是windows采用的一种IO机制,除套接字之外,还可以
2011-06-16 18:58:00
573
转载 理解I/O Completion Port(完成端口)
理解I/O Completion Port(完成端口) 欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术: I/O端口 同步/异步 堵塞/非堵塞 服务端/客户端 多线程程序设计 W
2011-06-16 17:28:00
536
原创 获取win7系统是否会自动Hibernate。
利用 PowerGetActiveScheme(NULL,&pScheme); PowerReadDCValueIndex(NULL, pScheme, &GUID_SLEEP_SUBGROUP, &GUID_HIBERNATE_TIMEOUT, &dwTime);如果dwTime的返回值为0,则说明,电源选项里的Advanced setting-----sleep------
2011-06-15 14:28:00
1089
转载 ACE配置
The ADAPTIVE Communication Environment (ACE) 是一套免费的、开源的面向对象框架,它为大规模并发通信软件实现了许多核心的设计模式。ACE提供了一套丰富的、可重用的C++封装类和框架组件,并且可以跨平台实现大多数常见的通信软件的功能。本文将通过几个非常简单,并且可以说是粗糙的小例子,为大家讲述ACE的安装及配置过程。通过这些简单的小例子,带领大家以最快的速度进入ACE的世界。我们第一步的目的就是不求完美,但求入门。 首先我要先介绍一下本文所使用的环境,以后
2011-06-02 20:28:00
758
原创 socket实现c/s连接
<br />client端:<br />#include "stdafx.h"#include <windows.h>#include <stdio.h>#include <conio.h>#include <WinSock.h>#pragma comment(lib,"ws2_32.lib")void main(void) { WSADATA wsaData; int startRet=WSAStartup(MAKEWORD(2,2),&wsaData);
2011-05-20 17:02:00
2347
原创 网络编程--定址
<br />IP中,计算机都分配有一个IP地址,用一个32位数来表示,正式的称呼是“IPV4地址”。Winsock中,应用通过SOCKADDR_IN结构来指定IP地址和服务器端口信息,该结构的格式如下:<br /> struct sockaddr_in<br /> {<br /> short sin_family;<br /> u_short sin_port;<br /> struct in_addr sin_addr;<br />
2011-05-20 09:51:00
622
原创 获取pci连接设备信息
<br />#include <stdio.h>#include <conio.h>typedef unsigned char BYTE;typedef unsigned int WORD;typedef unsigned long DWORD;#define PDI_BUS_MAX 0xFF#define PDI_DEVICE_MAX 0x1F#define PDI_FUNCTION_MAX 0x7#define MK_PDI(bus,d
2011-05-19 16:46:00
2206
转载 Windows下重叠I/O模型 网络编程
<br />一.重叠模型的优点 <br />1.可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。<br />2.比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。<br /> 因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接使用数据,也就是说,如果应用程序投递了一个10KB大小的缓冲区来接收数据,且数据已经到
2011-05-18 19:30:00
561
原创 基于VC的网络聊天程序
<br /> 简介: 计划从几天开始,做一个项目,为vc++的网络聊天程序,这个项目是边看windows网络编程编写。<br /> 项目目标:完成框架设计,代码编写。不断利用新的技术来完善软件。<br /> 时间安排:2011-5-18开始,根据工作量大小来安排<br /> 项目构想:创建两个solution,分别为client1、client2。
2011-05-18 16:43:00
1059
1
原创 从SYSTEM权限将到当前用户权限代码
<br />#include "stdafx.h"// VOID CreateLowProcess(WCHAR wszProcessName[100]);BOOL GetTokenByName(HANDLE &hToken,LPSTR lpName) ;BOOL RunProcess(LPCSTR lpImage) ;int main(){ CHAR ch[100]="C://Windows//System32//Notepad.exe"; RunProcess(ch);
2011-03-01 17:22:00
2601
原创 降进程权限
<br />// test1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#pragma comment(lib,"Advapi32.lib")void CreateLowProcess();int _tmain(int argc, _TCHAR* argv[]){ CreateLowProcess(); return 0;}void Cr
2011-02-26 22:49:00
1264
原创 WM_WTSSESSION_CHANGE Message
<br />这个消息是通知应用程序,session 的改变。在WndProc中可以处理该消息,<br />// Session notification event//----------------------------------------------- case WM_WTSSESSION_CHANGE:switch (wParam) { case WTS_CONSOLE_CONNECT: OutputDebugString(L"WTS_CONSOLE_CON
2011-02-23 09:23:00
4035
原创 C语言基础--查缺补漏
<br />今天在网上看到一段程序<br />void main()<br />{<br /> char ch=97;<br /> int i=123456;<br /> ch=i;<br /> printf("%d/n",ch);<br />}<br />这段代码输出什么?<br />分析:这段程序先是定义了ch和i,然后将i赋值给ch,当然,这里存在强制类型转换。在将 i 赋值给 ch 的时候,先是将 i 转换成char型。因为i是int型,在x86上占两个字节,即16位。 i 的二进
2011-01-12 15:30:00
669
原创 Task Scheduler 对win7中任务计划的编程
http://msdn.microsoft.com/en-us/library/aa383614.aspx这个链接很详细的介绍了Task Scheduler。//#include "stdafx.h"#define _WIN32_DCOM#include #include #include #include #include // Include the task header file.#include # pragma comment(lib, "t
2011-01-11 15:28:00
6092
1
原创 KillProcess(LPCWSTR szProcName) 终止进程
<br />BOOL KillProcess(LPCWSTR szProcName){ HANDLE hProc = NULL; DWORD dwExitCode = 0; BOOL bFound = FALSE, bRtn = FALSE; HANDLE hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); DWORD dwsma = GetLastError(); // search process name in
2011-01-06 11:45:00
1555
转载 VC中调用组件的方法
<br /><br />准备及条件: <br />COM服务器为进程内服务器,DLL名为simpCOM.dll,该组件只有一个接口IFoo,该接口只有一个方法HRESULT SayHello(void) <br /><br />在SDK中调用 <br />===================================== <br />一、最简单最常用的一种,用#import导入类型库,利用VC提供的智能指针包装类 <br />演示代码: <br />#import "D:/Temp/vc/s
2011-01-04 10:30:00
840
原创 windows 消息之WM_GETMINMAXINFO
<br />对于这个消息,wParam 没有意义,lParam是指向MINMAXINFO结构体的指针。<br />主要是控制窗口显示时的大小(ptMaxSize),最大化时的位置(ptMaxPosition),鼠标控制窗口大小的最大(ptMaxTrackSize)、最小(ptMinTrackSize)位置。<br />下面是对应的代码:<br /> case WM_GETMINMAXINFO: MINMAXINFO *mminfo; mminfo=(PMINMAXINFO)lP
2010-12-24 11:16:00
5078
原创 wmi学习笔记
<br />在vc下访问wmi的方法,网上很多。由于公司有的程序是用wmi去访问bios,所以,学习了点这方面的知识,很浅。<br />针对公司的程序,将方法记录下来。<br />#pragma onceusing namespace std;//device id#define DEVICE_ID_WLAN 0X00010011#define DEVICE_ID_BLTH 0X00010013#define DEVICE_ID_IRDA 0X00010023#d
2010-12-22 14:09:00
947
原创 win32中创建右键弹出菜单
在win32 中利用菜单操作的几个函数,能够创建出右键弹出菜单,步骤如下:1:现在resource.h中先定义三个IDM资源, #define IDM_AAA 200 #define IDM_BBB 201 #define IDM_CCC 2022.定义一个全局变量 HMENU hMenu;3.在InitInstance中添加代码: hMenu=CreatePopupMenu();AppendMenu(
2010-12-17 16:25:00
3241
1
原创 函数调用约定
<br /> 调用约定指的是函数在被调用的时候,会按照不同德规则,翻译成不同的汇编代码。为了解释这个概念,首先了解一下调用堆栈的概念。当一个函数被调用时,首先会将返回地址压入堆栈,紧接着会将函数的参数依次压入堆栈。当函数推出时会以相反的顺序依次退出堆栈,因此,函数在被调用前和调用后的堆栈保持平衡。<br /> 不同的调用约定,会指明不同的参数入栈顺序,还会指明不同的清理堆栈的方法。用C语言或者C++语言编译器编译程序的时候,会按照四种不同的调用约定去编译函数。其分别是C语言调用约定,函数由__cde
2010-12-14 10:40:00
505
原创 windows消息大全
<br />以下是windows消息队列中会出现的所有的消息,在学习win32asm或者windows核心编程、win socket或者VC/VC++的其它的windows程序的时候会很有帮助的。<br />WM_CREATE 应用程序创建一个窗口<br />WM_DESTROY一个窗口被销毁<br />WM_MOVE 移动一个窗口<br />WM_SIZE改变一个窗口的大小<br />WM_ACTIVATE一个窗口被激活或失去激活状态;<br />WM_SETFOCUS获得焦点后<br />WM_KILL
2010-12-10 17:14:00
660
原创 判断显示器分辨率是否存在1024 *768
<br />// dpiset.cpp : Defines the entry point for the console application.//#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){ BOOL m_bSupport1024768=false; DISPLAY_DEVICE DispDev; DEVMODE DevMode; WCHAR szDevName[60]; WORD wN
2010-12-10 11:24:00
831
如何选择设计模式选择
2017-02-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人