windows desktop
Windows内存小结
摘要: 虚拟内存, 物理内存,工作集, 页文件, 堆栈,堆
阅读全文
posted @
2016-04-07 21:45 Richard Wei 阅读(3297) |
评论 (1) 编辑
Windows系统机制笔记
摘要: System Mechanisms(interrupt, kernel object, synchronization)
阅读全文
posted @
2016-03-22 22:48 Richard Wei 阅读(2164) |
评论 (1) 编辑
GDI VS Dxgi
摘要: Win10, WinRT, Dxgi
阅读全文
posted @
2016-03-16 22:09 Richard Wei 阅读(3863) |
评论 (1) 编辑
Windows进程笔记
摘要: Windows进程结构
阅读全文
posted @
2016-03-16 22:03 Richard Wei 阅读(2676) |
评论 (0) 编辑
深入解析结构化异常处理(SEH)
摘要: 告诉你Windows结构化异常处理(SEH)技术的台前幕后...
阅读全文
posted @
2015-02-27 21:40 Richard Wei 阅读(16512) |
评论 (0) 编辑
如何给开源的DUILib支持Accessibility
摘要: 尽管我N次吐槽基于GDI的DirectUI界面库会随着XP的淡出而逐渐失去市场, 但是实际工作中还是要经常和GDI打交道,外面招聘单位还是有不少Windows客户端的开发岗位。 在这"移动互联和"Web前端"横行的"大数据"时代,很多同事开始向移动App和大数据转型, 尽管这几年PC客户端的开发人员是只出不进, 但是只要Windows存在一天,我们的工作就还是有价值的..
阅读全文
posted @
2014-11-15 00:01 Richard Wei 阅读(8269) |
评论 (7) 编辑
如何在桌面上透明的绘画
摘要: 桌面透明标注和绘画实现原理
阅读全文
posted @
2014-09-22 23:10 Richard Wei 阅读(6332) |
评论 (3) 编辑
如何检测资源泄露
摘要: Window上我们常见的资源泄露包括内存和对象句柄泄露, 下面讨论下对各类泄露的检测方法。
阅读全文
posted @
2014-08-27 22:37 Richard Wei 阅读(3767) |
评论 (0) 编辑
如何基于纯GDI实现alpha通道的矢量和文字绘制
摘要: 一个基本的图形引擎要包括几个方面的支持:位图绘制,文字绘制,矢量绘制(如矩形,线条)。
可惜GDI这个20多年前发明的老古董,对这几项的绘制, 除了位图绘制可以通过AlphaBlend支持alpha通道,其他绘制都不支持alpha通道。
阅读全文
posted @
2014-08-26 00:22 Richard Wei 阅读(5214) |
评论 (3) 编辑
如何抓取扬声器的声音
摘要: 工作中有个需求是关于抓取扬声器的声音, 为什么会有这个需求?
试想我们在共享远程桌面时,如果能够把本地桌面应用程序的声音也一起发给对方, 用户体验该是多么棒。
阅读全文
posted @
2014-08-21 23:34 Richard Wei 阅读(14791) |
评论 (5) 编辑
如何将Icon转成Bitmap
摘要: 最近工作中有个需求是将Icon转成带Alpha通道的Bitmap, 虽然网上有不少这方面的文章,但很多都是错的, 这里记录下,或许对后来人有用
阅读全文
posted @
2014-08-21 22:23 Richard Wei 阅读(5018) |
评论 (0) 编辑
一个exe可执行文件的生与死(运行原理)(转载)
摘要: 本文讲的的Windows 环境下exe可执行文件的运行原理,这里面涉及的知识很多,需要读者对Windows操作系统(如注册表、进程、线程、内存管理、PE文件格式等)、Windows编程(本文使用c++语言)等有所了解。
阅读全文
posted @
2014-04-05 11:48 Richard Wei 阅读(2427) |
评论 (0) 编辑
从点击Button到弹出一个MessageBox, 背后发生了什么
摘要: 简单总结下,操作系统通过一层层的封装,隐藏了太多的东西, 很多看似简单的行为, 实际上背后都有很复杂层层调用。理解这些原理,可以让你的知识达到一定的深度,帮助你更好的解决问题。
阅读全文
posted @
2014-04-05 00:57 Richard Wei 阅读(5270) |
评论 (2) 编辑
关于Windows高DPI的一些简单总结
摘要: 如果说以前XP时代我们还有理由不关注高DPI, 那么在移动设备时代和大显示器的高分辨率时代, 我们就没有理由不关注高DPI了, 比如Surface Pro的分辨率是1920x1080, 这种情况下如果系统我们不设置高DPI, 基本上就没法触摸和操作了,所以现在普通程序对高DPI的支持已经成为趋势了。
阅读全文
posted @
2014-02-18 23:12 Richard Wei 阅读(41670) |
评论 (10) 编辑
Window Ghosting
摘要: 在XP时代我们的程序没有响应后只能通过任务管理器强制杀掉,但是Vista之后情况变了, 我们仍然可以拖动失去响应的窗口,甚至可以尝试最小化和关闭窗口, 我们把这个特性叫住Window Ghosting。
阅读全文
posted @
2014-01-08 21:26 Richard Wei 阅读(3213) |
评论 (3) 编辑
Windows桌面共享中一些常见的抓屏技术
摘要: 最后简单总结下 , 我们可以看到Windows系统上基本没有一种通用的抓屏技术可以高效的抓取所有的系统(XP/Win7/Win8), 很大一部原因是操作系统的显示驱动模型在从XPDM向WDDM转变, 应用层的API也在从GDI向D3D转变 。 相对于Linux的稳定, Window的不断发展和进步, 对开发人员究竟是喜是悲?
阅读全文
posted @
2013-12-01 22:04 Richard Wei 阅读(38415) |
评论 (16) 编辑
HOOK技术的一些简单总结
摘要: 探讨各种Hook技术: SetWindowsHookEx, SetWinEventHook, API Hook, COM Hook
阅读全文
posted @
2013-10-30 11:03 Richard Wei 阅读(30045) |
评论 (13) 编辑
关于Windows窗口框架
摘要: 我们知道Windows的窗口消息处理函数是C方式, 面向过程的, 所以窗口框架的基本任务就是将它转成面向对象的方式, 确切的说如何将消息处理函数第一参数HWND转成对象指针。
阅读全文
posted @
2013-09-08 14:47 Richard Wei 阅读(4351) |
评论 (11) 编辑
如何获取桌面截图
摘要: 最近工作 中有个需求是抓取桌面截图, 这里的桌面是指点了“显示桌面”之后看到的桌面, 截图内容包括桌面背景和图标以及任务栏
阅读全文
posted @
2013-08-30 20:30 Richard Wei 阅读(7909) |
评论 (2) 编辑
浅析Windows安全相关的一些概念
摘要: 记录一些Windows 安全相关的概念, 分享自己对Windows安全机制的一些理解。
阅读全文
posted @
2013-08-25 07:58 Richard Wei 阅读(10915) |
评论 (3) 编辑
DirectUI中模态对话框和菜单的原理
摘要: Windows的API封装了太多细节, 尽管大部分时候我们只要知道如何使用它们,而不用关心它们的内部如何实现。 但是当你写一些相对底层的东西,比如开发自己的DirectUI界面库时, 还是需要真正理解某些API的内部实现原理,才能继续深入下去
阅读全文
posted @
2013-04-07 22:19 Richard Wei 阅读(5142) |
评论 (10) 编辑
Rootkit技术发展史(转载)
摘要: “SSDT”(System Service Descriptor Table,系统服务描述符表) Inline Hook FSD”(File System Driver,文件系统驱动)
阅读全文
posted @
2013-01-12 22:32 Richard Wei 阅读(1426) |
评论 (0) 编辑
理解Windows内核模式与用户模式
摘要: windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令。一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。
阅读全文
posted @
2013-01-12 22:03 Richard Wei 阅读(8554) |
评论 (0) 编辑
如何让窗口控件半透明
摘要: 在网上关于窗口视觉效果,有2个问题被问得最多:
第一个是如何让窗口边框有阴影效果?
第二个是如何让窗口控件有半透明效果?
阅读全文
posted @
2012-08-23 00:38 Richard Wei 阅读(7247) |
评论 (4) 编辑
软件换肤的原理
摘要: 总的来说DirectUI是趋势,而微软的WPF代表了DirectUI最先进的技术方向,换肤对于DirectUI来说非常容易。随着Win7,Win8 的普及,传统界面库的市场会越来越小,一来因为系统本身已经很炫了,二来微软自己的WPF和Xaml技术基本上已经可以实现任何想要的效果。当然只要XP不消亡,传统的界面库还是有自己的一席之地。
阅读全文
posted @
2012-08-21 22:33 Richard Wei 阅读(5996) |
评论 (2) 编辑
共享个人写的一个截屏小工具
摘要: 主要特性:
(1)软件小而高效,使用流畅,设计人性化
(2)支持截图区域的手工选择和根据窗口自动识别选择
(3)支持矩形,圆形,直线,箭头,画笔,文本等注释工具
(4)支持橡皮擦除功能
(5)无限次数的撤销和重做
(6)支持鼠标光标的截取
(7)支持鼠标区域跟踪和放大
(8)支持各种图像文件格式的保存和编辑
(9)支持多显示器
(10)支持换肤和多语言
阅读全文
posted @
2012-08-21 00:02 Richard Wei 阅读(7118) |
评论 (19) 编辑
如何学习Windows编程
摘要: 经常有初学者询问如何学习Windows编程?
很多人从MFC开始学习,结果常常是一头雾水,知难而退;也有人毅力坚强,熬过了MFC的阵痛期,最后却是知其然而不知其所以然,并且思维被限制在MFC的框架之中,遇到稍微有点规模的程序就无从下手了。
阅读全文
posted @
2012-08-15 13:37 Richard Wei 阅读(7541) |
评论 (5) 编辑
如何减小Exe, DLL 的大小
摘要: 运行库,数据节, 代码节
阅读全文
posted @
2012-07-07 15:17 Richard Wei 阅读(5371) |
评论 (1) 编辑
远程线程入门
摘要: 远程线程作为一项"合法"的代码注入技术,在windows上被大量使用, 它的本质就是把一块可执行代码写入到对方进程,然后让其起运行。
一般它的实现过程是这样的, 通过VirtualAllocEx在目标进程分配内存空间,然后通过WriteProcessMemory将我们的可执行代码写入到目标进程,最后通过CreateRemoteThread让我们的可执行代码在目标进称里运行起来。
阅读全文
posted @
2012-06-20 15:38 Richard Wei 阅读(3954) |
评论 (5) 编辑
QQ截图时窗口自动识别的原理
摘要: 新版的QQ在截图时加入了窗口自动识别的功能,能根据鼠标的位置自动画出下面窗口的轮廓。今天有人在论坛上问起这个问题,下面我们来探讨这个功能的实现原理。
阅读全文
posted @
2012-05-06 21:34 Richard Wei 阅读(12112) |
评论 (9) 编辑
桌面上嵌入窗口(桌面日历)原理探索
摘要: 今天在QQ群里有人问怎样实现将自己的窗口嵌入桌面,让它和桌面融为一体,就像很多桌面日历软件那样。
阅读全文
posted @
2012-05-03 22:07 Richard Wei 阅读(8538) |
评论 (8) 编辑