天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Win8探索學(xué)習(xí)筆記

  目錄

  “程序”的“安裝”

  基于JS的metro程序基礎(chǔ)

  基于C++的metro程序基礎(chǔ)

  WinRT(desktop)之Hello, World

  WinRT之語法擴展

  “程序”的“安裝”

  傳言win8改變了很多,恩,廢話。我希望試圖從開發(fā)人員關(guān)心的角度來了解一下win8,對于用戶而言,其實我覺得win8改變真的不多,無非就是修改了一下開始界面,然后程序會使用metro風(fēng)格的界面,對于開發(fā)人員來說,可能變化的比較多,多了很多新名詞,我希望能對其有所了解,所以記錄一下我所看到的,當(dāng)然,由于win8其實只是一個預(yù)覽版,很多東西我覺得還是會變的,所以真正的東西出來的時候或許還會有些不一樣吧。

  首先關(guān)于變化,我想到的是“程序”是如何“安裝”和“運行”的,之所以用這么多引號,是因為變化太多,我甚至不知道該不該用“安裝”等來表達。有點亂,慢慢來吧,有新的發(fā)現(xiàn)就更新下面的內(nèi)容。

  (1) win8程序的類型

  win8新增了metro,主要是希望便于平板等觸摸設(shè)備上使用。從大的類別分,win8上的程序分為desktop和metro程序(暫且,我就這么分吧,因為據(jù)說win8會有多個版本,支持arm和x86處理器,并不是所有處理器都支持desktop和metro版本,PS:我所使用的是MS的64bit+VS11的preview 版本,安裝在VBox中)。

  對于desktop程序,只能運行在“desktop”環(huán)境下,metro風(fēng)格的程序,只能運行在“metro”環(huán)境下。desktop環(huán)境,就和我們的win7類似。至于“metro",在后面還會慢慢的研究。

  (2) desktop程序如何"安裝"到"開始界面“中

  參考怎樣在Windows8桌面上創(chuàng)建自定義快捷方式

  說明:這里說的程序是desktop的。

  簡單來說,對于一個exe文件,通過創(chuàng)建其快捷方式(假設(shè)為hello.exe - shortcut),將快捷方式放到:

  C:/ProgramData/Microsoft/Windows/Start Menu/Programs

  中,或者在這里創(chuàng)建一個文件夾,放到文件夾中也是可以的。然后,到win8的start界面中,查找這個程序的名字hello.exe,就會出現(xiàn)了,用右鍵選中這個程序,就可以將其pin到start界面中。

  問題一:一個程序pin到start界面,這些pin的信息保存在哪里的?

  只要在C:/ProgramData/Microsoft/Windows/Start Menu/Programs,那么在start界面搜索都是可以出現(xiàn)的,那么這個比較容易理解了,搜索會自動去這個目錄下遍歷。那么哪些程序被pin了,這些信息保存在哪?相信肯定是某個注冊表項的吧,具體就不去找了。

  問題二:所有能在start界面搜索到的程序(的快捷方式)都是在上面這個目錄下保存的嗎?

  事實上,C:/Users/<username>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs目錄下也是可以保存的。至于還有沒有其它目錄也可以被start界面搜索到,那就不清楚了。

  總結(jié):傳統(tǒng)的desktop程序在win8下都是沒有問題的,win32的API那些東西都還是支持的,什么MFC都是可以用的,弄個快捷方式到metro風(fēng)格的start界面上也是可以的,只是運行還是會自動切換到desktop模式下。下面的內(nèi)容開始探索metro程序到底是怎么”運行“的。到底是二進制本地運行還是在.NET虛擬機上運行,還是在一個所謂的native實際上還是“虛擬機”的解釋環(huán)境下執(zhí)行,慢慢來吧。

  基于JS的metro程序基礎(chǔ)

  (1) Metro程序支持的開發(fā)方式和語言

  對于Metro風(fēng)格應(yīng)用開發(fā),可以使用JS實現(xiàn)程序邏輯,結(jié)合HTML5/CSS3設(shè)計用戶接口;也可以使用C++, C#或VB結(jié)合XAML來實現(xiàn)用戶接口,使用Native C++或托管C#或VB來實現(xiàn)應(yīng)用程序邏輯。對于Metro風(fēng)格的C++游戲,可以使用Native C++的DX11庫和HLSL等。

  對于Win8,本地擴展允許用戶構(gòu)建可重用的組件庫,可以使用C++、C#或VB構(gòu)建組件,然后使用JS或者其它的支持的語言在程序中調(diào)用這些組件

  (2) 下面是Win8提供的VS11預(yù)覽版對Metro支持的工程選項

  (3) 使用JS實現(xiàn)的hello, metro

  實現(xiàn)hello, metro很簡單了,用VS 11新建一個最簡單的JavaScript工程,默認的工程模板如下:

  簡單分析一下,這里有css文件夾、images文件夾、js文件夾、winjs文件夾和default.html和一個manifest文件。其實,和一般的web程序是一樣的,default.html是“起始頁”,css和images和js文件夾是對應(yīng)的一些引用的文件了。winjs文件夾,重點說明一下,是win8為基于JS的metro程序創(chuàng)建的一個JS庫吧,暫且理解這么多。然后package.appxmanifest,對于開發(fā)人員都很熟悉了,打包用的一個列表文件,在VS中,雙擊打開可以使用UI的方式編輯了。打開default.html,里面其實就是對其它的css/js文件的一些引用了,就是提供了一個簡單的模板工程了。

  到了這里,我已經(jīng)大概猜測到了,基于JS的metro程序最后還是打包一下,放到一個“虛擬機"/"runtime"上去跑而已,原本以為MS會把JS編譯到二進制,成為native程序的,下面會進一步證明這一點。

  簡化上面的工程,刪除css、js、和winjs文件夾,最后只剩下images、default.html、package.appxmanifest的內(nèi)容。事實上,這才是一個”最簡單“的基于JS的metro工程。default.html內(nèi)容如下:

