| SmartPhone2003 注册表 |
|
| 日期:2005-7-22 20:55:20 人气:0
[大
中 小] |
|
在SP2003注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\下面隐藏了一些有趣的主键,如 :MSINBOX :MSCONTACTS :MSCALENDAR :MSTASKS :MSSettings :MSHome :MSStart :MSTNOTES 等等。 当用户在Start Menu中选择Contacts,系统会查找注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSCONTACTS下的子键”0”,它是一个String value,包含对应窗口的类名,对于Contacts,它的类名,也就是子键”0”的值就是” Contacts”,系统根据这个类去查找系统冲的窗口,如果匹配,激活它,如果不存在,继续查找子键”1”的值,它是一个String value,包含启动这个程序的快捷方式,对于Contacts,子键”1”的值是“appman.exe -s Apps :MSCONTACTS tpcutil.dll AMContacts“,我们暂且不考虑这个值具体表达的意思,想想如果把子键”1”改为我们定义的程序,那么在Start Menu中选择Contacts,就会启动我们定义的程序。也就是,如果想扩展系统程序Contacts的功能,只需修改这个键值指向我们定义的程序,一切OK了。事实确实如此。 事实上,不光Start Menu中的程序Inbox, Contacts, Calendar, Tasks, Settings等程序的处理原理同Contacts类似,连Start Menu程序本身也是这样处理的,商业软件Surreal Start就是修改了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSStart\1的键值,替换了系统的Start程序。 更有趣的是,对于系统一些按键,如录音键的处理方式也是如此。当用户按了录音键,操作系统查找注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Rai\:MSTNOTES\1键值, 这个键值缺省时指向录音程序。这是一个全局事件,不管当前停留在什么窗口,按下录音键都会调用该子健对应的程序。假若你有一个程序想随时随地激活,使用这个键值是最佳选择。 当然,灵活运用这些键值可以使你的程序和系统程序无缝结合到一起,甚至可以为系统作一些扩展功能。
|
|
| 出处:91mobile 作者:buptpki |
|
|