随笔分类 -  Windows

1
摘要:暂时还没买Macbook,先用虚拟机练练手。先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以。1、虚拟机Vmware10.0.0 下载地址 http://pan.baidu.com/s/1jGvK5pW2、securab... 阅读全文
posted @ 2015-04-08 15:07 struggle_time 阅读(9385) 评论(5) 推荐(3) 编辑
摘要:反转迭代器顾名思义,反向操作容器,而插入迭代器是将迭代器的赋值操作转换为push_back(),push_front(),insert()操作。插入迭代器要求容器必须包含对应的push_back(),push_front(),insert()操作,这样才能对容器进行插入。插入迭代器分三种 back... 阅读全文
posted @ 2014-11-18 18:43 struggle_time 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:模板基础1、模板参数自动推导,如果是已知的参数类型与个数,这调用模板时可以不写类型。 Cout(1,3);可以写为Cout 6 T2 func(T1 v1,T3 v3,T4 v4); 7 8 9 template 14 T2 func(T1 v1,T3 v3,T4 v4)15 {16 T... 阅读全文
posted @ 2014-11-13 13:11 struggle_time 阅读(761) 评论(0) 推荐(1) 编辑
摘要:这个定时关机运行过后默认最小化到托盘栏最好了,不用每次都去点了。现在来看看如何将程序显示在托盘栏。首先在头文件里声明一个变量和一个消息响应函数1 //最小化到托盘栏2 //第一步,生成一个成员变量,或者一个全局变量3 NOTIFYICONDATA m_NOTIFYICON;4... 阅读全文
posted @ 2014-05-06 13:50 struggle_time 阅读(1356) 评论(3) 推荐(3) 编辑
摘要:虽然上一篇实现了的定时关机,但是还不够完善,比如开机自动启动,然后按照配置的时间定时关机,并最小化到任务栏。先来说开机启动怎么实现,开机启动实现的方法有好几种,比如直接在开始菜单启动项里添加一个程序的快捷方式,路径为 C:\ProgramData\Microsoft\Windows\Start M... 阅读全文
posted @ 2014-05-05 21:15 struggle_time 阅读(1449) 评论(0) 推荐(0) 编辑
摘要:写个定时关机程序自用,界面简单实用,最终界面如下第一步,新建一个MFC对话框应用程序,拖几个控件过来,界面如下:然后给下拉列表框,复选按钮绑定变量,以方便进行操作。 CComboBox m_com_hour; CComboBox m_com_minute; CComboBox m_com... 阅读全文
posted @ 2014-05-05 13:35 struggle_time 阅读(2102) 评论(1) 推荐(2) 编辑
摘要:这里使用了SqlHelper,简化程序 自己写一个SqlHelper,把数据库的连接等都写到里面去。 首先把连接字符串添加到配置文件里去,右键解决方案-->添加新建项-->选择应用程序配置文件 添加一个下字段,红色部分为新添加的代码,name字段一定要写,下面的使用就是靠这个关键字1 2 3 4 6 7 8 在sqlHelper类中添加一个变量,并定义函数 1 private static string conStr = ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString; 2 3. 阅读全文
posted @ 2014-04-06 15:47 struggle_time 阅读(885) 评论(3) 推荐(1) 编辑
摘要:这个程序是那vs2010下写的,C#语言。数据库是sql server 2008首先在数据库中新建一个数据库Test1,在数据库中新建一个表用来保存用户名和密码USERINFO,1 CREATE TABLE USERINFO2 (3 UserID varchar(12) NOT NULL PRIMARY KEY,4 Password varchar(12) NOT NULL ,5 ErrorTimes int NULL,6 )ErrorTimes就是用来判断用户输入密码错误的次数的,每错一次加一... 阅读全文
posted @ 2014-04-02 00:16 struggle_time 阅读(1005) 评论(2) 推荐(0) 编辑
摘要:内存映射和堆栈内存映射文件内存映射文件可以用于3个不同的目的: 系统使用内存映射文件,以便加载和执行.exe和DLL文件。这可以大大节省页文件空间和应用程序启动运行所需的时间。 可以使用内存映射文件来访问磁盘上的数据文件。这使你可以不必对文件执行I/O操作,并且可以不必对文件内容进行缓存。 可以使用内存映射文件,使同一台计算机上运行的多个进程能够相互之间共享数据。Windows确实提供了其他一些方法,以便在进程之间进行数据通信,但是这些方法都是使用内存映射文件来实现的,这使得内存映射文件成为单个计算机上的多个进程互相进行通信的最有效的方法。内存映射数据文件的方法 1、 一个文件,一个缓... 阅读全文
posted @ 2013-11-28 11:39 struggle_time 阅读(1313) 评论(0) 推荐(3) 编辑
摘要:Windows提供了两种方式“套接字模式”和“套接字I/O模型”,可对一个套接字上的I/O行为加以控制。套接字模式用于决定在随一个套接字调用时,那些 Winsock函数的行为。其中的模型包括括select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、OverlappedI/O(重叠式I/O)以及Completionport(完成端口)等等。 所有Windows平台都支持套接字以锁定或非锁定方式工作。在锁定模式下,在I/O操作完成前,执行操作的Winsock函数(比如send和recv)会一直等候下去,不会立即返回程序(将控制权交还给程序)。... 阅读全文
posted @ 2013-11-27 15:21 struggle_time 阅读(1219) 评论(1) 推荐(0) 编辑
摘要:包括红外线套接字(IrSock)、IPX/SPX 套接字、NetBIOS 套接字、AppleTalk 套接字、ATM 套接字等。对这些套接字进行简单介绍。第一、红外线套接字(I r S o c k) 头文件 #include”af_irda.h” ,函数定义等都在这里面,可以研究一下这个文件。 地址结构//结构类型typedef struct _SOCKADDR_IRDA { u_short irdaAddressFamily;//红外线接口地址家族 AF_IRDA u_char irdaDeviceID[4];//设备的ID char irdaServiceName... 阅读全文
posted @ 2013-11-08 10:13 struggle_time 阅读(1498) 评论(2) 推荐(1) 编辑
摘要:这一节看看内存管理相关的信息首先看看虚拟内存 虚拟地址空间 32位系统 --- 4GB = 232 64 位系统 ---- 16EB = 264 虚拟内存表 当一个应用程序从硬盘加载到RAM时,首先系统为应用程序保留一定的地址区域,将一些必须的数据加载到内存中,然后将一些不是必须的数据加载到页文件(虚拟内存)中,页文件的大小有操作系统控制。在程序运行过程中,如果需要某个文件,就先去RAM中寻找,如果寻找不到,就去页文件中寻找,如果还寻找不到就发出数据访问违规异常。 过程如下: 每个页文件的保护属性都不同,页文件的页面拥有不同的属性,包括 除了上面介绍的保护属性外,还有3个保... 阅读全文
posted @ 2013-11-06 14:52 struggle_time 阅读(1233) 评论(0) 推荐(3) 编辑
摘要:Win32平台上的Winsock编程,Winsock是一个与协议无关的接口。以下协议是我们需要了解的:网络协议的特征包括: 1、 面向消息 2、 面向连接和无线接 3、 可靠性和次序性 4、 从容关闭(这是指协议中断,连接不会立即中断) 5、 广播数据 6、 多播数据 7、 服务质量(QOS) 8、 部分消息(大数据进行分段发送,分段接受) 9、 路由选择(考虑协议是否可路由) 10、 字节序 11、 最大传输单元Windows支持的协议如下图Winsocket协议相关结构介绍//获得系统中安装的网络协议的相关信息int WSAEnumProtocols( _In... 阅读全文
posted @ 2013-11-04 17:25 struggle_time 阅读(1267) 评论(0) 推荐(0) 编辑
摘要:邮槽和命名管道的使用方法也很简单,只需几个有限的函数就可以实现双方的通信。第三、邮槽 邮槽----进程间通信机制。 通过邮槽客户进程可以将消息通过广播给一个或多个服务进程。这是一个单向通信机制,缺点是只允许从客户机到服务器,优点也是这个原理,使客户机应用能够非常容易地将广播消息发送给一个或多个服务器应用。邮槽是一种无连接方式,是一种”不可靠“的数据传输。 邮槽名也使用UNC路径,第二个关键字是Mailslot,不可改变 \\\\server\\Mailslot\\[path]name 服务器实现过程: CreateMailslot();//创建一个邮槽句柄 ReadFile(... 阅读全文
posted @ 2013-10-30 10:51 struggle_time 阅读(2580) 评论(2) 推荐(1) 编辑
摘要:在程序中加载位图有很多方法,各有各的好处。这里简单说一下在资源里和文件里加载的区别。第一、在资源里加载位图 这种方法就是在工程里的“资源视图”-->“添加资源”-->"Bitmap"-->"导入位图" 每个资源都会有一个资源ID,使用位图时就通过资源ID对他进行控制。 然后在设置背景图片是只需在OnPaint();里添加如下 CPaintDC dc(this); CRect rc; GetClientRect(&rc); CDC memDC;//目标内存 memDC.CreateCompatibleDC(&dc);/.. 阅读全文
posted @ 2013-10-29 14:49 struggle_time 阅读(5982) 评论(1) 推荐(1) 编辑
摘要:一直以来就是调试程序,生成的文件在debug或者release下,当没有其他资源文件时,这些程序也不用打包,直接就能够运行,但是程序中总会有一些额外的资源文件,视频啊,图片啊。这些需要打包在一个安装文件里,使用起来才更方便。 首先我们就用VS2010自带的工具Visual Studio Installer。 第一步,我们要新建一个工程,类型选择其他项目类型-->Visual Studio Installer-->安装向导-->名称(The Sun) 然后选择“为Windows应用程序创建一个安装程序” 接下来选择输出组:主输出,资源输出,生成输出 最后,可以现在附件,可以把视 阅读全文
posted @ 2013-10-28 15:47 struggle_time 阅读(2130) 评论(6) 推荐(1) 编辑
摘要:这一次看看重定向器和如何使用Netbios函数获取本机mac地址5、获取Mac地址利用NCBASTAT命令实现,适配器状态命令会返回一个ADAPTER_STATUS结构,紧接着是大量NAME_BUFFER结构。 1 typedef struct _ADAPTER_STATUS { 2 UCHAR adapter_address[6];//这个就是mac地址 3 UCHAR rev_major; 4 UCHAR reserved0; 5 UCHAR adapter_type; 6 UCHAR rev_minor; 7 WORD ... 阅读全文
posted @ 2013-10-23 18:07 struggle_time 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:第一部分 传统网络API 传统的网络接口NetBIOS、重定向器、邮槽、命名管道等。第一,NetBIOS(Network Basic Input/Output System, NetBIOS)“网络基本输入/输出系统”,其中T C P / I P和I P X / S P X的协议上实施N e t B I O S编程接口。 1、LANA 编号 LANA 编号是NetBIOS协议进行通信的保障,每个网卡都会至少有一个LANA编号,两台机器进行通信时必须保证LANA编号一致才能进行。 2、NetBIOS 名字 NetBIOS 名字 是一个长度16字符的字符串,在Win32环境中,针对每个... 阅读全文
posted @ 2013-10-22 16:45 struggle_time 阅读(862) 评论(0) 推荐(0) 编辑
摘要:这里面的好多函数不能死记硬背,知道有这个函数就行,等用到了,再回来细看一、窗口管理函数包括以下几类:按钮函数(Button)Microsoft提供了对话框和控制来支持应用程序与用户之间的交互通讯。按钮就是一种控制,用户可通过点击按钮来向应用程序提供输入信息。插入标记函数(Caret)一个插入标记是位于窗口绘图区中的一个闪动的直线、方块或图标。插入标记通常用于指示文本或图形将插入的位置。Win32应用程序可以使用插入标记函数来创建一个插入标记,改变它的闪动频率,显示、隐藏插入标记,或重新设置插入标记的位置。 CreateCaret(),DestoryCaret(),HideCaret(),Se. 阅读全文
posted @ 2013-10-21 17:39 struggle_time 阅读(865) 评论(0) 推荐(0) 编辑
摘要:这本书绝对经典,看看定会增加不少知识。当然这本书有很多东西比《Windows程序设计第五版》中的更加详细。1、Unicode:宽字节字符集 这是一个国际的字符标准,16位,最大可支持65000个字符,完全可以应付全球所有语言。在Windows实际使用中,可以使用Micrsoft公司的API,也可以定义两个宏(UNICODE AND _UNICODE),就可以修改然后重新编译源文件。在实际使用中如果可以最好使用Unicode字符替代ANSI字符。2、C运行库对Unicode的支持 对于一些常用的数据类型和函数,Unicode都有与之对应。 如数据类型wchar_t, 定义为type... 阅读全文
posted @ 2013-10-07 23:08 struggle_time 阅读(943) 评论(1) 推荐(0) 编辑

1