自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拓扑梅尔 - 漫漫开发路

专注于Windows平台软件开发,Topomel Box

  • 博客(581)
  • 收藏
  • 关注

原创 为什么资源管理器里不显示文件夹大小?

恩,实时更新文件夹大小,确实是一项诱人的功能,但是实现起来,却代价不小。到底有没有一种好的办法呢?

2024-04-22 09:54:02 216

原创 请勿假设你的用户都有管理员权限

要求每个用户都是管理员,确实有点强人所难,但是因为拓扑梅尔智慧办公平台(TopomelBox)需要和操作系统做深层次的交互(例如,屏幕分享),使用它的用户,必须有管理员权限。那么问题转变为: 你是否相信它的作者?

2024-04-18 10:07:54 327

原创 传递一个比实际字符串大的缓冲区长度会怎么样?

在 Win32 Native 编程中,惯用法是一套很重要的用于提升编码安全性的规则工具箱。如果经过严格的测试,确认一段代码能正常稳定工作,请将这段代码收藏到你的惯用法工具箱,并在以后的开发中时常拿出来使用。

2024-04-15 09:57:48 542

原创 设计阶段就需要考虑的事情:如何处理用户数据

这个建议在软件设计阶段就需要想好,作为开发者,我们的关注点是程序的功能开发,但是作为最终用户,他可不关心程序的事儿,他关心他的数据是否丢失或损坏。拓扑梅尔智慧办公平台(TopomelBox)就深刻理解了”用户数据”的重要性,所以当你某一天不愿意再看到它时,卸载的时候,你的个人数据依然会保留。

2024-04-12 09:47:28 411

原创 请勿在没有透彻理解的情况下使用前台窗口

我们需要做一个 Windows 世界的守法公民: 我们的程序不可以影响用户的正常操作,也不可以影响其他的程序。拓扑梅尔智慧办公平台 (TopomelBox) 就一直将这条铁律浇筑在每时每刻的开发中。我们深知,我们的一生是如此短暂,TopomelBox 的目标是:帮助用户高效完成工作任务,轻轻的来,轻轻的走,不给用户增加一丝心智负担。

2024-04-09 10:08:42 515

原创 为什么进程最多只能创建 10000 个窗口?

通常,我倾向于不创建非常多而复杂的用户界面,你需要考虑一些”极简型”用户。如果,我是说如果,你有机会体验下拓扑梅尔智慧办公平台(Topomel Box),则应该可以知道:窗口并非越多越好,高效率才是王道。生命是如此短暂,作为开发者,我们决不能随意浪费用户的生命,他(她)们有其他更加重要的事儿要做。

2024-03-28 17:45:40 200

原创 Visual Studio 小更新:改善变量的可见性

我可以感受到,Visual Studio 开发团队确实在细节上下功夫了。希望大家可以下载最新版本把玩把玩,但记得别耽误正事儿!

2024-03-25 10:02:11 374

原创 我们来看看窗口句柄的底层实现

所以,在传统基于窗口的用户界面中,所能创建的窗口是有上限的,且创建的窗口越多,运行时性能越慢。现在时髦的无窗口(Direct UI)设计,则不再使用窗口句柄,而是实时绘制用户界面。两种玩法中,我属于保守派(不思进取派)。拓扑梅尔智慧办公平台 (Topomel Box) 使用了传统来创建用户界面,虽不时髦,但重在管用!

2024-03-21 10:09:00 399

原创 QueryPerformanceCounter 的不当用法

所以,又一条成功避坑条款:不要使用 QueryPerformanceCounter 来生成唯一值。

2024-03-18 10:27:43 861

原创 深入理解对话框管理器:自定义 TAB 按键行为

你如果想要在桌面程序开发中有所建树,钻研 Win32 细节是不可回避的一条路。一生短暂,我只做好一件事:做好我的 Topomel Box (拓扑梅尔智慧办公平台),在过程中把细节整明白。

2024-03-14 10:06:17 330

原创 Visual C++ 2005 可以生成清单信息了

我是一个 #pragma 的重度使用者,因为我倾向于在代码中(而不是在开发环境中)指定所有的设定。这样,你的东西就不再依赖开发环境,而是依赖你自己的代码。是不是更加有安全感?居安,思危。

2024-03-11 10:12:17 1031

原创 Visual Studio 2022 Version 17.9 新功能

