Windows SDK 编程的一般步骤为: 1. 注册窗口类, 使用到的结构 WNDCLASSEX, 函数 RegisterClassEx. 2. 创建窗口, 函数 CreateWindowEx. 3. 消息循环, 结构 MSG, 函数 GetMessage, TranslateMessage, DispatchMessage. 4. 进入无限循环, 消息处理 :-) 下面是代码, 当然, 还有分析: #include <windows.h> //包含 Windows 相关的 API 函数 /…
编译环境 :windows 7 64位 vs2010,工程创建选择"win32项目" 注意添加几个头文件 #include <WinBase.h> #include <commctrl.h> #include <Commdlg.h> #include <Richedit.h> #include <malloc.h> 主文件中找到: 主函数添加 //载入RICHEDIT控件库文件 HINSTANCE hRich; hRich =…
创建Windows窗口不难,可以简要的概括为: 1,# 注册一个窗口类 填充WNDCLASS结构 书写窗口消息处理函数WinProc 2,# 创建一个窗口 填写基本的窗口信息 3,# 显示窗口 4,# 循环处理窗口信息 相关函数: 注册窗口类(重点是填充WNDCLASS结构) ATOM RegisterClass (CONST WNDCLASS *lpWndClass) WNDCLASS结构 // 也不很清楚,就值知道几个重要的,其他的照葫芦画瓢写的. Wnd.cbClsExtra = NULL…
今天在学习状态栏,出了好多的问题,这里记录下. 要创建状态栏用:CreateStatusWindow CreateStatusWindow函数创建一个状态窗口,通常用于显示应用程序的状态.窗口通常显示在父窗口的底部,它包含指定的文本. HWND CreateStatusWindow( LONG, //状态栏样式 LPCTSTR, //第一格要显示的字符串指针 HWND, //父窗口句柄 UINT); //状态窗口的控制标识符 参数 [样式] 状态窗口的窗口样式.此参数必须包含WS_CHILD样式…
有的时候,用控制台同步输出调试信息.程序状态量,比出Log.弹出报错对话框等方法来得有效.那么如何做到呢?如下: 简而言之,用GetModuleHandle()函数获得当前程序实例句柄,其它地方与常见的Win32创建窗体方法相同. 看MSDN中这句: If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process. 所以“GetModuleHand…
最近刚入门SDK编程,在 我终于知道为什么windowsApi学的人这么少了 这篇文章中,确实发现了这样的问题,我的教程使用VS2013->Windows桌面->win32,就诞生了能使用WinMain()的接口的Windows程序.而换成VS2017来编译,却发现问题不止这里 首先,参考某些资料得到VS2017创建win32项目的步骤 Step1,Windows桌面->Windows桌面向导(我取消了右下角“为解决方案创建项目”) S2,取消复选框“预编译标头”和“安全开发生命周期SD…
一,基本概念 SDK:软件开发工具包(缩写:SDK.外语全称:Software Development Kit) API:应用程序接口 WINAPI:Windows平台下的系统调用,包含 windows.h 窗口:父窗口和子窗口,客户区和非客户区 句柄:结构体变量,窗口句柄 :HWND,图标句柄:HICO 消息队列 消息 窗口过程函数 main() WinMain()  // WINAPI  入口地址  二,winAPI窗口程序 1.定义入口函数Win Main() 2.创建一个窗口 a),设计…
第1章 创建窗口 步骤: 窗口类的设计 窗口类的注册 窗口的正式创建 窗口的显示与更新 消息循环体系 窗口过程函数处理消息 1. 设计:使用WNDCLASSEX结构体,这里注意的是C++中的结构体中的成员默认是共有的,所以可以直接通过 . 来调用. typedef struct tagWNDCLASSEX { UINT cbSize; //UINT类型的cbSize,表示该结构体的字节数大小 UINT style; //指定窗口的风格样式 WNDPROC lpfnWndProc; //指向窗口过…
一.创建一个应用程序窗口 代码如下: // 头文件 #include <windows.h> // 全局变量 WCHAR g_lpszClassName[] = L"CLASSNAME"; WCHAR g_lpszWindowName[] = L"哈喽,新的征程"; // 函数声明 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // 应用程序主函数 INT APIENTRY WinMain(H…
在Win32 SDK中创建一些控件的时候需要注意一下(具体是哪些控件请参看MSDN文档中列出来的) /* MSDN:Carries information used to load common control classes from the * dynamic-link library (DLL).This structure is used with the InitCommonControlsEx function. * 需要使用的结构体和函数 */ typedef struct tag…
QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowseclipse跨平台server 版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 QT源码解析(二)深入剖析QT元对象系统和信号槽机制 QT源…
1. 控件的创建 控件的创建和窗口创建是一样的,例如: ,,,, hWnd,(HMENU)IDB_BUTTON01,hInst,NULL); 是一个按钮的创建,其中hWnd是窗口句柄,hInst是应用程序句柄. 其他控件类似的可以把第一个参数"button"改为"edit","listbox","static","combobox"等等: 如果要创建的控件有很多,可以用一个循环和宏组合代替: #define…
Windows是消息驱动的,理解消息机制及消息循环是特别重要.知道在什么情况下产生什么消息会让我们对程序有更好的控制.Windows给应用程序发消息,有些会加入应用程序的消息队列,也是就是队列消息.有些直接调用窗口消息处理程序,不会加入到消息队列,这部分为非队列消息. 下面分析一下一个应用程序从创建到结束产生的消息. 先给出测试用的程序,当然是一个非常经典的结构: #include <windows.h> #include <tchar.h> LRESULT CALLBACK Wn…
利用MFC创建窗口: 1.mfc的头文件:afxwin.h 2.自定义类,继承于CWinApp,应用程序类(app应用程序对象,有且仅有一个) 3.程序入口:Initinstance 4.在程序入口中创建窗口 5.窗口类继承于CFrameWind 6.窗口中构造Create(NULL,标题名称) 7.创建窗口对象 8.显示和更新 9.保存指向应用程序的主窗口的指针 10.return TRUE 11.对项目进行配置 消息映射机制 1.声明宏写到.h中 2.分界宏写到.cpp中 3.找消息宏 写到…
使用QT也有一段时间了,有的时候需要跟踪代码到QT的源码中去查找问题.在这里我将记录一下我跟踪QT源码学习到的一些知识. 我的开发环境是VC6.0+QT4.3.3.QT已经不为VC6.0提供addin了,所以有的时候我也会使用EclipseCDT来编写代码,因为有了QT for Eclipse的plugin写代码会方便一些. 我们在学习QT的时候,接触的第一个程序就是下面的helloworld程序: [cpp] view plaincopyprint? #include #include int…
系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义:持久化.排它性.自动删除.强制性.路由键. RabbitMQ 入门系列:4.基础编码:官方SDK使用:链接创建.单例改造.发送消息.接收消息. RabbitMQ 入门系列:5.基础编码:交换机的进阶介绍及编码方式. RabbitMQ 入门系列:6.保障消息:不丢失:发送方.Rabbit存储端.接收方…
ROS Indigo beginner_Tutorials-11 创建自定义的ROS消息和ROS服务 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 一. 创建自定义的ROS消息 :(msg) 下面我们来介绍具体步骤: 1:现在beginner_tutorials软件包中创建一个 msg 文件夹,用来存放我们下面要创建的消息文件: $ cd ~/catkin_ws/src/begin…
所有的Windows SDK编程都有一个类似的框架,本文就说说这个框架,Windows程序设计的框架分为“三部曲”: 一.注册窗口类 注册窗口类的API函数是RegisterClass或者RegisterClassEx,这两个函数参数区别不大,具体看MSDN,这里以RegisterClass为例.函数原型如下: 参数WNDCLASS定义如下:   1 2 3 4 5 6 7 8 9 10 11 12 typedef struct {     UINT style;     WNDPROC lpf…
1.创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数.该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程. 工作者线程 CWinThread *AfxBeginThread( AFX_THREADPROC pfnThreadProc, //控制函数 LPVOID pParam, //传递给控制函数的参数 int nPriority = THREAD_PRIORITY_NORMAL, //线程的优先级 UINT nStackSize =…
在这篇文章里我们先用 windows API 制作一个窗口出来,以后再用 DirectX API 渲染的东西就会显示在这里,控制台那黑白的画面肯定是没法用的. 每次的代码都会更新到Github 首先贴出来目前为止的文件结构图,由上到下表示#include“XXXXX”关系 系统头文件的调用不包含在内 由于.h和.cpp都是对应出现的,我就不写的那么详细了 Main.cpp 是调用 SoftwareClass 类的主函数. 那么我们从上往下开始吧. Main.cpp 由于只用调用接下来的类成员函数…
一.ListView控件属于通用控件CONTROL中的一种,在SDK编程方式时要使用通用控件 必须包含comctl32.dll,所以代码中要有头文件: commctrl.h 导入库:comctl32.lib 在使用通用控件之前应该先调用InitCommonControls();初始化它 以ListView控件为例: InitCommonControls(); //子窗口形式使用LISTVIEW CreateWindowEx(, //扩展风格 WC_LISTVIEW, //这是系统定义的宏,WC_…
翻译自:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WIN32COM.v10.en/dnfiles/html/msdn_serial.htm 老外写的文章,虽比较全面,但很啰嗦,不如看各个函数的文档来得快.为方便以后查阅,列出本文涉及的主要函数如下: CreateFile.ReadFile.WriteFile.GetOverlappedResult.WaitForSingleObject SetCommMask.WaitCommEvent ClearC…
1. 执行菜单的File->New->Project… (Ctrl-Shift-N)打开新建工程窗口. 2. 展开左侧的Visual C++项目模板分支,然后选择右侧的Win32 Project条目,输入工程名称,然后点击确定. 3.出现Win32Application Wizard 4. 使用默认设置 5. 生成的文件夹及文件 6. VS 解决方案资源管理器视图 7. 运行结果 8. 修改项目属性 - 选择所有配置 常规 将目标文件扩展名修改为.plw 配置类型 动态库(.dll) C/C+…
列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表控件可以由多个子项目组成,可以设置为Icon(大图标).SmallIcon(小图标).List(列表)或Report(报表). 一.列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM.LVCOLUMN用于定义报表方式下的“列”的结构:LVITEM用于定义“项”的结构.这两个结构的定义及说明如下: typedef struct _L…
原文出自:http://blog.csdn.net/yuvmen/article/details/5877271 了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助:对于不常用VC的人来说,过一段时间就会忘记.还是来记下来,方便以后查阅. 1.创建Application object对象theApp 程序一开始生产一个(且只有一个)Application object对象theApp,也即一个CWinApp对象,这个全局对象一产生,便执行其构造函数,因为并没有定义CMyWinApp构…
海康SDK编程指南 目前使用的海康SDK包括IPC_SDK(硬件设备),Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息.本文仅对视频监控常用功能的使用进行说明,其它未实现功能请参看设备网络SDK使用手册和播放库编程指南V7.2. IPC_SDK编程指南 (一)    SDK的引用 由于IPC_SDK没有SDK安装程序,所以需手工把下面图表中的DLL放入Debug或者Release文件夹的根目录下供程序调用,或者加入系统环…
第一个win32程序,简单的创建窗口: #include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("HelloWin")…
#include <stdio.h> #include <windows.h> int main() { DeleteFile("C:\\test.txt"); printf("删除成功\n"); return 0; } 原来这就是所谓的一个简单的SDK编程.....果然计算机里面的名词就是看起来玄之又玄..其实很简单...... 摘要一段别人写的话,对不对我不知道. 下面再加深几点概念: 什么是API: 什么是API,有必要再谈一下,特别对…
本课中,我们将学习如何使用树型视图控件.另外还要学习如何在树型视图中完成拖-拉动作,以及如何使用图象列表. 理论: 树型视图是一种特别的窗口,我们可以使用它一目了然地表示某种层次关系.譬如象在资源管理器中左边窗口中的就是树型视图.您可以调用CreateWindowEx来创建树型视图,传递一个类名“"SysTreeView32"”,或者您也可以把它放到一个对话框中去.不要忘了在您的代码中加入InitCommonControls函数. 树型视图有几种特有的风格.下面是几种经常使用的. TV…
内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做了介绍,也带大家配置了SDL的开发环境.请大家按照上一课的步骤创建一个SDL工程,能够初步运行. 如果遇到问题,可以百度,Google相关平台SDL的配置.或者联系小编. 当然了,有些朋友可能会说开发C语言游戏还可以用GTK+这个库,但是个人认为GTK+没有SDL那么适合开发游戏,其创建图形界面的能…