国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web仿真的Windows交互式操作實踐研究

2019-12-13 07:22:50崔青石剛劉淑嫻王崇國
關(guān)鍵詞:交互仿真對話框

崔青 石剛 劉淑嫻 王崇國

摘要:本文探討了Windows的交互界面信息,分析了獲取Windows操作系統(tǒng)交互對象的屬性及其調(diào)用關(guān)系,研究了生成Silverlight的仿真程序。

關(guān)鍵詞:對話框;仿真;API函數(shù);交互

中圖分類號:TP311.1 文獻標識碼:A 文章編號:1007-9416(2019)09-0081-01

0 引言

近年來軟件仿真一直是虛擬化及可視化研究中的一個重要方向。而在Windows操作系統(tǒng)的基礎(chǔ)教學(xué)和評估過程中,實踐操作是非常重要的環(huán)節(jié),例如對網(wǎng)絡(luò)環(huán)境的設(shè)置或者更改系統(tǒng)屬性參數(shù)等等。但是這些操作往往使實驗環(huán)境發(fā)生改變,而錯誤的系統(tǒng)配置可能導(dǎo)致設(shè)備無法正常工作。在學(xué)校的機房中通常會在實驗設(shè)備上安裝還原卡以保護計算機重啟后自動回到原先的狀態(tài),然而在評估學(xué)生實際上機操作掌握情況的時候,這種方法往往不能起到正確的評價效果。研究基于Web仿真的Windows交互式操作界面,可以在實現(xiàn)不改變本機系統(tǒng)配置的情況下,一方面通過瀏覽器實現(xiàn)對操作系統(tǒng)的仿真,另一方面能夠獲取學(xué)生操作的過程和結(jié)果,很好的解決了評價學(xué)生操作能力的問題。

1 Windows的交互界面信息

Windows操作系統(tǒng)的用戶界面,主要有四個部分:(1)桌面,包括菜單、圖標和任務(wù)欄;(2)資源管理器;(3)瀏覽器;(4)交互式對話框窗體。

然而要想仿真Windows操作系統(tǒng)是一件非常困難的事,一方面微軟對于Windows系統(tǒng)更新比較快,版本多;另一方面Windows操作系統(tǒng)中與配置相關(guān)的內(nèi)容也比較多,各種對話框及屬性相關(guān)性復(fù)雜。利用編碼直接實現(xiàn)Windows的交互界面是可以實現(xiàn)的,但這兩方面導(dǎo)致直接采用硬編碼去實現(xiàn)Windows操作系統(tǒng)的工作量太大,而且面對Windows的眾多版本,以及不斷隨著版本的更新必然要重新實現(xiàn),但可重用的部分相對較少,其代碼的重用性往往很差。

自動化的重建Windows交互界面,是在沒有Windows源代碼的條件下,完全依靠用戶交互操作,獲取Windows交互對話框界面信息。在Web中仿真Windows交互對話框需要得到幾點基本信息:(1)對象的類型:用以根據(jù)不同類型創(chuàng)建不同的仿真對象。(2)對象的句柄:這是當(dāng)前對象在內(nèi)存中的標識。(3)對象的大小和位置信息:用以還原對象的大小和位置。(4)對象的標題(Caption):用于還原對象,可以在一定范圍內(nèi)區(qū)分對象。

2 獲取Windows操作系統(tǒng)交互對象的屬性及其調(diào)用關(guān)系

獲取用戶行為并分析對象間調(diào)用關(guān)系,是整個在Web頁面中還原Windows操作系統(tǒng)交互界面的數(shù)據(jù)基礎(chǔ),也是作為實際操作過程中屬性修改的核心部分[1]。那么,如何獲取Windows操作系統(tǒng)交互對象的屬性及其調(diào)用關(guān)系呢?采用對用戶的交互行為進行跟蹤來獲取用戶操作的對象及其屬性,利用Windows中API函數(shù)自動化獲取Windows對話框及其屬性,分析各對象間的調(diào)用關(guān)系,再利用Web下圖形顯示技術(shù)在頁面上動態(tài)生成這些對象,進行自動化提取軟件仿真所需要的數(shù)據(jù),從而實現(xiàn)在Web環(huán)境下對Windows操作系統(tǒng)的交互式對話框仿真系統(tǒng)[2]。

在研發(fā)過程中,利用User32.dll的幾個相關(guān)API函數(shù)來獲取窗口元數(shù)據(jù)信息。GetDesktopWindow函數(shù)首先獲取桌面窗口的句柄,再利用返回與給定窗口有特定關(guān)系的窗口句柄函數(shù)GetWindow和根據(jù)輸入查找窗口對象函數(shù)FindWindowEx函數(shù),可以遞歸獲取所有當(dāng)前狀態(tài)下的Windows對象及其包含的控件的句柄,并記錄從屬關(guān)系,然后利用獲取窗口標題條的文本函數(shù)GetWindowText、獲取對象的類名函數(shù)GetClassName、獲取各窗口對象的位置和大小信息函數(shù)GetWindowRect等函數(shù)獲取窗口對象的元數(shù)據(jù)。