至少,从 Visual Studio 对 C++ 开发者一如既往的支持来看:C++ 可以确保成为陪伴你一辈子的东西。人这一生,找到能喜欢一辈子的东西,不是那么容易。

2024-03-08 09:58:38 613

原创 思维调试:为什么FormatMessage提示找不到资源?

有很多技术你可能一辈子都不会用到,但它确实在那里。一小块,一小块的,将它们搞懂。

2024-03-05 13:29:50 535

原创 MFC 模态对话框退出机制的探究

程序的世界是实在而纯粹的。任何问题,只要有源代码,就可以花时间研究它,最终都可以解决问题。这可是比人好打交道多了。

2024-03-02 11:39:35 1174

原创 傻傻分不清楚:WINVER,_WIN32_WINNT等

如果你仔细看看 Visual Studio 默认生成的 C++ 桌面应用程序(MFC),则你会发现,项目文件下,确实生成了一个 targetver.h,而此文件又包含了 SDKDDKVer.h 文件。此文件仅 300 多行,值得你研究一番。

2024-02-28 10:32:21 851

原创 我们需要先弄明白头文件的默认版本

如果你需要你的程序可以跨域多个 Windows 版本运行,则你需要特别关注上面的”重点来了”章节。请不畏繁琐,勇于当”细节帝”。(说的就是你)

2024-02-25 10:40:53 375

原创 谨慎行事,请编写面向阅读的代码

这里有一个先苦后甜的道理:在设计接口或者函数的时候,多琢磨琢磨,如何让接口的使用者更加容易理解,容易调用。这不光方便了接口的使用者,也会对编写代码的你产生深远的正向益处。可别胡乱一通操作,并想着 “又不是不能用”。

2024-02-22 10:48:55 372

原创 为什么不能在一个禁用的窗口上显示工具提示?

从体验上来说,我还是倾向于在一个已经禁用的窗口上显示工具提示,因为有些用户会看到一个变灰的按钮,但是他可能不明白为什么会这样?如果这个时候,有个工具提示出来,就显得更加友好了。

2024-02-19 10:15:50 308

原创 小知识:UAC 对话框的颜色所代表的含义

作为一名开发者,我心中的狭义情怀使我不得不强烈支持 UAC:因为这世道,坏人实在太多了。保护”电脑小白”不受伤害,是我等开发者光荣的任务。

2024-02-08 09:33:43 356

原创 对 GetFileVersionInfo 参数的理解

避免在程序中硬编码,尽量采用动态获取的方式来进行值加载。你的代码就离艺术品不远了。

2024-02-05 09:40:08 368

原创 两种相同的垂直工具栏标志以及为什么

所谓人无完人,没有人是完美的,也没有代码是完美的。我们的目标是:吸取教训,绝不再犯同样的错误。

2024-02-01 09:42:32 338

原创 技法和原理:如何找到你需要的菜单项?

优先使用按位置进行菜单项目查找,并时刻牢记:按命令查找可能会找到多个,且可能返回那个你所不需要的。

2024-01-29 10:35:25 360

原创 VS Code C++ 开发:入门和 IntelliSense 配置

当然,也有一些神人使用记事本来编写程序,我很敬佩他。但是,如果合理地使用智能感知,则可以更加快速的编码,省掉一些小细节上的心智负担,让宝贵的大脑资源集中在更加重要的事情上。

2024-01-25 11:15:06 1300

原创 用户体验设计小知识:勾选框使用细节

虽然是小小的勾选框设计,但不同的设计方式,从用户看来,完全是两种不同的思维模式,否定式在理解上需要多花些脑力。从用户舒服的角度来说,我们推荐”肯定式”勾选框设计。

2024-01-22 10:20:52 335

原创 关于 GETDISPINFO 通知的详细理解

这就像在餐厅里当厨师修改顾客的订单一样。“哦,这位顾客不想要香菜,那我给他加点葱花作为替代吧。”

2024-01-19 11:00:29 781

原创 是时候丢掉 DDE 了

但是,正如本文所说的,还是不要再使用了吧。

2024-01-16 15:36:15 356

原创 Visual Studio 新特性:对 include 指令进行智能诊断

这个功能对于完美主义者来说还挺不错,我就经常放着正事儿不干,老是琢磨某个源文件中的某一句include是否有必要存在。

2024-01-10 19:19:23 599

