PS:为了这个标题,就想了一会,实在不知道该如何命名,因为不太清楚接下来的内容会是什么,不希望标题让人误解。总之,接下来的内容可能有点乱,如果你对win8有所了解,最好不要阅读下面的内容,否则你会觉得浪费时间。:)
Summary:
传言win8改变了很多,恩,废话。我希望试图从开发人员关心的角度来了解一下win8,对于用户而言,其实我觉得win8改变真的不多,无非就是修改了一下开始界面,然后程序会使用metro风格的界面,对于开发人员来说,可能变化的比较多,多了很多新名词,我希望能对其有所了解,所以记录一下我所看到的,当然,由于win8其实只是一个预览版,很多东西我觉得还是会变的,所以真正的东西出来的时候或许还会有些不一样吧。
首先关于变化,我想到的是“程序”是如何“安装”和“运行”的,之所以用这么多引号,是因为变化太多,我甚至不知道该不该用“安装”等来表达。有点乱,慢慢来吧,有新的发现就更新下面的内容。
(1) win8程序的类型
win8新增了metro,主要是希望便于平板等触摸设备上使用。从大的类别分,win8上的程序分为desktop和metro程序(暂且,我就这么分吧,因为据说win8会有多个版本,支持arm和x86处理器,并不是所有处理器都支持desktop和metro版本,PS:我所使用的是MS的64bit+VS11的preview 版本,安装在VBox中)。
对于desktop程序,只能运行在“desktop”环境下,metro风格的程序,只能运行在“metro”环境下。desktop环境,就和我们的win7类似。至于“metro",在后面还会慢慢的研究。
(2)desktop程序如何"安装"到"开始界面“中
http://jandan.net/2011/09/16/create_win8_shortcuts.html(怎样在Windows8桌面上创建自定义快捷方式)
说明:这里说的程序是desktop的。
简单来说,对于一个exe文件,通过创建其快捷方式(假设为hello.exe - shortcut),将快捷方式放到:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
中,或者在这里创建一个文件夹,放到文件夹中也是可以的。然后,到win8的start界面中,查找这个程序的名字hello.exe,就会出现了,用右键选中这个程序,就可以将其pin到start界面中。
问题一:一个程序pin到start界面,这些pin的信息保存在哪里的?
只要在C:\ProgramData\Microsoft\Windows\Start Menu\Programs,那么在start界面搜索都是可以出现的,那么这个比较容易理解了,搜索会自动去这个目录下遍历。那么哪些程序被pin了,这些信息保存在哪?相信肯定是某个注册表项的吧,具体就不去找了。
问题二:所有能在start界面搜索到的程序(的快捷方式)都是在上面这个目录下保存的吗?
事实上,C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs目录下也是可以保存的。至于还有没有其它目录也可以被start界面搜索到,那就不清楚了。
总结:传统的desktop程序在win8下都是没有问题的,win32的API那些东西都还是支持的,什么MFC都是可以用的,弄个快捷方式到metro风格的start界面上也是可以的,只是运行还是会自动切换到desktop模式下。下面的内容开始探索metro程序到底是怎么”运行“的。到底是二进制本地运行还是在.net虚拟机上运行,还是在一个所谓的native实际上还是“虚拟机”的解释环境下执行,慢慢来吧。
(3) 基于JS的metro程序的“安装”
参考下一篇http://blog.csdn.net/gengshenghong/article/details/7039374
待更新。