天天躁日日躁狠狠躁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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄色一级毛片免费 | 中国农民真实bbwbbw | 久久毛片视频 | 天美传媒在线观看免费完整版 | 欧美高清vivoesond在线播放 | 国产在线观看香蕉视频 | 网友自拍区视频精品 | 亚洲欧美一区二区三区九九九 | 又黄又粗又爽免费观看 | 88.7在线收听| 国产高清免费观看 | 色一情一乱一伦一区二区三区 | 婷婷六月激情综合一区 | 精品国产品国语在线不卡 | 蜜桃臀无码内射一区二区三区 | 精品无码一区二区三区不卡 | 国产亚洲日韩另类在线播放 | 近亲乱中文字幕 | 亚洲AV成人无码999WWW | 极品虎白在线观看 | 灌满内射HP1V1 | 日本亚欧热亚洲乱色视频 | 又大又硬又爽免费视频 | 中文乱码35页在线观看 | 亚洲欲色欲色XXXXX在线AV | 美女被抽插到哭内射视频免费 | 扒开老师大腿猛进AAA片邪恶 | 亚洲精品一二三区-久久 | 日本高清在线一区二区三区 | 青青精品国产自在线拍 | 精品少妇爆AV无码专区 | 色欲午夜无码久久久久久 | 5g天天奭视频 | 欧美老少欢杂交另类 | 么公一夜要了我一八次视频HD | 黄色网址在线看 | 亚洲乱码国产一区三区 | 被吊起玩弄的女性奴 | 国产精品人妻系列21P | a在线观看免费视频 | 国产亚洲高清视频 |