<!DOCTYPE html>  
<html>
<head>
<title>Hello,metro </title>
</head>
<body>
<button>
Hello, Metro with JS!
</button>
<p>
This is an metro app implemented by JS!
</p>
</body>
</html>

NET技術(shù)Win8探索學(xué)習(xí)筆記,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产系列在线亚洲视频 | 国产精品国产三级国产专区53 | 国产精品久久久久a影院 | 国产精品一库二库三库 | 亚洲精品无码国产爽快A片百度 | 92午夜理论第1000集 app | 乡土女性网动态图解 | 蜜芽在线影片 | 色拍拍噜噜噜啦啦新网站 | 绝色娇嫩美人妻老师 | 被六个男人躁到一夜同性 | 男女高潮又爽又黄又无遮挡 | 吃胸亲吻吃奶摸下面免费视频 | 色综合久久88色综合天天提莫 | 精品网站一区二区三区网站 | 午夜福利理论片高清在线 | 国产人妻麻豆蜜桃色精 | 免费网站在线观看国产v片 免费完整版观看 | aaa级黄影片| 久久免费资源福利资源站 | 最近的2019中文字幕国语HD | 国产一区在线观看免费 | 一本大道熟女人妻中文字幕在线 | 吃胸亲吻吃奶摸下面免费视频 | 亚洲薄码区 | 边做边爱BD免费看片 | 色欲人妻AAAAAAA无码 | 国产人妻精品无码AV在线五十路 | 青青热久久综合网伊人 | 抽插性奴中出乳精内射 | 在线播放一区 | 韩国精品无码少妇在线观看网站 | 中文字幕无线观看不卡网站 | 丰满少妇被猛烈进出69影院 | 开心久久激情 | 欧美黑大炮18p | 国产亚洲精品 在线视频 香蕉 | 国产精品乱码色情一区二区视频 | 草民电影网午夜伦理电影网 | 99精品国产免费久久久久久下载 | 大香网伊人久久综合网2020 |