![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows开发
oldmanzhao
Win32 开发
展开
-
获取无窗口RichEdit的HostWindow的方法
一般来说是无法直接通过调用接口的方式来获取无窗口RichEdit所处的HostWindow的,但是可以利用ITextHost的一些函数配合Win32API来得到HostWindow的窗口句柄比如:ITextHost *pHost;//此处可以通过ITextServices的QueryInterface得到ITextHost的指针然后调用pHost->TxSetCapture(TRU原创 2011-04-28 19:29:00 · 2152 阅读 · 1 评论 -
Windows客户端开发简介(四)
在上一篇文章里,我简单扼要的给大家介绍了一下GDI的基础知识,包括DC,HDC,GDI对象等等,总的来说都是些偏理论的知识,属于概念的范畴。 今天这篇文章里,我就要正式开始有点实际的东西了,我会教大家一些GDI的基本功能代码编写,基本的技巧,当然还有如何避免基本的坑,哈哈,对的,基本的坑而不是高级的。 那么我要如何说起呢,首先我要告诉大家如何创建原创 2015-06-10 15:16:19 · 3115 阅读 · 3 评论 -
如何用int 3
int 3就是我们常说的软件断点,问题是,在什么时候我们需要用到int 3呢? 我们经常会碰到这样一种场景,有时候一个软件会由多个EXE组成,其中的某些EXE是由另外的EXE调用的,这时候我们通常调用其它EXE创建进程的时候必须用Visual Studio 的Attach Process把VS的调试器和进程关联上(同样用WinDbg也是如此)。这时候我们会碰到一个问题,就是因为原创 2015-05-23 01:45:05 · 3488 阅读 · 0 评论 -
Windows客户端开发简介(三)
之前的一篇文章里,我简单概要的介绍了一下界面库的知识。既然是跟界面有关,那么必然少不了很多关于绘制的内容。对于Windows开发而言,界面绘制使用的一类API就是所谓的“GDI”。 GDI这个东西可有历史了,但是我们就不去追根朔源了。首先,我不能免俗的要先介绍一下它的全称:“Graphic Device Interface”,即“图形设备接口”,从这个名称我们可以大略吸收到的信原创 2015-03-21 00:59:09 · 4809 阅读 · 6 评论 -
Windows客户端开发简介(二)
Windows客户端开发简介(二)一个典型的Windows客户端程序要有哪几部分构成呢?下面我会以一个国内比较流行的互联网客户端程序的基本架构来跟大家逐步展开分析,由于涉及到知识产权的问题,请大家不要问我是什么产品,当然,如果你能猜到,那我就管不着了^_^。某视频影音互联网PC客户端产品基本架构 如上只是个粗略的分层架构图,没有更细致的划分,但是有几个地方是原创 2015-02-12 13:25:26 · 7746 阅读 · 0 评论 -
Windows客户端开发简介(一)
在这样一个移动当道的年代,我跟大家讨论Windows客户端开发,似乎有些倚老卖老的意思了。然而我却觉得无论什么时候,Windows客户端开发其实还是有着不少实用经典的技术的。对了,确切说我是要说说Windows C++客户端开发,什么WinForm,WPF,并不在讨论范围之内,我承认用.NET ,C#做Windows客户端对开发人员来说确实是件轻松愉快的事,但是因为这些技术由于种种原因(主要还是效原创 2015-02-12 10:52:46 · 22652 阅读 · 1 评论 -
阿里面试总结
这次面的是阿里旺旺的客户端开发职位,P6级别,总共三轮,其中前两轮都是电面(我在上海),遗憾的是最后一轮去杭州没有过,不过阿里还是家很不错的公司,BAT的面试我都经历过了,阿里的面试是最让我印象深刻的。主要问题的问题有SEH,结构化异常处理C++的智能指针类设计模式MFC的消息映射内存泄漏STL算法COMWTL一些架构方面的问题 第一面主要是综合原创 2014-04-17 16:34:29 · 7241 阅读 · 5 评论 -
如何学习Windows编程
有很多初入门的小朋友跟我说,他们想学“底层”的技术,因为觉得技术含量高,所以想学Windows C++开发,看着调用一个个的参数超级多,调用起来超级麻烦的Windows API,觉着很酷。于是我念头一转,就有了这篇文章,根据我多年来做Windows 客户端的经验,跟大家谈谈Windows C++,该从哪一方面入手,这不会是一个有技术深度的文章,只是偶尔会涉及到一些术语以及一些入门书籍而已,对于Windows开发的老鸟们来说,只当是看着好玩了。原创 2013-07-20 01:57:11 · 32535 阅读 · 12 评论 -
ffmpeg在Windows平台上的编译方法
由于ffmpeg不能在vc的环境下编译,因此我们需要下载一个MinGW安装好后打开msys.bat文件编辑,在最开始处添加一行call "E:\Program Files (x86)\MicrosoftVisual Studio 10.0\VC\bin\vcvars32.bat"我这里是64位系统+VC2010,安装在E盘,大家可以根据自己的情况进行修改然后运行MinGW因为M原创 2011-12-12 00:01:59 · 1154 阅读 · 0 评论 -
如何抓取QQ2010的聊天框
做这件事难点在于,QQ2010的聊天框用的是无窗口RichEdit,因此不能像普通的RichEdit那样通过FindWindow找到窗口然后发送WM_GETTEXT来获取文本,但是是不是就没有办法了呢,当然不是,这篇文章就要告诉大家抓取QQ2010(以及之后版本)的QQ聊天框信息的一些基本思路。大家先用Dependency Walker看一下RICHED20.dll这个文件,这个文件位于T原创 2011-04-29 18:42:00 · 3492 阅读 · 13 评论 -
一个LoadLibrary导致程序死机的Bug的诊断
前一阵子做一个项目,封装了Libtorrent这个BT库,然后我把它封装了一下,导出了几个函数,然后奇怪的发现,在LoadLibrary这个封装好的DLL时候,程序发生了死锁,就是在LoadLibrary该DLL的时候,程序无论如何也执行不下去了。这时候我们一般的思路是调试一下该DLL,于是我也这样做了,结果我惊奇的发现,DllMain没有被调用,也就是说,程序在调用DllMain之前就死原创 2011-12-02 12:40:41 · 4085 阅读 · 0 评论 -
Windows客户端开发简介(五)
讲完了DC的创建,接下来就要来说说DC的使用,如何调用GDI函数在DC上进行绘制,包括绘制文字,绘制图形以及绘制图片。先来说说如何绘制文字,之所以我把文字放在图形和图片之前,是因为绘制文字往往在常用的GDI操作中是个比较频繁调用的功能,其实在界面自绘时的图形绘制是个相对少用的功能,原因很简单,复杂的图形根本不可能用代码来生成,基本上都是保存在图片里嘛。所以我这里对图形绘制只会简单介绍几原创 2016-11-18 18:15:48 · 4211 阅读 · 2 评论