实测:模态循环派发的是整条线程的消息——进模态前投给 owner 的 WM_USER+7 被对话框循环取走, 嵌套第二层模态里第一层的 WM_TIMER 照样 3→4→5→6 跳;对话框基线是 7×15 而 GetDialogBaseUnits 报 8×16; 回车属于 DM_GETDEFID 而不是焦点控件,两个 DEFPUSHBUTTON 时后写的赢且把前者的样式位清零; ListView 插 2000 行开重绘 597.5 ms、关掉 74.5 ms(8.02 倍),虚拟模式 100 万行只要 3.4 ms 和 32 KB; 钩子吞掉 WM_LBUTTONDOWN 后父窗口 WM_COMMAND 从 1 变 0,BM_CLICK 也被同一把钩子拦下; 对话框过程里 return DefDlgProcW(...) 是无限递归,进程连错误码都来不及打印就没了。
实测:HKLM\SOFTWARE 的 64 位视图 71 个子键、32 位视图 56 个,而 32 位视图与字面 Wow6432Node 路径的末次写入时间 134344297879504256 一字不差(同一份数据的两个门);HKCU\Software 三种视图都是 120 个子键,HKCU 不参与重定向; RegQueryValueExW 读 REG_SZ 报 14 字节而 RegGetValue 对同一个值报 146,RRF_RT_REG_EXPAND_SZ 不加 RRF_NOEXPAND 直接给 1630; 键名 4095 字符、值名 16385 字符、单值 4 MB 在本机都没被拒,往 HKLM 写一律 rc=5; RegNotifyChangeKeyValue 0.05–0.08 ms 就回来;HKCU 的 Run 键写值不需要提权,写→读回→删三步闭环走完,写完 1 秒后并没有启动; .qzdemo 只登记在 HKCU\Software\Classes,HKCR 立刻能读到,AssocQueryStringW 三条查询全 S_OK,但没注册的扩展名也返回 S_OK。