原创 关于 LockWindowUpdate 的最终总结

我的目标只是帮助人们更有效地使用 LockWindowUpdate,并在 LockWindowUpdate 是不适合这项工作的工具时引导他们选择替代方案。

2024-01-07 07:45:28 415

原创 Visual Studio 2013 “即将退休”

我已上了 Visual Studio 2022 的船了,10年内,Topomel Box 的开发应该是稳定安全的。亲爱的大兄弟,你呢?

2024-01-04 09:41:44 712

原创 什么情况下不应该使用 LockWindowUpdate ?

所以,如果不是为了实现拖放场景,请不是使用 LockWindowUpdate。你大概率需要的是这个:SetRedraw。

2024-01-01 10:47:29 389

原创 深入理解 LockWindowUpdate: 该函数的作用

此文献给老是整不明白 LockWindowUpdate 和 RedrawWindow 区别的你(我)。

2023-12-25 09:47:25 830

原创 为什么我的对话框创建失败了?菜鸟错误2

请牢记以上编程”套路”,日后少走弯路。同时,你对事物的理解将更加深入一个层次。

2023-12-22 09:17:35 396

原创 为什么我的对话框创建失败了?菜鸟错误1

请谨慎修改工程的资源定义文件(.rc文件),最好还是交给开发环境来自动维护。机器在这方面(“老老实实的工作”)比人强。

2023-12-19 09:30:05 411

原创 如果你找不到东西,请先确保你在正确的地方寻找

在许多场景下,我们需要完全去除主观想象,因为这些想象可能和事实完全相反。所以:根据事实的发展,做出决定,而不是靠想象。

2023-12-16 22:19:59 363

原创 EnumChildWindows 本身已经是递归的了

在非必要的情况,还是尽量少使用递归这种形式,虽然它看起来确实很美。

2023-12-14 08:46:42 388

原创 如何打印富文本控件中的内容?

我有时候真的想将打印功能列为需求列表上最后一行,但是真实世界中,这一功能可能是某一类用户最希望使用的。所以,还是尽力拥抱你最害怕的事情吧。

2023-12-11 06:42:33 361

原创 如何将超过 32000 个字符放入富文本控件中?

这个小知识点很小,但是它可以解决令人头疼的大问题。我的大脑袋实在是太需要这类小知识点了。

2023-12-08 12:05:11 391

原创 如何将整个文件内容加载到富文本控件?

这个小技巧,值得记录,因为载入文件到富文本控件这个需求,几乎总是时不时的冒出来,以后有这个需求了,直接看此文即可知道如何下手了。

2023-12-05 10:04:41 388

原创 为什么不能通过GetProcAddress调用CreateWindow?

当有不明白的地方的时候,最好的方法还是去翻阅源文件(头文件)。请坚信:任何事情(Bug)都是有原因的。

2023-12-02 11:52:41 371

原创 不要被各种专业术语吓倒

所以,亲爱的开发者,不要被 MSDN 中各种你没有见过的名称术语吓倒,当你深入了解了事物的本质,就会明白这些这是台面上的东西,没有什么可以畏惧的。

2023-11-29 09:18:36 897

拓扑梅尔智慧办公平台(Topomel Box)是一款日常办公软件,主要面向经常使用电脑的朋友 它提供了各种提升办公效率的小功能

主要特点 1) 远程控制 支持本地局域网模式,通过IP地址连接,也可以支持公网模式(使用唯一ID识别主机),轻松穿透各种防火墙。 新增”最佳性能”模式,在弱网环境下也可以表现良好。 2) 文件传输 支持单个及多个文件传输,并可以在聊天列表中直接预览图片及打开文件。 3) 文字/音视频聊天 支持文本即时聊天。如果对方有摄像头麦克风等设备,则支持双向音视频通话。 4) 最近常用的程序和文件 添加你经常访问的程序和文件,再也不用面对海量的数据找来找去了。 5) 统一的文件管理 将所有你关心的文件都统一存放在同一个地方,支持常用的文件操作,另外,还支持快速文件搜索和文件预览。 6) 加密通信 采用高强度加密对数据进行端到端加密,使用者可以放心传输敏感数据。 7) 全新设计的用户界面 摒弃了复杂笨重的用户界面和操作交互,采用了”轻盈,极简”的设计理念,对用户界面进行了重新设计。

2023-02-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除