前言:中文期刊網精心挑選了應用程序范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
應用程序范文1
MDI應用程序,可以在同一時間,每個文檔顯示在自己的窗口中顯示多個文檔。MDI 應用程序通常具有窗口菜單項具有子菜單窗口或文檔之間切換。
MDI就是所謂的多文檔界面,與此對應就有單文檔界面, 它是微軟公司從Excel電子表格程序開始引入的,Excel電子表格用戶有時需要同時操作多份表格,于是就產生了MDI應用程序。
MDI應用程序類派生于C語言?;诳蚣艿膽贸绦虮仨氂星抑挥幸粋€應用程序對象,它負責應用程序的初始化、運行和結束。
(來源:文章屋網 )
應用程序范文2
方法如下:
1、在運行應用程序A時切換為應用程序B,按手機的桌面鍵,返回手機桌面;
2、左右滑動桌面找到應用程序B,點擊該應用的圖標即可打開應用程序B;
3、若在切換的同時退出應用程序A,長按按住桌面鍵,調出后臺應用管理界面,找到應用程序A的圖標,往上一拉即可將應用程序A關閉。
(來源:文章屋網 )
應用程序范文3
但在帶來便捷的同時,卻沒有太多程序照顧用戶反饋這些應用程序帶來的不良影響,即便只是很小的細節。希望本文的列舉能讓應用開發者更好的注意改進這些缺陷,把它們列入更新的范圍。
過多的郵件提醒
用戶已經花掉28%的時間來處理email,我們不再想花更多時間。你很久沒聯系的大學同學加入了Spotify,你的老鄰居把你劃進了Google+的朋友圈,但誰在乎這些呢?這些通知都是可以忽略的,應用程序應該給這些提醒劃一個圈子,比如僅僅是你的密友清單里面的提醒,如果你通過Facebook鏈接,這些人應該是你定期交流的。
雖然用戶可以改變設置,但大量的垃圾郵件不應該是默認接收的。
無關的推送通知
是的,你有很多親人和朋友在Facebook上,所以同步的知道他們在做什么,但并不代表我們連對方上傳照片這樣的瑣碎事情也關心。這種推送信息帶來的干擾是非常讓人厭倦的:它并不是突發事件,有什么必要當時就報告呢,完全可以押后的動作啊。對于這些無關的推送信息我們可以做什么呢?可以舉例Foursquare,當你通過一個to-do list到達某一個頁面,會彈出一個小窗口,所以這是一個活動的,可供選擇的上下文提示。
頻繁的評分請求
積極的應用程序評級可以幫助下載量,不過用戶常常在做著其他緊急的事情,比如出門前查天氣、交通狀況,但一打開應用程序便是讓你跳轉去App Store評分,你會怎么想呢?如果用戶剛剛卸載了應用程序,其實也并不想去做什么意見反饋的評價,我只是不喜歡想卸載,而不想寫一堆評價。
所以,在使用這個功能前請開發者三思好嗎,好酒不怕巷子深。
總是連接Facebook
拿Chelsea Stark這個應用來講,用戶會問,你在干什么,你是個做飯應用?。?/p>
對于我個人來說,我有百八十個應用時連接到Facebook的,但真正用到的也就那么15個,為什么我要那剩下的一堆程序去讀取我的個人信息呢,我能在這個連接里得到什么?
全屏幕的廣告
有時用戶打開一個應用程序彈出一個全屏幕的應用程序廣告,這個是讓人煩躁的,用戶只能按叉叉退出。但經常也會點錯地方,以致通過廣告發送到App Store或者Safari上面,無論用戶如何操作,總得等那么幾秒鐘讓頁面打開展示你的應用程序,這種降低用戶效率的做法并不是推廣你應用程序的一個明智方式。
視頻廣告
視頻廣告展現的方式常常是侵入性的,比如你暫停時,關掉的聲音也能被重新打開,我們理解產品制作者需要收入,但至少不要以這種擾民的方式出現吧。
未經修飾的文本
不是每個人都能閱讀10碼的字體,當用戶縮放的時候下拉又要縮回去,幾乎是逐字逐句的閱讀,如果能加入自動下滾的功能就好多了,響應式設計是個大方向。我們都需要這樣的功能。
不支持Retina Apps
人們或許不可想象,Retina屏幕推出兩年了,還有一些應用程序不支持,這個實在找不到任何辯解的理由。
不顧反對的推薦用戶關注
應用程序范文4
關鍵詞:應用程序;APP設計;界面設計;形象場
優秀的設計作品大多擁有統一的形象場,如蘋果公司的iPhone、iPad和Mac系列產品,始終貫徹簡潔、柔和、易用的設計原則,給人以優雅、高貴、科技感十足的品牌形象感。其強大的吸引力甚至產生了“粉絲效應”,在競爭激烈的移動智能終端市場獨樹一幟,立于不敗之地,這就是典型的形象場的作用力。而近年來,應用程序順應移動智能終端的迅速發展而崛起,由于應用性強、開發門檻較低,正以驚人的速度增長。網易新聞顯示,2014年,僅谷歌Play Store一個平臺的應用數量就達到了143萬,相當于2013年的兩倍。雖然發展前景一片大好,但應用程序的大量增加必然帶來同類應用同質化嚴重的問題,尤其在應用界面扁平化風格普及之后,沒有特色的應用程序很快會被湮沒在茫茫的應用之海。面對競爭激烈的現狀,應用程序只有樹立品牌才能擺脫同質化、增強競爭力,而形成統一的形象場是品牌構建中最重要的一環。在應用程序的設計中,形象場分為視覺形象場、架構形象場、內核形象場三個組成部分,三個部分相互適應、相互影響,形成一個統一、和諧的整體形象場閉環,幫助應用程序樹立完整、立體的品牌形象。
1應用程序的設計現狀
2012年,微軟Windows8系統的,刮起了扁平化設計的風潮。現在,除游戲類應用外,絕大部分應用程序的設計風格都完成由擬物化向扁平化轉變的過程。扁平化設計的概念源于“扁平化”企業管理模式,目標是通過減少界面信息結構層級和增加單層信息幅度,來構建一種“寬而扁”、“快而全”的信息組織形式。在移動互聯網時代,扁平化設計的優勢顯而易見:第一,減少冗余的裝飾,降低了對硬件的要求,更適合應用于容量較小的移動設備。第二,層級減少,使得信息獲取更加直接,降低了對移動網絡的要求。第三,移動設備屏幕尺寸較小,簡單清晰、功能凸顯的扁平化界面能有效地減少認知障礙、避免信息迷航。因此,在追求“短平快”效應的開發過程中,構建扁平化的形象場是應用程序設計的大勢所趨。
盡管扁平化在應用程序中得到了普及,但許多應用程序卻陷入了一個誤區:只完成了扁平化的視覺表現,卻忽略了扁平化在應用程序架構里更為重要的作用――層級優化。相比層級化界面,扁平化界面的層級大大縮水,信息的獲取形式從縱向的深度鏈接變成了橫向的并列式鏈接,使應用程序操作起來更簡單、易上手。大眾所熟悉的社交類應用“微信”,是扁平化架構設計的一個極好的模板:“聊天”作為最主要的功能顯示在首頁,點擊聊天對象可以直接對話,而其他功能用戶只需通過一兩個層級就可以很快達到子目錄,找到目標信息。不得不說,微信扁平化層級的出現是社交類應用程序的一次革命,簡便、流暢的操作大大拓寬了用戶的年齡層,從此移動互聯網不再是年輕人的專利。由此可見,架構形象場的設立對應用程序整體形象場的構建至關重要。
此外,扁平化設計雖然能很好地適應移動終端,但其功能化的、追求極簡的表現形式很容易使其淪為工業化的產物。在文明高度發展的當代,冰冷的工業化產品很難再滿足當代人的情感需求。因此,“情感”會成為連接用戶的重要紐帶,而應用程序必然隨之探索情感化設計的道路,這也是樹立應用程序內核形象場的重要方式。
綜上所述,扁平化的界面和扁平化的層級凸顯信息、化繁為簡、進一步友善人機交互,才是扁平化設計的完整含義。應用程序應該吸收扁平化設計的優點,同時補充扁平化設計的不足,做到“形”、“骨”、“神”兼備,構建界面干凈清晰、架構簡單高效、內涵感性人文的整體形象場。
2應用程序視覺設計的形象場
視覺是人類最重要的感官,應用程序的界面不僅是其整體形象最直接的視覺呈現,還擔負著表現架構和內核的責任,因此它是構成品牌形象場最重要的組成部分。受移動終端屏幕尺寸大小和扁平化設計風格的影響,應用程序的界面設計脫去繁復的裝飾,越來越趨于簡單明了的色塊、線條和文字之間的組合,而扁平化設計中最具有表現力的色彩則形成了固有的交互式色彩體系。
2.1內容中心式界面排布
扁平化界面設計的目的是幫助用戶更快地找到目標信息,因此以往將內容進行羅列的對稱式的排版逐漸向內容中心式排版進行演變。內容中心式排版,即將應用程序所要表達的內容進行等級劃分,將主要內容和次要內容在位置、大小、色彩等方面進行區分的一種排版方式。內容中心式排版讓信息的獲取更加“簡單粗暴”,用戶不需要找尋功能或者思考操作步驟,界面排版本身就像一個路標指示著所有的操作行為。例如,滴滴打車就是這樣一個功能性應用程序,整個界面就圍繞著“打車”一個功能進行設計,輸入地址叫車上車付款抵達交易成功,這一系列操作都在主界面上完成,內容具有唯一性、操作具有引導性、整個操作過程幾乎沒有障礙。界面中心式排版很好地踐行了扁平化的設計理念,是構成重點突出、簡潔明了的形象場的有效方法。
2.2交互式色彩體系
受移動終端屏幕尺寸大小的影響,絕大多數應用程序都選擇減少界面上的色彩種類來適應較小的屏幕,專用于應用程序設計的交互式色彩體系應運而生。交互式色彩體系遵循以下兩個原則:第一,主色少而純。受移動設備界面尺寸的影響,過多的色彩容易模糊信息,造成認知障礙。因此,采用一種主色,配上白色或其他沒有色彩傾向的顏色來構成界面是最合適的。主色一般采用明度和純度較高的顏色,一方面有助于信息的凸顯;另一方面,有利于在同類應用程序中跳脫出來,增加吸引力。第二,輔色小而精。在主色的基調下,為了避免視覺疲勞,需要其他的顏色進行輔助。輔助色應當遵循小而精的原則,不占用大面積,一般用在圖標和文字上,以示區別。輔助色最好采用主色的互補色,這樣既能最大化地展示信息和功能,又不對整體的界面產生過分干擾。靈活運用交互式的色彩,是形成信息凸顯、功能明確的形象場的有力手段。
3應用程序架構的形象場
應用程序的架構指的是其界面、功能、層級、邏輯等模塊的組織結構及其相互關系的總和,架構是應用程序的“骨骼”,是支撐整個應用程序的核心力量。好的架構能增強應用程序的整體性和凝聚力,打造通用、高效、交叉的架構形象場。受扁平化設計的影響,應用程序架構的形象場主要分為包容式的場、分布式的場和聯系的場三個方面。
3.1包容式的場
2030年,我國65歲以上的人口將超過總人口的15%,中國將全面進入人口老齡化階段。用戶的差異,尤其是年齡差異,使得他們使用產品的能力值(如視覺、聽覺、觸覺等)大不相同,因此照顧到大多數人使用能力的包容性設計產品將成為主流。英國標準協會(2005)將包容設計定義為“主流產品或服務的設計能為盡可能多的人群所方便使用……無須特別的適應或特殊的設計”。應用程序作為覆蓋人群廣、操作性強的移動終端軟件,在其架構上應當向包容式設計靠攏。包容式應用程序最典型的例子就是微信的語音功能,長按錄音按鈕講話,松開錄音按鈕語音信息即可自動發送,將信息錄入和輸送簡化到只有一個步驟,對用戶的操作能力具有極強的包容性,可以說是社交類應用程序設計的一個飛躍。由此可以得出,包容式的應用程序最大特點是:第一,具有通用性,界面和按鈕的排布符合一定的規律或者使用者統一的固有習慣。第二,具有可及性,降低使用所需的能力值,照顧到盡可能多的人群,減少操作上的障礙。包容性架構以簡單化的操作包容絕大多數用戶,形成通用、簡單、少障礙的包容式架構形象場,使得應用程序適用人群更加廣泛,是未來應用程序發展的重要趨勢。
3.2分布式的場
互聯網時代,人們處于高度連接又深度分裂的社會,不可能再依賴中心標準的指導,分布式的、無領導的、自然出現的整體性成為社會的理想,分布式的管理模式應運而生。分布式管理模式的特點是沒有強制的中心控制、各層級擁有自行處理問題的能力以及資源優化配置。在應用程序里,將功能進行分區,使各功能模塊享有“自治權”,不再由高層級統一控制,這就形成了分布式的系統。分布式系統廣泛應用于一些購物應用程序之中,尤其是數據吞吐量較大的團購網站,區域細分和數據分布式存儲減少了出錯的可能性,同時能充分利用各個模塊的資源,提高系統工作的效率。分布式系統的優勢在于:第一,每個功能模塊擁有自行處理問題的能力,數據不需要逐級上傳到最高層,再由最高層進行反饋,大大地節約了時間空間,提高了系統運行的效率。第二,“去中心化”的模式,讓各個功能模塊享有更多的自由,在內部完成改良甚至是進化,使自身更好地適應關聯模塊和應用程序整體。第三,高度自治能夠更快捷、更有針對性地修復系統故障,減小模塊崩潰的幾率。第四,各模塊自行搜集數據、相互獨立,使系統具有更高的容錯性,哪怕其中一個模塊崩潰,也不會對整個系統造成毀滅性的影響。
在海量的、同質化嚴重的應用程序中,高效是強有力的競爭力。分布式系統所形成的高效率、容錯性強、既獨立又相互適應的場,對應用程序的高效運行至關重要,因此建立分布式系統是形成應用程序架構形象場行之有效的重要方法。
3.3聯系的場
在應用程序的分布式系統中,各個層級是高度連接的,聯系使平行層級之間產生互相適應、自由組合的交叉關系,使模塊與模塊之間產生動能,形成具有閉合性以及完整回路的系統,從而形成無限的、和諧的、自覺的架構形象場。聯系的場主要特征為:其一,模塊之間相互聯系,使它們不斷進行排列組合,產生非線性因果關系,讓應用程序的發展擁有無限性。其二,層級之間的高度聯系能有效傳遞信息,各層級根據彼此的信息進行自我調整和相互適應,使整個系統始終處在相對和諧的狀態。例如,美圖軟件里的磨糊與銳化、提亮與加深等功能組合,看似矛盾,實際上具有交叉性,能夠避免沖突相互適應,最終得到較好的整體效果。其三,連接讓層級產生共同意識,產生自下而上的、自覺的控制,各功能模塊直接對外部刺激產生反饋動作,而不再依賴中央生硬的調控,這也是智能化發展的必經之路。
4情感化設計造就形象場
互聯網的興盛的當代是一個信息過剩的時代,人們需要更加人性化的方式對大量的信息進行篩選和取舍。因此,情感需求逐漸高于功能需求,交互設計也逐漸摒棄形式遵循功能的現代主義風格,逐漸回歸到反映人類心理需求的本能水平設計上來。人們對應用程序的情感源自于自身的需求和期望,如果二者得到了滿足,便會產生“愉快”“喜愛”的情感。所以,情感化設計是連接用戶的“軟紐帶”,也是增加吸引力、構建應用程序內核形象場的有力手段。其中,擬人化設計就是情感化設計中最典型的一種。
擬人化設計指的是將產品賦予人類的外形、精神、個性、品格等元素,使其被感知為“人”的一種設計手法。擬人化存在的本因是人都有為非人類事物賦予人類特質的傾向,其原始動機是人對非人類事物的求知欲。由于擬人化設計對產品的外形有著更清晰的界定和要求,也對產品的內涵有更明確的定位,使產品內外統一形成較為完整的“人”的形象,因此更容易形成統一的形象場。
擬人化設計有三種傾向:一是將產品賦予人的某些外形特征,如可口可樂早期的飲料瓶身就是參照瑪麗蓮?夢露的三圍而設計造型的。二是將產品賦予人的精神和個性,如蘋果產品里的語音助手s試,就常常以幽默的回答體現出機智、風趣、高情商的人格特點。三是構建擬人化的虛擬形象來增加產品的親和力,如騰訊QQ的企鵝形象、天貓的黑貓形象、瑞星殺毒軟件的小獅子等。應用程序的擬人化設計主要傾向于后兩者,通過人化性格特征的體現或與人化的形象對話,增加用戶的溝通感和參與感,使用戶獲得更好的反饋體驗。支付寶是其中一個成功的例子,它將自己稱為“店小二”,將用戶稱為“客官”,既明確了自己服務者的定位,又營造了熱情、踏實、靈活的形象,讓用戶產生“顧客至上”的感覺,更容易對其產生信任感。而支付寶內的反饋語也由機械的提示語變得更加人性化,如將“數據加載中”變為“客官別著急”,讓用戶更有帶入感,好似和人對話,相較于和機械對話產生更多的包容心??傊瑪M人化設計將應用程序的內涵、氣質、精神、個性等元素通過感性的手法表現出來,賦予應用程序豐富飽滿的“人格”特征,構建了情感化的內核形象場,同時也是對扁平化形象場非常好的補充。
應用程序范文5
摘要:很多應用程序在運行的過程中,都會在系統盤下保存一些操作信息和修改的數據等信息。如果在Vista系統的不同權限的用戶下運行這樣的應用程序,會由于文件訪問權限問題導致系統崩潰。本文從兩個方面闡述了如何提升應用程序的訪問權限,一是通過修改Manifest文件,二是在代碼中提升。兩個方法各有利弊,在使用時需要用戶根據需要慎重選擇。
關鍵詞:Vista;Manifest文件;UAC;應用程序崩潰;提升訪問權限
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)28-7899-02
Raise Access Authority of Application on VISTA System
LU Lin-lin,WAN Li-ying
(Software College, Dalian University of Foreign Language, Dalian 116044, China)
Abstract:Many applications store their operation information, modified data and other information at the system disk while running. In Vista, if such application runs under users with different authority, different file access authority may lead to application crush. This document tells how to raise application’s access authority in two ways. One is to modify Manifest file, and the other is to raise authority by coding. Because these two methods have their own advantages and disadvantages, users should make choices carefully according their need when using them.
Key words:VISTA;manifest file;UAC;application crash;raise access authority
目前,很多的應用程序在運行的過程中,都會在系統盤安裝目錄下保存一些操作信息和修改的數據,對于這樣的應用程序,當使用Standard權限用戶登錄Vista系統,啟動已經在Administrator Group權限的用戶下進行編輯操作的應用程序,會因為文件操作失敗,導致APP Error。查找了一些Vista方面的資料,發現是因為Vista系統的新特性UAC導致,原因是在一些特定目錄下,低權限的用戶無法修改由高權限用戶所創建的文件。訪問權限問題會使應用程序訪問文件失敗,進而導致程序失敗。那么如何提升應用程序的權限,使得在低權限用戶下運行的程序能夠修改這些文件呢?
1 UAC
UAC的全稱是User Account Control(用戶賬戶控制),它是Windows Vista提供的一個安全特性。它會在用戶使用計算機進行更改系統設置或者安裝軟件等會影響到系統安全性、穩定性的操作時彈出一個對話框,友善的提示用戶他們要進行的操作。
當用戶使用Windows Vista時,默認是啟用UAC的。當UAC啟用時,無論用戶以什么身份登錄Vista系統,即使他以Administrator Group的身份登錄計算機,都只具有普通用戶的權限。當用戶右鍵選擇應用程序的“Run as Administrator”時,Vista系統會彈出一個對話框,提示用戶他們要進行的操作。在這個過程中,如果您使用的是Administrator Group用戶登錄Windows Vista,那么只需要點擊“Continue”或者“Allow”就可以繼續進行操作了。如圖1所示。
如果使用的是Standard用戶登錄,就需要輸入Administrator或Group的密碼,如圖2所示。
點擊的時候,UAC進行了一次權限的提升,這時Group用戶才真正具有了Administrator的權限。如果是以Standard用戶登錄計算機,當他們執行這樣的操作時,Vista會彈出一個對話框,讓這個Standard用戶輸入一個管理員的賬號和密碼。如何才能讓我們自己編寫的程序在雙擊運行時就彈出這個對話框呢?
2 MAINFEST
dll是被動態調用的,所以會被若干個程序共享使用的 但是如果dll在應用程序不知道的情況下升級了、或是被另一個程序更改了,就可能會出現問題。VS2005版本之后,采用了一種新的方案,即為每個dll文件配置一個Manifest文件,用來管理這些文件被動態調用時產生的問題。對于每個應用程序Application也有自己的Manifest文件。通過添加Manifest文件,可以使程序的圖標上添加小盾牌,在雙擊運行時彈出對話框。Manifest是個XML的描述文件。為應用程序添加的Manifest文件如下。
level="requireAdministrator"
uiAccess="false">
level參數有三種:
1) asInvoker:應用程序將使用與啟動它的進程相同的權限運行??赏ㄟ^選擇“以管理員身份運行”將應用程序提升為更高權限。
2) highestAvailable:應用程序將使用可能的最高權限級別運行。如果啟動該應用程序的用戶為管理員組的一個成員,則此選項與 requireAdministrator 相同。如果可用的最高權限級別高于打開進程的級別,則系統將提示提供憑據。
3) requireAdministrator:應用程序將使用管理員權限運行。啟動該應用程序的用戶必須是管理員組的一個成員。如果打開進程未使用管理權限運行,則系統將提示提供憑據。
在VS2005中使用Manifest文件的方法:將上述文件命名為TestUAC.manifest,置于啟動工程的目錄下,配置啟動工程的工程屬性,在Configuration Properties->
Manifest Tool->Input and Output->Additional Manifest Files配置項下添加文件名 TestUAC.manifest。
在VS2008中,不需要該manifest文件,直接在啟動工程的工程屬性中設置即可。將Configuration Properties->Linker->Manifest File->UAC Execution Level配置項設置為如上三個參數中的一個即可。
3 存在的問題
如果在軟件設計的過程中沒有考慮低權限用戶的問題,即將Manifest文件中level參數設置為asInvoker,即應用程序的權限與啟動它的進程的權限相同,那么在低權限運行時就因為無法修改文件而導致App Error。將level參數改為requireAdministrator,雙擊運行的時候就可以彈出UAC提示信息,如圖3所示。
通過UAC提升權限的方式,使用戶真正具有了Administrator權限,可以任意修改位于受限目錄下的文件。但是如果將UAC關閉,那么無論是否配置了Manifest文件,在運行時都不會彈出UAC提示信息,用戶無法通過UAC提供的功能進行權限的提升,那么上面提到的問題就又出現了,即UAC關閉時,在應用程序運行過程中,低權限用戶仍然無法修改由高權限用戶所創建的文件。
4 代碼提升訪問權限
既然UAC關閉時,無法提供權限提升的功能,那么我們是不是可以從代碼中來提升應用程序的權限呢?
Program Data是Vista下新增的目錄,用來對用戶數據進行分離,目的是保護Program Files目錄下的文件不被用戶隨意的更改。當平臺從XP升級到Vista后,在應用程序代碼中,也可以將XP系統下創建在Program Files目錄下的文件重定向到Vista系統的Program Data目錄中,只要在高權限下創建的文件的屬性具有everyone可訪問的權限,那么在低權限訪問高權限用戶創建的文件時,就不會出現由于權限不足導致的App Error問題。代碼中創建了一個具有everyone可訪問權限的文件夾,文件夾中創建的文件自動繼承了everyone可訪問權限。
HRESULT hResult = S_FALSE;
SECURITY_ATTRIBUTES sa;
sa.nLength =
sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = FALSE;
/*通過SHGetSpecialFolderPath取得Program Data路徑*/
SHGetSpecialFolderPath(NULL, szAppDataPath,
CSIDL_COMMON_APPDATA, false);
CString strPath =
szAppDataPath + _T("\\TestFolder");
/*指定文件夾的訪問權限*/
// Access Control List
TCHAR* szSD = TEXT("D:")
// Allow access to create owner
TEXT("(A;OICI;WO;;;CO)")
// Allow full control to everyone
TEXT("(A;OICI;GA;;;WD)")
// Allow full control to administrator(下轉第7929頁)
(上接第7900頁)
TEXT("(A;OICI;GA;;;BA)")
// Allow read\execute to user
TEXT("(A;OICI;GRGX;;;BU)");
/*將存取控制的字符串轉化成安全描述符*/
BOOL bRet =
ConvertStringSecurityDescriptorToSecurityDescriptor( szSD, SDDL_REVISION_1,
&(sa.lpSecurityDescriptor), NULL);
if (!bRet)
{
return hResult;
}
/*用得到的安全描述符來創建文件夾*/
if (!::CreateDirectory(strPath, &sa))
{
return hResult;
}
ConvertStringSecurityDescriptorToSecurityDescriptor這個函數在sddl.h文件中,使用時需要將該頭文件包含,并且該函數在(_WIN32_WINNT >= 0x0500)條件下定義,因此需要在該文件對應的頭文件中進行 #define _WIN32_WINNT 0x0500定義。這樣我們就可以創建一個具有everyone訪問權限的文件夾,在關閉UAC時,低權限用戶訪問高權限用戶所創建的文件就不會因為沒有權限而拒絕被訪問。
5 結論
使用UAC來提升應用程序權限的方式是Vista提供的,能夠真正意義上的進行權限的提升,使用該方法的前提是UAC必須是打開的,而且是在雙擊應用程序圖標的時候會有一個提示框,用戶需要知道Administrator或者Admin Group的密碼才可以繼續運行;而在代碼中提升應用程序權限的本質是提升數據文件的訪問權限,沒有UI交互,用戶不
需要了解高權限賬號的密碼即可正常運行,但這樣又會違背Vista的安全特性。因此在使用時還需要慎重選擇。
參考文獻:
[1] 范文慶, 周彬彬, 安靖.精通Windows API[M]. 北京:人民郵電出版社. 2009.
應用程序范文6
首先 Allan 表示隨 GNOME 3.2 的“Documents 文檔”和“Contacts 聯系人”將會迎來新成員 Boxes(虛擬化和遠程桌面工具)、Web(網頁瀏覽器) 和 Clocks(世界時鐘)。目前設計小組正在撰寫用戶界面設計指南 HIG,本文僅是一些前瞻性的內容。
更多 GNOME 應用程序設計。
最大化窗口
如上圖所示的 Web 程序,在多數情況下窗口將最大化顯示,并且將隱去標題欄,這樣可以盡可能的有效利用屏幕空間顯示內容。其中:
并不是所有程序都會最大化顯示,諸如計算器之類的小應用程序,并不會最大化顯示。
盡管會默認最大化顯示,程序依然可以取消該狀態,執行窗口平鋪等操作。
對于在超大屏幕上顯示的時候,會有另外的策略處理以便更佳合理的利用空間。
視圖元素
如上圖的 Music 程序所示,GNOME 3 程序的一個窗口中將包含多個視圖這一界面元素,每個視圖將只顯示和當前所從事活動相關的內容。意味著用戶將可以更加關注當前的活動,而不被界面上無關的其他元素困擾。
主工具欄
如上圖的Clocks 程序所示,GNOME 3 的主工具欄風格將變得簡潔,內容上也是強調在不同程序間的共通性,同時支持各種對齊點,美觀的精確調整更容易。
此外 GNOME 3 的主工具欄還將取代窗口標題欄承擔導航的功能,成為用戶界面的頂層元素,提供關鍵性的交互功能。
GNOME 3 將引入觸屏友好的文件選擇和上下文操作菜單,通過進入特殊的上下文視圖來實現操作。這種方法一方面避免了傳統使用 Shift 的輔助鍵操作的不變,同時也方便布局僅限上下文菜單的內容。
可以通過設計者創建的交互站點來體會心得上下文操作方式。
搜索
便于搜索是 GNOME 3 應用程序中的核心理念之一,只要光標不是位于文本輸入框或者文檔中,那么只要用鍵盤開始輸入,便會立即啟動搜索。
同時搜索框也可以通過在列表或網格向下滑動的方式呈現出來,這樣可以減少空間浪費。同時,應用程序作者也可以針對自身程序內容的特點,添加一些過濾器到搜索中,通過搜索框下拉菜單訪問。