学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流.因为刚学习所以可能有的地方写不不正确,希望大家能够指出. 在学习了一定的Windows API后我决定进入到一些基础的学习,希望能够学习一些原理性的知识,能够做到知其然的同时知其所以然.为了达到这个目的,这段时间我学习了一些计算机的基础知识,在这写下这篇博客,总结一下. 在早期的16位8086CPU中我们使用段与段内的偏移偏移的方式寻址…
<Windows程序设计>(第五版)(美Charles Petzold著) #include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdline,int iCmdShow) //第一个参数是实例句柄,在Windows程序中,句柄就是一个数值,程序里用它来标志…
菜单可能是Windows提供的统一用户界面中最重要的一种方式,菜单通常在标题栏的下一行显示,这一栏叫做菜单栏,菜单栏中的每一项称之为菜单项,菜单栏中的每一个菜单项在激活时会显现一个下拉菜单(也可以说是它的子菜单),下拉菜单中也可以有多个菜单项,每个菜单项又可以有子菜单,每个菜单项都有一个唯一的数字标示,称为菜单项的ID,但是有子菜单的菜单项没有ID.用户点击某项后,会产生一个WM_COMMAND消息发送到其父窗口,该消息中包含了这个菜单项的ID.菜单的创建可以通过可视化的方法创建,也可以通过编写…
Windows系统提供大量的控件供我们使用,但是系统提供的控件样式都是统一的,不管什么东西看久了自然会厌烦,为了使界面更加美观,添加一些新的东西我们需要自己绘制控件. 控件在默认情况下并不进行自绘,如果是在窗口中利用CreateWindow创建的话要在风格中加入一个对应的自绘风格,这个一般在MSDN中都可以查到比如按钮的自绘风格是BS_OWNERDRAW.列表框是 LBS_OWNERDRAWFIXED (列表项的高度一致).LBS_OWNERDRAWVARIABLE(列表项的高度可以不一致),如…
windows里的变量类型 1.简单重定义windows变量 BOOL (TRUE FALSE) INT UINT(32位,4字节) LONG DWORD(32位,4字节) lParam,wParam(32位,4字节) SHORT WORD(16位,2字节) LPSTR   LPCSTR(字符串指针,可写和只读)      char *和const char* 2.句柄类型 HINSTANCE of Windows ->HWND; HINSTANCE of Instance  ->HINSTA…
    第三章 窗口与消息 1,windows窗口过程:应用程序所创建的每一个窗口都有一个与之关联的窗口过程,用于处理传递给窗口的消息. 2,窗口依据窗口类来创建.窗口类标识了用于处理传递给窗口的消息的窗口过程.窗口类的使用允许多个窗口共享一个窗口类,因而多个窗口可以使用相同的窗口过程. 3,Windows程序开始执行的时候,Windows首先为该程序创建一个消息队列.该消息队列中存放着应用程序可能创建的所有窗口的消息.Windows应用程序中一般包含一小段称为"消息循环"的代码,该段…
