图书介绍
伟大的产品 Windows进化启示录2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Raymond Chen(雷蒙德·陈) 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121278297
- 出版时间:2016
- 标注页数:454页
- 文件大小:59MB
- 文件页数:482页
- 主题词:Windows操作系统
PDF下载
下载说明
伟大的产品 Windows进化启示录PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 用户界面设计初探1
为什么要单击“开始(Start)”按钮来关机1
为什么Windows没有“专家模式(expert mode)”2
对话框的默认按钮是“取消”3
最好的设置是:即使你没有意识到这些设置的存在,但它们依然按照你所期望的方式在工作6
为了显示我们的超群智慧,现在就来问一个你回答不了的问题6
为什么安装程序不会问你是否希望保留操作系统文件的新版本7
功能设计的思考9
什么时候应该禁止选项,而什么时候又该删除选项11
什么时候应该将“...”放在按钮或者菜单项的后面12
自动售货机的用户界面设计13
室内门锁的用户界面设计14
Windows用户界面风格的变迁:扁平化与3D之争15
第2章 WindoWs95往事18
为什么在世界地图中,当前时区没有被加亮显示18
为什么当内存超过1GB时,Windows 95无法启动19
为什么在Windows 95中有些函数叫作BEAR、BUNNY和PIGLET21
BOZOSLIVEHERE和TABTHETEXTTOUTFORWIMPS表示什么含义22
在Windows 95特别版的包装盒中都有些什么东西23
Windows引出了每个人的罗尔沙赫氏测试23
登录时的武术图片25
为什么一个非常大的词典反而不好25
Windows 95的启动音乐26
不负责任的技术专栏就是谣言的集散地27
为什么在“系统属性”页中对内存的大小进行了取整27
为什么硬盘指示灯每隔几秒钟闪一下28
寻求更快的系统陷阱28
一个字节曾经价值一美元29
每个产品支持电话的成本相当于卖出一个Windows拷贝30
为什么在Windows的光盘中没有包含Tweak UI30
不能通过xcopy来安装Windows32
买下一个Egghead软件商店33
WindowsPowerToys的典故33
Windows如何选择最终构建编号36
为什么在安装系统补丁包时系统的构建编号不会增加37
第3章 GetWindowText函数的秘密38
窗口如何管理文本38
深入了解GetWindowText函数39
如果我不喜欢这些规则,那该怎么办40
能否给出一个示例程序来说明这种差异40
为什么GetWindowText的规则如此奇怪41
第4章 任务栏与通知区域43
为什么有些人把任务栏叫作“托盘”43
为什么任务栏默认是在屏幕的底部45
为什么在任务栏中的时钟并不显示秒46
为什么不在任务栏中显示模拟时钟46
为什么当任务栏竖直停靠时,“开始”按钮上的文本消失了47
为什么当用户单击“X”按钮时,通知图标不会收到消息47
第5章 令人困惑的界面问题48
那些小小的覆盖图标是什么48
为什么当我登录时,有些不希望看到的文件/文件夹会自动打开49
对文件来说,文件名字体的颜色代表什么含义51
为什么在高级选项对话框中,在每个选项后面都会加上“开”或者“关”52
Alt+Tab中的图标顺序是如何确定的52
为什么文件夹的“只读”属性非常奇怪53
当我单击空白任务栏按钮时,这些按钮消失了,发生了什么事54
“最小化所有窗口”和“显示桌面”之间的区别是什么55
菜单中的粗体文本表示什么含义56
自定义的网页图标是从何而来的57
任务管理器的标签和按钮到哪里去了58
拖动一个文件是表示移动还是复制58
为什么“链接”文件夹总是不断地自我创建59
为什么同时选择多个文档进行打印时,文档的打印顺序是乱的60
我在产品支持部门的一天61
吹掉连接器上的灰尘62
1GB到底表示多少字节63
为什么不能删除“仅用于测试/评估”的标记64
第6章 GlobalAlloc函数的历史65
很久很久以前GlobalAlloc函数是怎么工作的65
选择符67
过渡到Win3269
实现示例70
第7章 Windows编程中的一些话题73
“临时”程序73
获得在标题图标中的自定义右键菜单78
CreateMenu与CreatePopupMenu有什么区别80
为什么窗口管理器会自动销毁菜单82
仅当窗口在屏幕上可见时才进行绘制82
判断窗口是否被覆盖86
用位图刷来实现平铺效果88
DC画刷的好处90
用ExtTextOut函数来绘制实心矩形92
用StretchBlt函数来绘制实心矩形94
在显示字符串时去掉那些难看的方框95
没有所有者的信号量102
自动复位事件只是一个毫无意义的信号量104
第8章 窗口管理106
为什么会收到伪WM_MOUSEMOVE消息106
为什么没有WM_MOUSEENTER消息109
白屏109
空心画刷的作用110
桌面窗口有什么特殊的地方110
禁止窗口和激活窗口的正确顺序112
恢复窗口位置时的问题113
界面模态与代码模态114
WM QUIT消息与模态117
为模态界面设置正确的所有者窗口119
与进入模态的程序进行交互122
定时消息框的简单版本122
临时窗口124
在GWLP_USERDATA中的附加窗口数据125
定时消息框的改进版本126
定时右键菜单128
为什么窗口在被销毁之后还会收到消息128
第9章 关于硬件的回忆录130
硬件的向后兼容性130
光驱131
微软公司的网络:比“地狱”差1.7 倍132
制造商的尴尬事:在硬件设备的固件中拼错了自己的名字133
欺骗WHQL的驱动程序认证过程134
20英尺长的计算机135
USB手推车135
检测到了新设备:波音747136
超频带来的问题136
第10章 对话框管理器的内部工作机制139
关于对话框过程139
对话框模板的发展150
为什么需要对话框模板180
对话框是如何创建的181
模态对话框的消息循环188
嵌套对话框以及DS_CONTROL200
为什么需要对话框循环206
为什么对话框编辑器从100开始设置控件的ID208
在DefDlgProc函数中做了哪些工作208
不要将焦点设置在被禁止的控件上210
在IsDialogMessage中做了什么工作211
为什么有些消息框中的“X”按钮是被禁止的218
第11章 常见的软件问题220
为什么夏令时与我们的直觉不同220
为什么将文件复制出来时,文件的时间戳会发生变化222
不要相信返回地址223
编写排序比较函数224
可以从另一端来理解契约225
实用主义和纯粹主义之间的争论229
优化通常是违背直觉的230
在服务器上,换页=死机233
不要保存任何能够重新计算的结果234
通过增加其他组件的开销来提升性能235
轮循的性能问题236
检测内存泄漏的简单方法237
糟糕的缓存策略将导致内存泄漏238
第12章 深入研究Visual C++编译器246
析构函数是在什么时候调用的246
COM对象的布局251
调节转换器253
指向成员函数的指针是非常奇怪的东西254
什么是purecall258
第13章 向后兼容性261
有些应用程序的本意就是要造成崩溃261
当程序使用未公开的结构时262
为什么不阻止那些使用了未公开结构的程序264
为什么16位DOS和16位Windows仍然存在266
像NUt和CON这些保留文件名的作用是什么268
为什么(有时候)在UNC路径前面是一个驱动器盘符269
不要轻视“猎鹿者”这个游戏的威力270
有时候,游戏中的bug只有在玩了一段时间后才会显现出来271
Shell Folders键的故事271
保持错误码的向后兼容性是很重要的274
没错,我们实现了这个功能275
有些程序在为操作系统打补丁时将陷入困境276
即使在内部数据结构中也存在着兼容性问题277
为什么Windows让BIOS时间保持为本地时间278
版本号的检测279
破坏IUnknown::QueryInterface的几种方式280
当程序假设操作系统永远不会发生改变(一)282
当程序假设操作系统永远不会发生改变(二)282
伪显示控制面板284
伪可视化风格285
第14章 一些名字的来源和历史286
在WPARAM和LPARAM中,字母W和L分别表示什么意思286
为什么在Windows 98中,显示器的最大数量是9287
为什么注册表文件被叫作蜂窝287
16位Windows中对资源的内存管理287
HINSTANCE和HMODULE的区别288
在WinMain函数中,hPrevInstance参数的作用是什么291
为什么GlobalWire函数被叫作这个名字292
LocalAlloc和GlobalAlloc的区别292
GMEM SHARE标志的作用295
为什么在转换到LPARAM之前会进行一个多余的转换295
为什么有些注册表函数的名字以Ex结尾296
SHGetMalloc,SHAlloc和CoGetMalloc之间的区别298
为什么Windows错误报告程序的昵称是Dr.Watson303
DirectX4出了什么问题304
为什么HANDLE类型的返回值如此不一致305
为什么文本文件是以Ctrl+Z来结束的307
为什么行结束符是CR+LF307
TEXT、_TEXT与_T,UNICODE与_UNICODE308
为什么对话框在初始创建时是隐藏的309
当程序在内部做修改时,没有人会注意309
如果FlushInstructionCache没有做任何事情,为什么还要调用这个函数311
如果InitCommonControls没有做任何事情,为什么还要调用这个函数311
为什么InterlockedIncrement/InterlockedDecrement这两个函数只是返回结果的符号312
为什么会存在WSASetLastError函数313
为什么在Windows中使用基于广播的机制313
在任务栏出现之前,窗口最小化之后被放到了什么地方314
为什么在计算桌面窗口大小时会把任务栏也包含在内316
为什么在按下Alt键时,光标将停止闪烁316
ES_OEMCONVERT风格的作用317
在文件系统隧道背后隐藏的故事319
为什么NTFS和资源管理器在对文件名进行排序时是不一致的320
日期/时间控制面板并不是日历322
Windows 95如何重新设定DLL的加载基址323
SYSTEM_FONT和DEFAULT_GUI_FONT是什么字体326
为什么上下控件中的箭头与大多数人的直觉是相反的326
Windows 95发布会的门票327
第15章 窗口消息的发送与接收329
发送消息和投递消息329
发送消息的生命期334
投递消息的生命期335
生成的投递消息337
SendMessageCallback将在什么时候调用回调函数339
当消息超时后,SendMessageTimeout函数将执行什么操作340
澄清一些关于消息处理的谬论340
如何知道消息的发送者/投递者341
不能用PostMessage来模拟键盘输入342
第16章 国际化编程343
在Unicode上做大小写映射是很困难的343
令人啼笑皆非的大小写映射错误344
为什么不能旋转文字345
0409和1033是些什么目录348
注意编码页349
为什么默认的8比特编码页叫作“ANSI”356
为什么默认的控制台编码页叫作“OEM”357
为什么OEM编码页经常被叫作“ANSI”358
在Unicode和ANSI之间的转换结果既是合理的但也是奇怪的359
第17章 安全361
所有用户都有写操作权限的文件361
在资源管理器中隐藏文件362
窃取密码363
未验证驱动程序的静默安装364
调试代码可能是一个安全漏洞365
为什么共享数据段是一个安全漏洞366
IE的增强安全配置并不信任内部网络369
第18章 Windows2000和WindowsXP371
为什么在Windows XP“开始”菜单的“所有程序”列表中没有智能菜单371
为什么没有定义可以访问“开始”菜单中快速启动列表的函数接口372
为什么Windows XP Service Pack 2有时候会忘记CD自动播放设置374
不安全设备删除对话框375
关于WindowsXP中“Comments”按钮的两段回忆376
为什么资源管理器在刻录完光盘之后会把光盘弹出来376
为什么Windows安装程序会生成新的启动扇区377
超自然力调试法:为什么在四处理器的机器中有三个处理器没有发挥作用378
超自然力调试法:为什么CPU使用率总在50%上下徘徊379
DS_SHELLFONT标志的作用379
为什么DS_SHELLFONT=DS_FIXEDSYS|DS_SETFONT381
DS_SHELLFONT在属性页上的效果381
第19章 Win32中的设计问题383
为什么当无法解析某个导入函数时,Win32就不会加载这个模块383
为什么要仔细检查结构的大小384
为什么必须为了WM_DEVICECHANGE返回一个奇怪的值387
程序和用户之间的战争388
为什么不能截获TerminateProcess函数调用389
为什么有些进程在被终止之后还停留在任务管理器中389
理解WAIT_ABANDONED所带来的结果390
为什么不能把超链接放在通知图标的气球提示中392
为什么在树型控件中不能重复使用同一个节点394
奇怪的STRRET结构394
为什么不能把UTF-8设置为系统的ANSI编码页396
什么时候应该使用下沉的客户区397
为什么没有包罗万象的Windows版本397
为什么可能发生禁止桌面窗口的情况398
窗口和菜单的嵌套限制分别是多少399
HWND_TOP和HWND_TOPMOST的区别399
第20章 税赋401
分级存储管理402
地缘政治学403
远程桌面连接与绘制403
快速用户切换和终端服务406
多用户407
漫游用户配置文件408
重定向文件夹410
“我的文档”与“应用程序数据”413
大地址空间413
电源管理和检测电池的电量417
间歇性的网络连接419
反走样字体和ClearType技术420
高DPI显示423
多显示器427
工作区429
在正确的位置上显示弹出窗口431
辅助功能431
第21章 轻松一刻439
容易误解的“空”操作439
不要让市场部门搞砸你的幻灯片439
异想天开的Bug报告440
小心示例URL441
任何代码都不是孤立的441
我在ViusalBasic方面很专业442
半透明的塑料443
我遭遇的第一次死亡威胁443
你无法摆脱这些AOLCD444
在接入电脑的电源之前发出严正警告445
蜘蛛纸牌不再排名第一445
关于Rat Poker的一些事情446
为产品小组取名时请三思447
讨论组的命名心理学448
经理和程序员的区别448
将软盘作为信号量449
当一个标志中途改变了它代表的含义449
把异想天开的尴尬作为一种温和的指责方式450
“当日开发员”的帽子451
办公室里的迪士科舞会451
万圣节主题的大厅452
热门推荐
- 1164350.html
- 338721.html
- 2644192.html
- 1403223.html
- 3362793.html
- 3376520.html
- 1084879.html
- 472259.html
- 1863947.html
- 3148866.html
- http://www.ickdjs.cc/book_2332874.html
- http://www.ickdjs.cc/book_1153848.html
- http://www.ickdjs.cc/book_2653917.html
- http://www.ickdjs.cc/book_3221692.html
- http://www.ickdjs.cc/book_1136425.html
- http://www.ickdjs.cc/book_3067273.html
- http://www.ickdjs.cc/book_775451.html
- http://www.ickdjs.cc/book_3039624.html
- http://www.ickdjs.cc/book_1395958.html
- http://www.ickdjs.cc/book_869649.html