在Web頁面下仿真Windows交互功能,除了能夠顯示對話框及其子對象外,更重要的是必須能夠在各對話框之間進行導(dǎo)航。實踐中我們采用非手工方式:即在抓取對象時,保存對話框?qū)ο箝g的調(diào)用關(guān)系。Windows的鉤子(Hook)是Windows用以捕捉自己進程或其它進程發(fā)生的事件的較好的方法[3]。通過“鉤掛”可以給指定的Windows事件安裝一個回調(diào)函數(shù),通過回調(diào)函數(shù)可以獲取窗口對象,以捕獲對象的鼠標事件為基礎(chǔ),建立事件日志,記錄下每次鼠標事件點擊的對象句柄以及顯示的新窗口對象句柄,并保存調(diào)用關(guān)系,每次獲取對象,就可以得到一個調(diào)用關(guān)系圖。

3 生成Silverlight的仿真程序

微軟Silverlight是一種融合了微軟的多種技術(shù)的Web呈現(xiàn)技術(shù),當(dāng)前Windows的用戶仍然以IE為主,Silverlight提供了一套基于.Net Framework的開發(fā)框架,并通過使用矢量圖層技術(shù),支持任何尺寸圖像的無縫整合,對多數(shù)Web開發(fā)環(huán)境實現(xiàn)了無縫連接[4]。

如果應(yīng)用在考試系統(tǒng)過程中,由于考生幾乎都是同時開始,并發(fā)請求要求較高,動態(tài)生成Windows窗口對話框?qū)⒋蟠蠹又胤?wù)器的負擔(dān),因此我們沒有采用運行時動態(tài)生成對象的方式,而是采用生成對象的Silverlight代碼,再進行局部優(yōu)化,最后編譯部署運行。這種方案一方面可以提高程序并行效率,保證用戶請求的高速響應(yīng);另一方面可以進行調(diào)試,添加局部的修飾。自動生成的Silverlight代碼,有些地方并不十分完善,可以通過手工的方式進行修改。比如Windows的有些對話框中會顯示些動態(tài)結(jié)果,如動畫圖片等。這時就需要手工進行修改,甚至添加新的資源等等。最后將所有生成的窗口對象文件,一同添加到工程中,并對細節(jié)進行修改,同時可以進行聯(lián)調(diào)和測試。

4 結(jié)語

本文提出的方法,大大降低了Windows交互界面仿真程序編寫的難度,適用于不同版本的Windows系統(tǒng),在交互操作仿真效果上完全相似于真實的Windows操作系統(tǒng),通過更改對象的屬性,直接改變顯示屬性,最終生成的界面元素代碼也可以在其他系統(tǒng)中直接使用。這就為基于Web的Windows考試系統(tǒng)或基于Web的Windows實踐教學(xué)系統(tǒng)的開發(fā)提供了非常好的基礎(chǔ),不僅為初學(xué)者提供了真實環(huán)境的操作仿真平臺,而且能夠獲取學(xué)生操作的過程和結(jié)果,很好的解決了評價學(xué)生操作能力的問題。

參考文獻

[1] 黃聰會,陳靖,龔水清,陳明華.64位Windows ABI虛擬化方法研究[J].計算機科學(xué),2014(1):39-42.

[2] 洪文圳,周勁樺,梁慧娜.開源虛擬化桌面在實驗環(huán)境部署中的應(yīng)用[J].計算機教育,2015(2):94-98.

[3] 王琦,胡濤,賀剛.基于輪詢差異檢測和鉤子捕獲技術(shù)的屏幕變化捕捉的研究[J].現(xiàn)代計算機,2013(10):8-12.

[4] 栗少萍.NET平臺耦合Silverlight的圖像系統(tǒng)開發(fā)[J].山東農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2015(1):106-109.

Abstract:In this paper the information of ?Windows interactive interface is discussed, the attributes and calling relationships of the interactive objects of ?Windows operating system are analyzed, and the simulation program for Silverlight generation is studied.

Key words:dialog box; simulation; API function; interaction

猜你喜歡
交互仿真對話框
正?;謴?fù)虛擬機
Bootlace Worms’Secret etc.
淺析色彩在人機交互界面中的作用
Buck開關(guān)變換器的基本參數(shù)設(shè)計及仿真分析
試析PLC控制下的自動化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設(shè)計
科技視界(2016年18期)2016-11-03 21:44:44
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
基于圖形用戶界面的多點觸控交互技術(shù)綜述
虛擬現(xiàn)實技術(shù)概論
科技視界(2016年11期)2016-05-23 11:28:14
關(guān)于信息化教育模式的大學(xué)教育變革的探討
科技視界(2016年5期)2016-02-22 12:54:54
启东市| 江西省| 利辛县| 随州市| 航空| 吉木萨尔县| 武定县| 九台市| 延寿县| 北碚区| 九龙城区| 通化市| 灵台县| 容城县| 德化县| 武城县| 阳江市| 桂平市| 团风县| 宁海县| 项城市| 木兰县| 白银市| 拉萨市| 南雄市| 北宁市| 福泉市| 宁化县| 纳雍县| 新干县| 安宁市| 金溪县| 金乡县| 陇川县| 哈密市| 江都市| 竹山县| 青川县| 武夷山市| 怀远县| 昌都县|