书签:另外跳过的内容有待跟进 __________________学习资源: <Windows程序设计第5版珍藏版> __________________知识基础支持: _________________ 跳过的内容: 1. ______________知识要点: 1: ______________注意事项: 1. ______________ 不理解知识点: 1. ______________ 进度: 1.2013-06-15 第8章 计时器 结束,接下来调整一下方向,先不看第9章子窗口控件…
为了做一个逼真的扫雷,我的扫雷程序的位图都是从windowsXP下面的扫雷里来的.具体是怎么获取位图的呢?win8.1不给力,习惯了vc++6.0,所以虚拟机里装上了xp,用vc++6.0加载扫雷程序,就可以获得xp原版的位图了. 这次要做的是一个计时器,扫雷的的计时器不是时.分.秒:类型的,而是百秒.十秒.秒类型的.看过雷区翻盖的朋友,也该都能明白,计时器显示时间的变化其实也是在画图,不停的换0~9这几个数字的图.那么现在只需要一个时钟消息,让他来触发画图就可以了.而windows中,恰好有这…
WPF学习之路初识   WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序. 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序.示例包括下图中显示的 Contoso Healthcare Sample Application(Contoso Heal…
一.Win32 API /******************************************************************** created: 2014/04/14 15:30 filename: WinMain.c author: Justme0 (http://blog.csdn.net/justme0) purpose: Win32 API ********************************************************…
#include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMai…
有了之前的对进程和线程对象的学习的铺垫后,我们现在可以开始学习windows下的进程创建过程了,我将尝试着从源代码的层次来分析在windows下创建一个进程都要涉及到哪些步骤,都要涉及到哪些数据结构. 1. 相关阅读材料 <windows 内核原理与分析> --- 潘爱民 <深入解析windows操作系统(第4版,中文版)> http://bbs.pediy.com/showthread.php?p=819417#post819417      看雪上的精华贴 http://und…
本人近期在网上找到了<MFC Windows程序设计>第二版的书内程序的源代码,特意上传CSDN上面,供学习MFC的程序猿们免费下载. 源代码下载: http://download.csdn.net/detail/bboot/7486011 还有该书的电子版下载地址: http://download.csdn.net/detail/bboot/7490781…
大家好,非常高兴和大家一起分享Windows开发心得,Windows已经诞生很多年了,一直因为它的简单易用而深受欢迎,相信很多人在使用Windows的时候,一定有这样一个想法:希望自己将来可以写一个很受欢迎的Windows程序,像QQ,迅雷,鲁大师一样,深受大家喜爱的软件,无论你的初衷是什么,我都会满足你的愿望,用最简单易懂的方式,带领大家走入Windows编程的魔幻世界,为大家插上理想的翅膀. 今天,我们先来简单介绍一下Windows程序设计的相关知识,为后面内容的介绍奠定基础.在Window…
愉快的开始 让编程改变世界 Change the world by program  参考教材 购买链接:Windows程序设计(第5版)(珍藏版)(附CD-ROM光盘1张)  学习环境 视频演示:WIN8 + VS2013Express 最低要求:XP + VC6 学习要求 1. 需要有C语言的基础: 2. 知道或者听说过数据结构是编程的内功心法,对于写出好程序很重要: 3. 懂得光看不练等于零这个道理. 教学安排 0. 课后作业 1. 扩展阅读 2. 知识点备忘 3. 典型案例分析 4. 阶…
Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大,单机搞不定的场景. 可扩展:随着业务的发展,数据量越来越大,系统可以水平扩展. 容错:单个节点挂了,不影响整个应用. 3. Storm与其他框架的比较 3.1 Storm和Hadoop的比较 Storm用于实时计算,Hadoop用于离线计算. Storm处理的数据保存在内存中,源源不断.Hadoo…
刚开始学习Windows程序设计,磕磕碰碰,先做个小笔记缓缓神经,主要是将MessageBox这个Windows API函数的. MessageBox函数是许多人刚开始学习Windows程序设计或者是Windows API遇到的第一个内置函数,这个函数使用的方式是: MessageBox(NULL, TEXT("弹出框内容"), TEXT("标题"), MB_OK); 初次之外,它还有几个姐妹: MessageBoxA(NULL, "弹出框内容"…
Windows程序设计之前 1 做什么 2 解决什么问题 3 有哪些资源 在开始真正的编程之前,需要了解要做的事情是什么,要解决的解决的问题是什么,有哪些资源可以使用. 1 Windows程序设计之前 1.1 做什么? 我们要在Windows平台上来写程序,使用Win32 API不是唯一的方法,但确是必经之路. 1.2 解决什么问题 多数人开始接触Windows编程时,是从Visual Basic开始的,然后MFC,虽然写一些软件和程序,但可能还不清楚程序是如何运行的.从而造成程序的维护特别难.…
坚持与妥协 从学程序的第一天老师就给我们说源代码应该使用utf8保存.因为先入为主,"源代码应该使用utf8"的观念已经在"学院派"出身的程序员脑子里根深蒂固.如果您固执地坚持自己的信仰,坚信源代码应该并且只应该用utf8保存,决不向任何工具或者人妥协!那么恭喜您,可以看看这个文章. VS2013及以前 utf8是unicode的一种实现方式.windows95及以前,还没有unicode,更没有utf8.所以在windows95及以前微软自己定义了一套解决多国语言…
7.2 客户区鼠标消息 当鼠标移过窗口的显示区域时,窗口消息处理程序收到WM_MOUSEMOVE消息.当在窗口的显示区域中按下或者释放一个鼠标按键时,窗口消息处理程序会接收到下面这些消息: 键 按下 释放 按下(双键) 左 WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK 中 WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK 右 WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK…
本文整体目录和绝大部门内容来自 [鸡啄米网站]的MFC系列文章,欢迎支持原创 (一)VS2010/MFC编程入门之前言 VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台 VC++不仅是一个编译器更是一个集成开发环境,包括编辑器.调试器和编译器等,一般它包含在Visual Studio中 因为VC++ 6.0以后的版本不再有独立的安装程序,所VC++ 6.0以后的版本不叫VC++ 7.0等等,而是…
Windows Azure 是微软基于云计算的操作系统,能够为开发者提供一个平台,帮助开发可运行在云服务器.数据中心.Web 和 PC 上的应用程序. Azure 是一种灵活和支持互操作的平台,能够将处于云端的开发者个人能力,同微软全球数据中心网络托管的服务,比如存储.计算和网络基础设施服务,紧密结合起来.帮助开发者在“云端”和“客户端”同时部署应用,使得企业与用户都能共享资源. 本文整理了丰富的 Windows Azure 学习资源,帮助开发者能全面地学习 Windows Azure 知识,并…
最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实例源码吧: /*----------------------------------------------------------------- ENVIRON.C -- Environment List Box (c) Charles Petzold,1998 Copy by XXXX,2015/1/26…
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第二天——初识Activity 昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识. 以下两点是需要注意的:(个人总结) 凡是覆写得方法,在方法体中的第一行一定是super.XXX(),一定要先调用父类里的相应方法做必要的事情,再根据自己的需求去写其他的代…
20145213<Java程序设计学习笔记>第六周学习总结 说在前面的话 上篇博客中娄老师指出我因为数据结构基础薄弱,才导致对第九章内容浅尝遏止地认知.在这里我还要自我批评一下,其实我事后没有及时反省,补充数据结构知识,抓紧时间掌握第九章内容,反其道而行现在要在没掌握第九章的情况下写自习第十章.第十一章的内容,简直误人子弟,一派胡言.我认罪,我有错.我深知即使点头如捣蒜,诚惶诚恐也于事无补,拿出干货才是硬道理.我会在下周二之前拿出对第九章内容理解博客.在写本周博客之前我拜访了一些数据结构学的好…
通常,我们在生活中使用的应用产品(无论是 Web应用还是 App 应用),又或者我们平常的信息交流,均无可避免的存在着信息交互,在信息交互的过程中就有着信息载体的存在.那么,在我们熟知的网络应用产品中,数据是以什么样的形式传递的呢?我在日常的测试开发工作中经常接触的常见的数据传递方式有 JSON.XML.文本文件 等,XML大家都比较熟悉,JSON又是什么呢?跟 XML 的区别又有什么区别呢,请看下文. 一.JSON概述 JSON,英文名称是:JavaScript Object Notation…
2014.05.06 新建一个visual C++ -- 常规 -- 空白 的项目,用.c后缀名指定这是一个用C语言来写的windows项目.和C语言的hellworld程序做了一个比较,按照windows程序设计规定的入口函数名称.函数参数.参数传递方式等写个入口函数,并弹出一个MessageBox.…
看windows程序第五章GDI编程部分.一直卡壳在这里了. 下面我来说下自己的想法.看是否对您有帮助. 首先我们来看一个图. SetPolyFillMode(ALTERNATE);  // 系统默认就是这种填充模式 如图所示:数字代表绘制图形点的先后次序. 现在.我们先从外面假设来一条射线,(当然了.我看到很多文章.说的都是屏幕水平方向的扫描线.) 对于这种模式.射线穿过奇条边框线时,则填充该边框线区域,穿过偶数条边框线时,则不填充. 大家对照上图的射线.很简单的就理解了“ALTERNATE”…
这里有一份很好的资源,被制作成chm文件的<Windows 程序设计>,包含了中文版和英文版,还有全书源代码,虽然不知道是谁出版的,但是感觉对Windows编程新手来说还是很不错的.关键还是 免费~ 内容:Windows程序设计 中文版+英文版+全书源代码 链接:http://download.csdn.net/detail/yangchun301/539158 原书名:<Programming Windows by Charles Petzold> Copyright© 1998…
Xmpp学习之Smack发送消息JID变乱码 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6947723.html 快速导航,简单来个目录图片. 前言 继上一篇博客Android平台使用Smack后,这次咱们来分享一下在集成过程中SASL认证的一些坑=_=. 在此为后面的smack学习做笔记,以作备忘. 以下是本次采用的Demo环境: Openfire 3.8.2 smack 4.2.1 登录成功后发…