随笔分类 -  Win32开发

摘要:不时看到有人问起如何判断当前是否有窗口正处于全屏状态? 不过, 在解决这个问题之前先来解决一个简单的问题? 什么是全屏? 相当一部分人认为: 窗口如果是最大化的, 那么它就是最大化的? 真是这样吗? 简直BS!. 全屏是指窗口整体大小至少占据了整个屏幕, 而不是除任务栏以外... 阅读全文
posted @ 2014-07-23 12:51 女孩不哭 阅读(4604) 评论(0) 推荐(0)
摘要:在为duilib封装系统控件的过程中, 再一次遇到了系统EDIT控件文字颜色/文字背景颜色的处理问题. 不要小看这个消息, 她很可能不会让你如愿以偿. 其实我要的目的很简单: 1. 改变文字颜色 2. 改变文字背景颜色 下面列举我遇到的几种可以说成是有点奇葩的现象不自动刷新其余部分背景代码: ... 阅读全文
posted @ 2014-06-24 23:10 女孩不哭 阅读(2028) 评论(0) 推荐(0)
摘要:Windows控制台窗口默认的显示行数很少, 以至于有时候要显示很多东西的时候, 总是导致前面的内容丢失. 很不爽.于是GG了下, 在StackOverflow上找到了答案~~~ 设置方式: 1. 打开注册表 2.定位到 HKCU\Console\%SystemRoot%_System32_cm... 阅读全文
posted @ 2014-06-03 22:54 女孩不哭 阅读(1890) 评论(0) 推荐(0)
摘要:不得不说, 自Win7(好像是吧), Windows的音量调节功能比以前更人性化了.... 但编程接口却变得更加复杂了............. 还要用到IAudioEndpointVolume…………. 下面的代码是我整理的, 经测试可用, 嫌麻烦的可以直接拿来用, 接口很简单... 阅读全文
posted @ 2014-04-07 01:47 女孩不哭 阅读(3371) 评论(3) 推荐(1)
摘要:Windows真DT, 今天升级了vim, 从vim73到vim74, 突然发现右键菜单打开方式中的VIM不见了, 于是手动重新指定到vim74\gvim.exe, 未果, Windows就直接忽略了我的选择, 没任何反应, 打开方式里面也没看到vim的图标, 于是GG, 并在superuser... 阅读全文
posted @ 2013-09-14 13:01 女孩不哭 阅读(759) 评论(0) 推荐(0)
摘要:原文:https://blog.twofei.com/616/ 用我的理解通俗地解释一下什么是C++中的Thunk技术吧! Thunk技术就是申请一段可执行的内存, 并通过手动构造CPU指令的形式来生成一个小巧的, 具有明确作用的代码块. 小巧? 具有明确作用? 你曾经初学C++时, 如果我没猜错的 阅读全文
posted @ 2013-09-11 00:44 女孩不哭 阅读(5120) 评论(1) 推荐(1)
摘要:昨天, 群里面有一个人问起: 要怎么让"文件打开对话框"居中显示, 有人说子类. 而我告诉他的方法是用钩子函数OFNHookProc, 不知道这是不是所谓的子类?相信看了我今天这篇文章以后, 要解决居中显示的问题就是小菜一碟啦~ 这个东西也并不是我今天才用, 很久以前做的串口调试助手(Com Monitor)上面也用到了这个功能. 下面来看一张被挂钩了的GetOpenFileName的效果(来自QQ影音): 可以看到, "打开"对话框的右上角被QQ影音添加了一个按钮, 用来管理常用文件夹, 这个按键放在这里是最适合不过了~ 下面看看我将要说明的代码实现的 阅读全文
posted @ 2013-07-09 22:01 女孩不哭 阅读(5264) 评论(0) 推荐(0)
摘要:原文:http://blog.twofei.com/windows/desktop/win7-no-file-assoc.html 在Win7(WinXP)中, 打开方式的对话框中有一个选项是"始终使用选择的程序打开这种文件", 该选项默认被选中, 也就是说, 当我们在打开方式中选择一个程序用来打... 阅读全文
posted @ 2013-06-23 13:45 女孩不哭 阅读(6875) 评论(0) 推荐(0)
摘要:说实话, 一直使用GVIM, 但是没能找到一个在GVIM中能用的好看的字体, 不是因为没有字体, 而是在GVIM不能使用,GVIM默认在执行:set guifont=*选择字体时只支持等宽字体(貌似也并不是所有的等宽字体都能选择), 这导致很多的字体不能使用, 而能使用的字体却又显示效果非常差,... 阅读全文
posted @ 2013-06-14 05:34 女孩不哭 阅读(5567) 评论(0) 推荐(0)
摘要:忙里偷闲, 在看雪论坛上面看到有人发布了一个"Win7星号密码探测工具", 发现"有那么一点"小用处. 用处不大的原因是:这个程序的的能力相当有限, 只能查看一部分安全性不高的软件的密码框里面的程序,如果你要拿它来看QQ的密码, 想当然, 那是不可能了. 程序使用到了一种非常古老的技术来实现获取其它进程密码框的内容:远程线程注入后,使用WM_GETTEXT消息来获取指定Edit的内容. 之所以说非常古老, 是因为这种方法早在2003年就有一牛人在CodeProject上面发表了这样的文章,一篇非常经典, 带领许多人入门的文章:Three Ways To 阅读全文
posted @ 2013-06-08 02:30 女孩不哭 阅读(878) 评论(0) 推荐(0)
摘要:普通的应用程序是接收不到笔记本盖子的状态的消息的, 应用程序必须向系统注册后才能收到该消息. 我使用这个消息的原因是, 我想在笔记本盖子合上后禁用键盘和鼠标, 以免误操作. 要注册该消息, 使用 RegisterPowerSettingNotification 函数, 其中的GUID指定为 GUID_LIDSWITCH_STATE_CHANGE. 应用程序退出时必须要取消该注册消息, 使用 UnregisterPowerSettingNotification. 示例程序: 在应用程序初始化时注册消息: HPOWERNOTIFY hPowerNotify; ... 阅读全文
posted @ 2013-05-30 03:08 女孩不哭 阅读(5317) 评论(0) 推荐(0)
摘要:一直都是用系统的控件, 还从不知道一个控件该怎么去写~~~ 网上的教程太少了, 完全不知道怎么开头~~ 也一直用 RegisterClassEx + CreateWindowEx 创建一个主程序窗口, 却从不知道控件也是通过这种方式来写的.看来我们无时无刻不在自己写控件啊~~~ 第1次写控件, 介绍一下我写的这个简单功能控件的创建过程: 1. 为控件写一个窗口类,指定默认窗口函数,并注册窗口类 2. 调用 CreateWindowEx 创建该子控件即可, 和创建主窗口完全一样 重点: 指定的窗口过程必须要为自己的子控件做好相应的消息处理:比如:鼠标消息, WM... 阅读全文
posted @ 2013-05-16 02:49 女孩不哭 阅读(1184) 评论(0) 推荐(0)
摘要:由于屏幕的多种类性, 我始终没有使用市面上的那种取模软件, 我始终感觉数据可能不对.因为我的屏幕的要求比例是R:G:B(5:6:5),16位色,一个像素2个字节保存,所以总觉得应该自己写一个来做这种转换工作的软件. 今天写了个小程序,在彩屏上显示出来的效果很好. 程序是为我的屏幕的数据类型量身生成的 阅读全文
posted @ 2013-04-21 00:05 女孩不哭 阅读(5027) 评论(1) 推荐(2)
摘要:用这个Dr.com拨号器连接校园网时, 有时候会出现这个问题 "其它程序占用控制端口, 请退出重新再试!(1)", 一旦出现, 什么重启,重试什么的都不能解决, 网上有人说重装系统, 这个嘛, 我看还是算了, 重装系统废神, 能解决则解决, 不到迫不得已不重新系统~ 我的办法:打开"任务管理器... 阅读全文
posted @ 2013-04-11 13:10 女孩不哭 阅读(997) 评论(0) 推荐(0)
摘要:不需要调用什么特殊的API函数,只需要对自己的窗口函数发送一个消息并把该消息交给系统处理就行了. 而发送的按键信息就是大家一般在USB外接键盘上面看到到那种专业键,比如音量加,音量减,静音,上一曲,下一曲,播放与暂停,...实现方法: 音量静音:MAKELPARAM(0,FAPPCOMMAND_KEY<<12|APPCOMMAND_VOLUME_MUTE); 音量增加:MAKELPARAM(0,FAPPCOMMAND_KEY<<12|APPCOMMAND_VOLUME_UP); 音量减少:MAKELPARAM(0,FAPPCOMMAND_KEY<<12|AP 阅读全文
posted @ 2013-03-22 00:16 女孩不哭 阅读(1105) 评论(0) 推荐(0)
摘要:话说, Windows SDK貌似并没有提供设置一个窗口的客户区大小的API. SetWindowPos,MoveWindow 它们都只能设置整个窗口的大小, 如果不采取点其它的方法, 是不能直接设置客户区的大小的. 设置客户区的大小用处不是很多, 但有时候会用到, 比如在客户区上进行文字输出计算的时候. Windows的窗口由几个部分组成, 这包括了客户,非客户区, GetWindowRect可以取得整个窗口的大小,GetClientRect可以用来取得客户的大小. 重要的是要知道非客户区的大小, 我记得可以通过GetSystemMetrics来获得, 但相对于我下面的方法来说都要复杂. . 阅读全文
posted @ 2013-03-21 23:46 女孩不哭 阅读(5789) 评论(1) 推荐(2)
摘要:错误描述:FATAL: Payload '{3F023875-4A52-4605-9DB6-A88D4A813E8D} Camera Profiles Installer 6.0.98.0' information not found in Media_db. 详细: Exit Code... 阅读全文
posted @ 2013-03-14 02:01 女孩不哭 阅读(12166) 评论(0) 推荐(0)
摘要:用了这么久的Wxp, 终于换Win7了, Win7的鼠标长方形选框颜色是蓝色的, 不过喜欢上了Ubuntu的橙色的矩形选框, 所以就打算把Win7的鼠标长方形选框也换个颜色, 就我喜欢的橙色吧~~ (没必要装主题实现哦~) 标签:Win7,蓝色长方形,颜色,鼠标选框 第1步:在桌面上点击,选... 阅读全文
posted @ 2013-03-13 04:10 女孩不哭 阅读(11884) 评论(0) 推荐(0)
摘要:这个模块主要是实现加载/卸载Windows内核驱动程序(不是硬件驱动), 属于软件驱动, 也就是是在软件启动的时候加载驱动, 在软件退出的时候卸载驱动程序. 刚开始学驱动时问题用SrvInst.exe, 感觉不太方便, 不能随程序的启动,退出, 自动加载与卸载, 所以写成了这个模块, 这下方便好多了. BUG:关于加载多个驱动程序那里的计数器, 还未做测试, 不知道能否正常工作. 有时候在卸载驱动程序会遇到"驱动程序已标记为删除"的错误消息, 这个还未解决. 貌似这种情况多发生在应用程序完全释放其所打开的资料所致. 比如:1)加载驱动; 2)打开设备 3)关闭设备 4)卸载 阅读全文
posted @ 2013-02-25 14:25 女孩不哭 阅读(4256) 评论(4) 推荐(0)
摘要:tfref 由于是笔记本电脑, 由于屏幕太小, 也可能是不想让别人看见自己打开了哪些窗口, 所以选择了把桌面的任务栏的自动隐藏选项给钩上了, 现在只要任务栏失去焦点, 它就会自己隐藏了. 但很不爽的是, 任务栏在屏幕的最下面(其它位置也一样), 只要鼠标稍微碰到就会显示出任务栏, 太不爽了, 所以... 阅读全文
posted @ 2013-01-09 20:31 女孩不哭 阅读(3913) 评论(7) 推荐(1)