[go: up one dir, main page]

TWI273791B - System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events - Google Patents

System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events Download PDF

Info

Publication number
TWI273791B
TWI273791B TW092109522A TW92109522A TWI273791B TW I273791 B TWI273791 B TW I273791B TW 092109522 A TW092109522 A TW 092109522A TW 92109522 A TW92109522 A TW 92109522A TW I273791 B TWI273791 B TW I273791B
Authority
TW
Taiwan
Prior art keywords
user interface
information
client
event
events
Prior art date
Application number
TW092109522A
Other languages
English (en)
Other versions
TW200405695A (en
Inventor
Robert Sinclair
Patricia M Wagoner
Brendan Mckeon
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200405695A publication Critical patent/TW200405695A/zh
Application granted granted Critical
Publication of TWI273791B publication Critical patent/TWI273791B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Telephone Function (AREA)
  • Jib Cranes (AREA)
  • Digital Computer Display Output (AREA)
  • Computer And Data Communications (AREA)

Description

1273791 九、發明說明: 【發明所屬之技術領域】 本發明領域係有關於輔助技術、自動化測試及 用者界面資訊的其它產品以及這些產品與使用者界 的互動。 【先前技術】 輔助技術(Assistive technology,AT)產品是要 助在學習、溝通及存取包含在電腦軟體内或由電腦 呈現的資訊方面需要協助的電腦使用者。這些產品 電腦界面相關的貢訊具有需求。同樣的’現有自動 試產品與使用者界面指令工具對於與電腦界面相關 亦具有需求。目前,這些產品並沒有足夠使用者界 interface,UI)資訊的資源。這三種產品(客戶)種類 有來自於其它地方的支援,使它們能夠:(1)收集有 應用程式的使用者界面的資訊;(2)無論建構該UI 技術為何都可程式化地發現並整合UI元件;(3)產 及指向器的輸入;及(4)瞭解目前有何種行為或功能 目前沒有一單一技術可給予一 AT產品所有這些能. 目前的 AT產品並不是都可與所有圖形式的作業系 相容且缺乏以集中化的方式來過濾及協調多餘的或 通知。一項額外的缺點為,目前的自動化與存取基 是不能擴展的,因此需要〇 S層次改變用以添加新白< 又,目前在收集有關於應用程式的使用者界面 收集使 面資訊 用來幫 軟體所 對於與 化的測 的資訊 面(user 要求要 關於一 所用的 生键盤 ,可用。 乃。又, 統(0S) 誤導的 礎設施 J功能。 的資訊 5 1273791 上,AT產品必需撰寫特殊應用碼用以獲得使用者的資訊。 撰寫此特殊應用碼的過租是相當耗時的且需要持續性的維 修。目前的自動化基礎設施亦缺^以致的方式來過濾及 協調多餘的或誤導的事件通知的能力。
目前的系統讓AT產品可以二個顆粒等級來要求事件 通知··(1)在桌面上的任何事·’(2)在一特殊處理(如開啟一 文字處理器)的中;或(3 )在一特殊處理的處理緒中(如多個 物件在該處理中工作)。目前’當客戶接受到一事件時,其 接受到發生該事件的一特殊視窗的一視窗把手(window handle)及指出事件在何處發生吃其它資訊位元。一客戶可
進行一交叉處理呼叫用以接受與該事件相關的UI物件。 該客戶可利用此物件來進行額外的交叉處理呼叫用以要求 關於該物件的資訊。如果該客戶需要五件資訊,然後該客 戶可進行五個叉叉處理呼叫。交叉處理呼叫是非常的慢, 因此使用目河的存取基礎設施來收集UI資訊的性能成本 疋非¥的咼此種已知的設計被示於第8圖中。一伺服器 應用私式Η發出一事件6,一核心程式(kernel)l4決定哪 I客戶必而被通知並送出一事件通知丨8給一有興趣的客 戶1 〇 3客戶1 0針對該與該事件通知丨8相關之物件,跨 越處理邊界2,對相ητ7 ^ 十句服器應用程式1 2作出一要求1 6。該伺 服器應用程式12回…、、^ q迗孩物件20,然後該客戶1 0可開始送 出對於與發出該事株、 ’件艾UI控制有關之資訊的要求1 6。伺
服器應用程式12少心 L 知所要求的資訊2 0回送跨越處理邊界2 給客戶1 〇。 6 1273791 另一種目前所用的方式允許客戶碼被載入作為處理中 的一動態鏈結函數庫(.DLL)。此方式具有數項缺點。第一 項,其需要來自於系統的合作用以將客戶碼載入一處理 中。第二項,其會產生安全性問題,因為一但該客戶碼被 載入到一應用程式的處理中,即很難規範其收集何種資 訊。第三項,為了要成為該 需被載入到該系統的母·一處 客戶應被載入到另一應用程 此外,一系統必需給與 其所想要接受到的能力。在 作出數個交叉處理呼叫,然 該事件有興趣。這需要一可 更有效率的方式過濾且可被 或應用程式事件。又,這需 統用以省卻安全性的考量。 目前,當找尋關於一使 品會被要求用以存取一特定 構。因此,多個UI骨架需 者界面資訊。這些不同的樹 趣的或使用者看不到的資訊 端使用者操控之可見的 UI 一樹狀結構存在著需求,其 關於對於AT產品,自 的需求需要有一解決方案。 客戶的一有效率的技術,其必 理中。最好是,只有受信任的 式的處理中。 客戶能夠指明哪些事件通知是 已知的系統中,客戶可能需要 後分析資料用以決定其是否對 實施此事件的機制,其可以一 輕易地更新用以支援新的系統 要一只使用受信任的構件的系 用者界面的資訊時,該 AT產 UI骨架(framework)的樹狀結 要有多個樹狀結構來傳遞使用 狀結構可能包含使用者沒有興 ,如隱藏容器物件其管理由終 控制。因此,對於一單一的統 只具有使用者有興趣的節點。 動化的測試工具,及溝通設備 此解決方案必需能用在所有圖 7 1273791 形式os技術上且應可允許所有形式的^^及u〗構件變成 可存取的。 於一種方法及電腦應用程式用來 ά 。女名表日日όθ 本發明係關 者界面資訊給 、 令厂-%今、浪π〜 怨樣中,一事件機制 被提供於一主從(client-server)環境中用以將使用者界 知一客戶。該事件機制6人 > 血说w 客戶。在本發明的一態樣中,一事件機制 面(UI)中的改變一 。事件 ^ ^各尸通带仟機制包含一註冊機制 受有興趣的使用去 — π考界面貧訊。該事 :來讓該客戶註冊及接受有興趣的使用者界面資訊。該事 4機制亦包括用來註冊客戶以接受事以 發生時將、+ Α 千通知及用來在它們 、芩逞些通知傳遞給該客戶的一 m UI自動务A 自動化客戶。該 匕伺服器額外地接受來自於該UI况力 括一過滹撫& m Θ杀的通知並包 通知機制爾十上 ]畢件去除掉,及一 用來把剩下來的有興趣的通知通 本路 乂知苳戶。 受明的一進一步的態樣提供一電腦 收集有關切、也的方法用來 ;有興趣的UI元件的資訊。該方 自於客戶夕朗 去包括接受來 ώ 之關於被指定的使用者界面資訊的要长 UI自動化供nr3 受衣及珣問一
伺服器使用的UI引擎用以決定該 貢訊是否A 7说 · 饭要求的UI 、…獲用(available)。該被指定的奶次士々 UI自動化伺服哭i由、、, 貝矾從該 服σσ被迗至一 UI自動化客戶。 , I月之額外的優點及新穎的特徵將於下文中 且其中一部分對於孰朵此 藏 變得报、、主结. ,"、,以此技藝者而吕在閱讀下文後會 π邊,或從貫施本發明中可瞭解到。 8 1273791 【實施方式】 舉例性的操作環境
第1圖顯示一適合實施本發明之計算系統環境1 〇 〇。 該計算系統環境1 0 0只是眾多適合的計算環境中的一個例 子其並不是要用來對本發明的用途或功能的範圍作出限 制。該計算環境1 00不應被解讀為對於舉例性作業環境1 00 的任何一被示出的構件或構件組合具有任何的相依性或必 要性。
本發明可用一電腦可執行的一般性電腦可執行指令, 如程式模組,來描述。大體上,程式模組包括可實施特定 的工作或操控特定的資料種類的常式(routine),程式,物 件,構件,資料結構等等。又,熟悉此技藝者可暸解到本 發明可用不同的電腦系統架構來實施,包括手持式裝置, 微處理器系統,以微處理器為基礎或可程式的消費電子裝 置,微電腦,大型主機電腦,及類此者。本發明亦可在分 散式計算環境中實施,工作是由遠端處理裝置來實施,該 等裝置經由一溝通網路相連結。在一分散式的計算環境 中,程式模組可位在包括記憶體儲存裝置在内的本地及遠 端電腦-儲存媒體中。 參考第1圖,一用來實施本發明的一舉例性系統100 包括——般用途的處理單元1 2 0,一系統記憶體1 3 0,及一 系統匯流排1 2 1其將包括該系統記憶體1 3 0在内的不同的 系統構件耦合至該處理單元1 2 0。 電腦11 0典型地包括多個電腦可讀取的媒體。舉例而 9 1273791 言,但不侷限於,電腦可讀取的媒體可包含電腦儲存媒體 及溝通媒體。系統記憶體1 3 0包括揮發性及/或非揮發性記 憶體形式的電腦儲存媒體,如R0M131及RAM132。一基 本輸入/輸出系統133(BIOS)被儲存在R0M131中,該BIOS 包含可在開機期間幫助傳送資訊於電腦1 1 0内的元件之間 的常式。RAM 132典型地包含可立即被處理單元120存取 及/或目前被處理單元1 2 0操作中之資料及/或程式模組。 舉例而言,但不侷限於,第1圖中所示的作業系統13 4, 應用程式1 3 5,其它的程式模組1 3 6及程式資料1 3 7。 電腦1 1 0亦可包括其它可取下的/不可取下的,揮發性 的/非揮發性的媒體。舉例而言,第 1圖中顯示一硬碟機 1 4 1其可從一不可取下的,非揮發性的磁性媒體中讀取及 寫入;一磁碟機1 5 1其可從一可取下的,非揮發性的磁碟 152中讀取及寫入;及一光碟機155其可讀取或寫入一可 取下的,非揮發性光碟片156,如一 CD-ROM或其它光學 媒體。其它可被使用在該舉例性的作業環境中之可取下的/ 不可取下的,揮發性的/非揮發性的電腦儲存媒體包括,但 不侷限於,磁帶匣,快閃記憶體單元,數位影音光碟,數 位視訊磁帶,固態 RAM,固態 ROM,及類此者。該硬碟 機1 4 1典型地經由一不可取下的記憶體界面,如界面1 40, 而連接至該系統匯流排1 2 1。磁碟機1 5 1及光碟機1 5 5典 型地是經由一可取下的記憶體界面,如界面 1 5 0,而連接 至系統匯流排1 2 1。 以上所述的及示於第1圖中的裝置及與它們相關的電 10 I27379l 器 它 可 及 之 相 想 應 中 使 軌 或 腦 遊 置 界 匯 萬 它 連 括 經 :儲存媒體提供-電腦"〇非揮發性之電腦可讀取的機 指令,資料結構,程式模組,及其它資料的儲存處。例如 更碟機1 4 1被用來儲存作業系統1 44,應用程式1 4 5,其 程式模組146,及程式資料ι47。應注意的是,這些構件 以與作業系統134,應用程式135,其它程式模組136, 私式貝料137相同或是不同。典型地,儲存在ram中 作業系統,應用程式,其類此者為從磁碟機14丨讀取之 對應的系統,程式,或資料的一部分,這些部分隨著所 要的功能而在大小及範圍上有所不同。作業系統1 44, 用程式1 4 5,其它程式模組1 4 6,及程式資料1 4 7在本文 被給與不同的編號用以顯示它們可以是不同的拷備。一 用者可經由輸入裝置,如鍵盤1 62 ;平常被稱為滑鼠, 跡球或觸控板的指標裝置1 6 1 ;無線輸入接收裝置1 6 3 ; 一無線來源,如一遙控器,來將指令及資訊輸入至電 110。其它的輸入裝置(未示出)可包括一麥克風,搖桿, 戲板,衛星圓盤,掃描器及類此者。這些及其它的輸裝 通常都是經由一耦合至該系統匯流排1 2 1之輸用者輸入 面160而耦合至處理單元120,但亦可經由其它界面及 流排結構,如一平行埠,一遊戲埠,IE E E 1 3 9 4蜂,或一 用串接埠(USB)或紅外厭(IR)匯流排。一監視器191或其 種類的顯示裝置亦經由一界面,如一視訊界面1 9 0 ’而 接至該系統匯流排 12 1。除了監視器之外’電腦亦可包 其它的週邊輸出裝置,如喇叭1 9 7及印表機1 9 6,其可 由一輸出週邊界面195而被連接。 11 1273791
在本發明中的電腦11 〇將使用連接至一或多個遠端電 腦,如遠端電腦1 8 0,之邏輯連線而在一網路環境中作業。 遠端電腦180可以是一個人電腦,且典型地包括上文中提 及與電腦11 0有關的所有或許多元件,雖然只有記憶儲存 裝置181被示於第1圖中。示於第1圖中之邏輯連線包括 一局部區域網路(LAN)l 71及一廣域區域網路(WAN) 173, 但亦可包括其它網路,如連接至一都會區域網路(MAN), 内部網路,或網際網路。
當使用在LAN聯網環境中時,電腦1 1 0經由一網路界 面或配接器1 7 0連接至LAN 1 7 1。當使用在WAN聯網環境 中時,個人電腦110典型地包括一數據機172,或其它機 構,用以建立在 WAN 173,如網際網路,上的通訊。數據 機1 7 2 (其可以是内建或外接式)經由一網路界面1 7 0或其 它適當的機制而被連接至系統匯流排1 2 1。數據機1 72可 以是一纜線數據機,DSL數據機,或其它寬頻裝置。在一 聯網的環境中,與電腦11 〇相關的程式模組或程式模組的 一部分可被儲存在遠端記憶儲存裝置中。舉例而言,但不 侷限於,第1圖顯示遠端應用程式1 8 5是位在記憶裝置1 8 1 中。應被暸解的是,圖中所示的網路連線是舉例性的且建 立電腦之間的溝通鏈之其它機構亦可被使用。 雖然電腦1 1 〇内部的許多其它内部構件未示出,但熟 悉此技藝者應可暸解的是這些構件的連線都是習知的。例 如,將許多配接器,如電視轉接卡及網路界面卡,包括在 一電腦11 0中是習知的。因此,關於電腦11 〇的内部細節 12 1273791 將不在本文中加以說明。 存取系統結構 如第2圖所示的,一存取系統200與一客戶環境300 及一伺服器環境400互動。該存取系統200可在第1圖所 示的電腦環境1 00中實施。存取系統200包括一客戶側的 存取界面2 2 0以方便與客戶3 0 0互動,一伺服器側存取界 面23〇以方便與伺服器環境400互動,及一存取系統核心 201。本發明的存取系統200提供新的應用程式界面 (API),界面’及符號(metaphor)用以程式化地存取一使用 者界面(UI)。 客戶環境300最好是包括一輔助技術(AT)產品或自動 化的UI測試工具。伺服器側400如第2圖所示的可實施 許多不同的技術。一伺服器系統4 1 0包括一配接器4 1 2及 一核心414 ’其為第一類的ui。一伺服器系統420包括一 代理構件422及控制424其為第二類ui,如在微軟公司所 販售之微軟作業系統產品中的Win32 UI。該伺服器系統 43〇包括一配接器432及内部〇M 434,其為第三類UI。 如第3圖中所示的,一包括在該存取系統2 〇 〇内的事 件機制2 10依賴一 ui自動化客戶2〇2及一 ui自動化伺服 裔204用以方便與客戶環境3〇〇及伺服器環境4〇0互動。 Θ UI自動化各戶202及ui自動化伺服器2〇4將於下文中 參本發明的事件機制2丨〇詳細地加以說明。本發明的存 取系統2 0 0給與客戶(Ατ產品)3 〇 〇以下的能力:(丨)收集有 關方、應用私式的使用者界面;(2)程式化的發現及詢問奶 13 1273791 元件,而不論用來建夠違Ui的技術為何,(3)產生鍵盤^及 指向器輸入;(4)暸解何種行為或功能是目前可獲用的 (available)。存取系統200允許應用程式將他們本身及其 構件變成是可獲用的(available)。示於第2及3圖中的社 構促成了存取系統2 0 0的五種主要態樣’即·( 1)邏輯^ I 樹狀結構;(2)控制模式;(3)事件機制;(4)輸入API(在此 文件中並沒有涵蓋到);及(5)特性。 UI存取邏輯樹狀結構222 樽 被 該存取系統200的一整合的構件為邏輯樹狀結 2 2 2,其例子被示於第4 (D)圖中。該邏輯樹狀結構2 2 2 包括在該客戶側的存取界面220中。 該邏輯樹狀結構222為基礎的UI元件結構的一 ^ 過濾的檢視,並不是一必需被控制或應用程式開發者所务 施的一分離的樹狀結構。而是,其關掉(key 〇ff) 一些定義 明確的特性,如插入及反插入,其代表一結構元件是否應 被曝路在该邏輯樹狀結構2 2 2中。該存取系統核心2 01吸 收此負Λ用以產生該經過過濾的ui邏輯樹狀結辑222,其 接著被呈送至該AT產品或測試劇本(script )。 該邏輯樹狀結構222為元件的一樹狀結構,每一元件 代表-控制,纟一控制中的一個項目’或—成群的結構, 其可以是-對言舌’方框,或框格“亥邏輯樹狀結構222的 結構應如使用者可察覺的來呈現該應用程式的υι(即使該 等控制實%上是使用-不同的基礎結冑來實施的亦無 妨)。該樹狀結構是很穩定的,不隨時間改變。只要一應用 14 1273791 程式對於使用者而言看起來都一樣,則代表該應用程式之 該邏輯樹狀結構222應保持一樣,即使是該應用程式隱藏 在幕後的實施細節已經改變亦無妨。因結構及實施理由而 存在之原本的元件,如在微軟 0S 產品中一殼 的’’ShDocView”視窗即不應出現在此樹狀結構中,因為使 用者並不會察覺到它們。
該邏輯樹狀結構222是從多個片段建構而成的一單一 的樹狀結構,其能夠統一多個不同的處理使得它們對於客 戶而言是一樣的。該邏輯樹狀結構222讓大量取得成為可 能且能夠獲得各特性之一列表的數值。在使用者已請求一 交叉處理呼叫以獲得該等數值時,該存取系統2 00將經由 使用該邏輯樹狀結構222來取得它們。
不像在習知系統中地被建構在一個步驟中者,該邏輯 樹狀結構 222是從被用來建構一原本的樹狀結構(native tree)之片段所建構成的。如第5圖所示的,三個主要程序 建構起該邏輯樹狀結構222。在程序72中,該存取系統200 找到.基礎的邏輯之原本的元件(native element)並到達該原 本的樹狀結構,如第4 (A)圖所示.。在程序7 4中,該存取 系統 2 0 0結合原本的元件用以形成新的原始的樹狀結構 20,如第4(B)圖所示。最後,在程序76中,該邏輯樹狀 結構222則是藉由將在該原始的(raw)樹狀結構20中之沒 有興趣的構件隱藏起來而被獲得,如第4(D)圖所示。 第(A)圖顯示出兩個原本的樹狀結構1 0及1 4它們是由 基礎的技術的原本的元件所建構成的,如Win32 UI或任何 15 1273791 可用的UI。該原本的樹狀結構10包括一親代(parent)節 11及多個子代(children)12其彼此之間具有不同的關係 相同地,原本的樹狀結構1 4包括一親代節點1 5其具有 個子代節點1 6。該等子代節點1 6可被描述為彼此的兄 姊妹。 如第 4(B)圖所示的原本的樹狀結構1 0,1 4可被結 成為一原始的樹狀結構2 0。原始的樹狀結構包括一親代 點21,其具有兩個子代節點22及30。子代節點22子 23-29,而子代節點 30具有子孫3 1-33。此原始的樹狀 構20是原本的樹狀結構1 0與1 4的結合,其中原本的樹 結構1 0上的節點形成節點2 2 - 2 9,而原本的樹狀結構 上的節點形成3 0 - 3 3。 藉由第4(C)及4(D)圖所示的方法,該原始的樹狀結 20被轉變為邏輯樹狀結構222。為了要將原始的樹狀結 20變成邏輯樹狀結構222,開發者可將暗示插入到樹狀 構中。開發者可將原始樹狀結構2 0内的節點標記為”自 隱藏”或”自我隱藏及子代”或”隱藏子代節點”,等等。開 者亦可將節點橫向移動或將節點置於子代節點之前。在 始的樹狀結構 2 0中的這些”暗示”與變化被用來形成該 輯樹狀結構222。例如,在第4(C)圖中,一開發者將原 的樹狀結構20的節點24-26及33標記為沒有興確趣的 如方塊40及41所示。典型地,包含了不會讓使用者看 的元件的節點都被標記為沒有興趣的。與可看見的 UI 關聯的節點典型地被認為是有興趣的且將被包括在該邏 點 〇 多 弟 合 /r/r 即 孫 結 狀 14 構 構 結 我 發 原 邏 始 到 相 輯 16 1273791 樹狀結構222中供AT客戶300使用。如第4(D)圖中所示 的,被標為沒有興趣的節點並沒有被包括在該邏輯樹狀結 構222中。 存取系統200使用該邏輯樹狀結構222來找尋與事 件,該系統的狀態,物件的位置有關的資訊及與控制有關 的資訊。已知的系統並不具有在它們的樹狀結構内找尋的 能力。該邏輯樹狀結構222可根據客戶的喜好被巡航並不 論伺服器側的應用程式是在使用中與否都能夠提供資訊。 在操作時,如果客戶3 00需要獲得一應用程式的使用 者的資訊的話,客戶3 0 0找尋一按鈕來按壓並察看在該按 鈕上的文字。客戶300將會呼叫一 API”找尋一元件”。該 API會將一數值回送,該數值相應於該客戶側界面220的 邏輯樹狀結構222内的位置。經由該邏輯樹狀結構222, 存取系統200可將該UI的摘要送給該客戶而不管該應用 程式是否在使用中皆可。該摘要模式包括一名單框,按鈕 或其它UI構件可能具有之結構,特性,事件,及功能。 該邏輯樹狀結構222是一單一的統一樹狀結構,其為 該UI的邏輯表示且被形成為一只包括客戶300有興趣的 元件的形狀。因此,與其要求AT產品來過濾UI元件的結 構組織並在呈送給終端使用者的模式中猜測,該邏輯樹狀 結構222則是呈現一組織其密切地與被呈送至終端使用者 的結構相符。這可大大地簡化AT產品描述UI給使用者的 工作並有助於使用與應用程式互動。 因為此邏輯樹狀結構2 2 2為該存取系統2 0 0的一基礎 17 1273791
部分,所以存取系統2 Ο 0的所有其它構件都被設計成從該 邏輯樹狀結構222工作。例如,第6圖顯示一簡單的對話 框6 0,其看起來具有一非常簡單的結構。然而,當經由目 前存在的存取技術來觀看時,該對話框6 0的結構是意料之 外地複雜。其包含了一 AT產品必需加以過濾的264個物 件用以找出對終端使用者而言是有意義者。藉由該存取系 統2 00及對於邏輯UI樹狀結構222的支援,擁有此對話 框6 0的開發者可設定數項特性來將第6圖中下列結構呈現 給AT產品300。
如第6圖中所示的,對於一”執行”對話而言,開發者 可將該飛行的視窗圖形 62及在 63的’’Type the name of program, folder, document, or internet resource and widows will open it for you”標示為有興趣的。開發者亦 可將包括筆記板,文字,計算機等在内之聯合框 64,及 OK65,取消66及瀏覽67按鈕標記為有興趣的。這提供開 發者一低成本的機制來將它們的元件組織加標籤,藉以經 由UI存取系統200來產生它們的應用程式UI的邏輯表 示。每一被顯示的特徵都可用以節點來表示,其與該邏輯 樹狀結構222中的其它節點之間具有一特定的關係。此邏 輯表示給測試團隊及給AT產品或客戶3 00提供了 一立即 的好處。 一組API可讓課戶300到達該樹狀結構。功能包括: (1)來自於點對點的邏輯元件;(2)來自於事件的邏輯元 件;及(3)目前焦點所在的邏輯元件。如上文提及的,一邏 18 1273791
輯元件代表一 UI構件,可能是一控制,一控制的一部分, 或一容器或邏輯群(即,對話,框格,方框)。控制以它們 的功能而言變化非常大。因此,不同的界面被用來呈現與 控制的特殊種類有關的功能。這些特殊控制的界面是由一 共同的基本界面導出的,其代表所有控制的共同功能。該 共同的基本界面包含:(1)巡航該邏輯樹狀結構 2 2 2的方 法;(2)取得特性數值的一般方法;及(3)存取被支援的特 殊控制界面的方法。在巡航該邏輯樹狀結構222時,每一 基礎的應用程式UI技術將提供其本身的技術來巡航。
雖然該邏輯樹狀結構222是使用者最有興確的,但該 原始的元件樹狀結構20亦提供了一些重要的功能。雖然該 邏輯樹狀結構222只包含使用者有興趣的元件,但該原始 的元件樹狀結構2 0包含代表該基礎骨架的實施結構的節 點,如節點22。對於一 Win32 UI片段而言,此樹狀結構 將包含代表HWND的節點。在某些態樣中,該原始的元件 樹狀結構20是介於該邏輯樹狀結構200與基礎的骨架本身 的原本的元件樹狀結構之間的’半途房子’。該原始的元件 樹狀結構20被用作為建構該邏輯元件樹狀結構200的基 礎,且該處為原本的元件首先插入該系統中的點。 該原始的元件樹狀結構2 0亦可被用來除錯及測試。其 在指出或描述一特定的問題節點所在之處是很有用的。在 一基礎的原始元件節點上的功能包括:巡航該原始的元件 樹狀結構的方法;跳至一相應的邏輯元件(如果存在的話) 的方法;包含此元件的’除錯字串’的特性,如H W N D節點 19 1273791 的’’ H W N D 〇 χ 4 8 3 F E,,;及其它’幕後基礎設施’方法 法讓命中測試及定位;事件;及將骨架可輕易提 曝露出來成為可能。 該原始的元件樹狀結構2 0包含節點2 2 - 3 3 ’ 來自於不同的成像引擎(r e n d e r i n g e n g i n e )的元件 始的元件樹狀結構被用作為成像引擎的起點用以 入到該存取系統200中且是由質輕的配接器物 的’其將原本的元件,如來自於Win32的HWND 為一統一的邏輯樹狀結構2 2 2。其被額外地用來 (hosting)轉換,其中一項技術代管另一項技術。 原始的元件樹狀結構2 0是建構該邏輯樹狀結構 礎,所以其可被用來檢查未被說明元件。該原始 狀結構2 0可進一步被用於其它類似基礎設施的j: 是提供某些基本的元件ID及提供某些基本的骨 性’如被聚焦的,被產生作用的及位置的特性。 該原始的元件樹狀結構2 0並不是AT產品或 的主要資訊來源,沒有被用於邏輯巡航及沒有被 用者。該原始的元件樹狀結構2 0亦不能被用來補 結構中的一元件位置,使得其可在未來的某些時 送。該邏輯樹狀結構222實施所有這些功能。 該原始的元件樹狀結構2 0典型地可由基礎 術的原始元件(HWND,Element)加以機械式的建 需瞭解所代表該等邏輯元件。因此其可被用來找 該邏輯樹狀結構2 2 2中被說明之原始的元件。該 。這些方 供的特性 它們代表 。該該原 將它們插 件建構成 ’配接成 處理代管 因為該該 222的基 的元件樹 -作上:像 架元件特 客戶300 曝露給使 捉在樹狀 間點被回 的成像技 構,而無 哥尚未在 原始的元 20 1273791 件樹狀結構2 0為一有用的降 、、 除錯及診斷工具,因為其允許一 待補捉之節點位置之’堆疊俩 ν ^ 傾倒(stack dump),式的描述。 又,已知的糸統的樹狀結構熹 疋以碼特定要件為基礎且很難 用不同的技術來實施。本發明蚀 1之用一—般性的摘要,元始元 件’式,其可用任何基礎的成像 的成像技術。 了i以利用任何基礎 為了要或付該原始的元件樹爿士 ί狀、,構,呼叫一爲妒的亓 件根將會得到一桌面元件,Α^ ,、精由確定其親代為NULL且 其它的節點將它當作它們的最 J始祖而被確認。為了要 獲得其它元件’呼叫一方法用以择 乂獲侍一來自於一被指定點 的原始元件將會使用有效的螢幕 ,丨术1 2干及回迗該疋件。在獲 得該原始的元件樹狀結構之後,盆# 後其可藉由該等元件(親代, 兄弟姐姝及後代元件)的檢查而被檢查及確認。 在操作時,客戶300可使用關係 哪你及巡航該原始的元件 樹狀結構20 :如親代;下一代兄弟 吊殂妹,上一代兄弟姐妹, 第一個小孩,最後一個小孩等。 各戶3〇〇然後可從該原始 的元件跳至該邏輯樹狀結構222的對應邏輯元件。 事件機制 21 1 當一客戶300需要被告知事件資 一 丁貝Λ日守,客戶300能夠 經由υι自動化客戶2〇2來註冊, 一 戈弟3圖所示,用以獲 得育訊。客戶3 〇〇指定其想 ^ 又的物件資訊,它想要 u Μ訊到何處,及它想要得到的 2 々早。该客戶的要求 會到Ui自動化客戶2〇2處。m 要 ,^ , , 目勡化客戶202可監視在 桌面上勺任何處理。該m自動化 1J亂為 2 0 4追縱哪些客 1273791 戶3 00在傾聽並知道如何回到UI自動 自動化客戶202將客戶興趣通知該引擎 2 0 6得以知道何時將事件告知該UI自鸯 UI引擎不必運用該客戶通知,而是可以 件通知該UI自動化伺服器204,或是只 事件時才通知該UI自動化伺服器。如J 有在一客戶傾聽事件時才啟動 UI自 話,則該告知是很有用的。該UI引擎7 慢且避免將不需要的碼模組載入。 該UI引擎206然後將一 UI事件ii 服器204。該UI自動化伺月艮器204將該 回送給該客戶300並將包括該客戶300 性在内之資訊送給該客戶300。該UI自 定什麼資訊是在客戶要求的範圍之内且 形成一邏輯事件。形成一邏輯事件包括 器側預取得(p r e - f e t c h i n g)該客戶已指示 件時使用到的特性組。例如,該UI自 發現(discover)— 聯合框(combo box)的 將會是該聯合框或其子代。客戶3 00 $ 依者用以界定在註冊階段的範圍。 在該UI自動化伺服器204決定資 範圍之内之後,其即建構一邏輯元件。 202藉由與目標應用程式交談,接受來i 服器204之被要求的資訊,及將物件導 化客戶202。該UI 206,使得UI引擎 >化伺月艮器204。該 選擇不要一直將事 有在客戶傾聽任何 艮該UI引擎想要只 動化伺服器通知的 T避免UI速度的變 I知該UI自動化伺 被要求的邏輯事件 所要求的事件的特 動化伺服器2 0 4決 只對有興趣的資訊 在 UI自動化伺服 其將會在處理該事 動化伺服器204可 邏輯事件。該範圍 Γ要求子代/親代/相 訊是否在被要求的 該 UI自動化客戶 自於該UI自動化伺 引至客戶300上的 22 1273791 一適當的空間,來服務客戶3 Ο 0。 該UI自動化伺服器204是在客戶300註冊要接受事 件資訊時才被產生的。例如,一 UI引擎 206正在執行 Microsoft Word的文字處理應用程式。客戶300已註冊進 行名稱特性更改。該客戶的註冊造成該 UI自動化伺服器 204被產生。該客戶的註冊亦告知該UI引擎206開始將名 稱特性通知該UI自動化伺服器204。該UI引擎206不會 得到範圍資訊。該UI引擎206呼叫該伺服器側的一 API。 該UI引擎206指明:(1)哪個特性被改變;(2)該特性的新 數值;及(3)也許還有該舊的數值。該UI自動化伺服器204 根據該客戶3 0 0有興趣的事件被產生,因此知道有興趣的 事件,特性,客戶,及範圍,因此其知道是否有任何客戶 300對被產生的邏輯元件有興趣。如果有多於一個的客戶 3 00註冊了具有一特殊的UI自動化伺服器204的事件且客 戶300已註冊了相同的事件且要求用該被回送的邏輯元件 大量擷取特性的話,則當該UI自動化伺服器204將一事 件送回給客戶3 0 0時,每一客戶3 0 0都將會得到用該邏輯 元件回送之一致的被要求的大量取得的特性。 對於每一傾聽的客戶3 00而言,該UI自動化伺服器 2 04藉由將與該事件相關的邏輯元件送給該客戶來通知該 客戶300。該UI自動化伺服器204只產生一邏輯元件。相 對於目前的技術而言這是一項進步,在傳統的技術中每一 客戶 3 0 0將需要要求一份有關該事件的源頭之物件的副 本。 23 1273791 如果UI引擎206在客戶註冊事件時沒有利用UI自動 化客戶的告知的話,則該UI引擎206可詢問該UI自動化 伺服器204是否有任何的存取客戶300在傾聽及是否沒有 客戶在傾聽,然後可避免產生資訊並將其送至該 UI自動 化伺服器204。例如,一螢幕讀取者為客戶300並指定它 想要資訊去何處,該焦點改變物件以接受事件,及有興趣 的特殊特性名單。該UI引擎206被告知且知道其應將事 件送至該UI自動化伺服器204。該UI自動化伺服器204 轉變為一習知的界面並將該事件與物件送至該 UI自動化 客戶 202。該UI自動化客戶 202將該物件導引至該客戶 3 00上的一適當的空間。 上述的構件藉由消除事件在核心程式(kernel)中之中 心貯藏處。該UI自動化伺服器204知道所有客戶300有 興趣獲得關於其正在執行的内容的資訊。消除核心程式貯 藏處亦產生了更加點對點(p e e r -1 〇 - p e e r)式的互動,因為該 UI自動化伺服器 204實踐了以前在核心程式中實施的功 能。本發明的存取系統200給予客戶300能夠指定什麼是 其想要看的能力,使得過濾是在使用該UI自動化伺服器 2 04的伺服器側被完成。 第7圖為一流程圖,其顯示在事件註冊及通知方法中 涉及到的程序。在步驟8 0,客戶3 0 0要求事件通知。在不 驟82,該UI自動化客戶202將此要求送至該UI自動化伺 服器204。在步驟84,該UI自動化客戶告知UI引擎它需 要通知。在步驟86,該UI自動化伺服器204接受來自於 24 1273791 UI引擎206的通知。在步驟88,該UI自動化伺月艮器204 過濾接收到的資訊。在步驟9 0,如果接收到的資訊被發現 是客戶不感興趣的資訊的話,則該 UI自動化伺服器204 即拋棄該資訊並在步驟92記續等待通知。或者,如果在步 驟9 0發現該資訊是客戶有興趣的資訊的話,則該UI自動 化伺服器204會在步驟94產生一邏輯元件並將其送至UI 自動化客戶202。在步驟96,該UI自動化客戶202將接 收到的資訊放在客戶3 0 0上的適當位置處。 存取系統2 0 0的事件機制2 1 0讓客戶3 0 0可以註冊以 接收關於UI中之特性改變,在控制結構中的樹狀結構改 變,多媒體事件,及相關資訊的事件通知。如果沒有這些 能力的話,則客戶300就必需持續地探詢(poll)系統中的所 有 UI來瞭解是否有任何的資訊,結構,或狀態已改變。 存取系統200的事件機制210亦允許客戶300可接受不處 理(out-of-process)的事件,要求將與該事件通知一起被回 送至特性的集合,及註冊事件在多個元件上。 該事件機制2 1 0曝露出:AT產品及測試應用程式用來 註冊事件的界面;AT產品實施在物件上用來揍收事件通知 的界面;及控制實施者用來將UI事件通知事件引擎的界 面。該事件機制2 1 0被用來允許AT產品及測試應用程式 接收事件,其與用來給予UI的UI引擎無關,且允許AT 產品及測試應用程式追蹤上層應用程式及焦點,不論其基 礎計術為何。 第2圖顯示客戶300是如何與存取系統200互動。事 25 1273791 件交叉處理的泛用管理(global management)是不存在的。 而是,每一存取系統客戶300或伺服器400都具有其本身 的情況。客戶應用程式只接受支援該存取系統2 00的應用 程式的事件。為了要在一應用程式中開始使用存取系統事 件,客戶 3 0 0 可作下列四件事情中的一項:(1)使 用 ”AddTopLevelWindowListener’’API 來發現出現在桌面上 及在該事件的處理器中的新UI,註冊其它事件及以此機構 接受來自於任何處理的事件;(2)使用搜尋(Find) API中的 一者來找尋有興趣的UI並鎖定一特定的UI為目標;(3) 使用某些其它的機構來發現有興趣的UI,如尋找一視窗把 手或在螢幕上的一個點,及使用該把手或點來要求一邏輯 元件作為 傾聽事件 的參考; 或 (4) 使 用”AddFocusChangeListener”API來追蹤輸入焦點及註冊 在目前具有焦點之UI上的事件。 一上層視窗是一視窗其根源為桌面。”開啟”一詞係指 一新的上層視窗出現在使用者面前。”關閉” 一詞係指一上 層視窗消失掉。 存取系統伺服器側界面2 3 0包括兩個API用來通知該 存取系統200事件已被加入或移除。該UI自動化客戶在 客戶註冊及取消註冊事件時呼叫這些API。這讓該UI引擎 2 06能夠取得有關於哪些存取事件在其本身的情況下被要 求的資訊。 在可適用時,事件與來自於應用程式的邏輯元件樹狀 結構2 2 2的邏輯元件相關連。當邏輯元件不適用時,事件 26 1273791
與一人類可讀取的字串或代表一事件的來源之其它已知的 物件相關連。事件機制2 1 0根據使用者提供的偏好來自事 件註冊期間來進行過濾。藉由使用在伺服器處之客戶的過 濾偏好,事件機制2 1 0在產生事件相關的資料及將其跨處 理送至客戶之前即可藉由減少跨處理呼叫的次數來改善處 理外(〇 u t - 〇 f - p r 〇 c e s s)的性能。事件機制2 1 0提供指定一邏 輯元件的特性的方法,這些特性是在事件註冊期間該事件 所感興趣的。這可進一步減少跨處理呼叫的次數。事件機 制2 1 0可在主要作業系統(0S)無需改變下擴充。雖然事件 機制2 1 0可使用被管理碼來實施,未改變的應用程式可經 由COM交互作業性(interoperability)來存取它。
AT客戶3 00實施兩種工作來處理事件:(1)事件註冊; 及(2)在一回呼叫(callback)中處理該事件。這兩個工作的 一個重要的要求為可在被管理的及未被管理的碼中使用。 在本發明的一實施例中,客戶3 0 0在事件的註冊期間傳遞 界面。客戶3 0 0傳遞在註冊時實施習知的界面的物件以及 UI引擎206在這些界面上回呼叫用以通知該傾.聽者。在該 邏輯元件樹狀結構222中有一來源物件的例子中,每一回 呼叫都接收該來源元件與一額外的參數。 AT產品所實施的習知界面被用作為回送事件的途 徑。以下的各節顯示某些種類的事件,註冊的情況及事件 是如何被接收到的。 1.上層視窗事件 上層視窗事件包括與選單及聯合框下拉(combo box 27 1273791 dropdown)或以桌面作為一親代(parent)之任何特徵相關的 事件。在本發明 的一實施例中 , AddTopLevelWindowListener方法被用來接收上層視窗被 開啟及關閉的通知。呼叫AddTopLevelWindowListener將 可獲得在目前的桌面上之新的上層視窗開啟或上層視窗被 關閉的通知。RemoveTopLevelWindowListener 方法提供一 個機制來停止接收在桌面上的上層視窗被開啟,關閉的通 知。此方法使用一回呼叫物件來認出傾聽者。因此,被傳 遞至 RemoveTopLevelWindowListener方法的物件與被傳 遞至AddTopLevelWindowListener的物件是相同的。相同 地,當一上層視窗已被關閉時,一 OnTopLevelWindowClosed方法可被該存取系統2〇0所呼 叫。為了要接收這些通知,客戶 300會呼叫 AddTopLevelWindowListener 方法。 2.焦點事件 客戶3 0 0茜要一追蹤焦點的方法。在微軟的w丨n d 〇 w s OS中作這件工作是很困難的。例如,當一選單被下拉 (dropped down)時(如,在 MiCrosoft w〇rd 中的檔案選單), 在該選單中的項目當使用者移動游標至每一項目上時其即 會獲的焦點。當選單關閉時(如使用者按下E s c鍵時),就 不會有焦點事件送出。對焦點改變有興趣的客戶必需傾聽 數個事件並弄清楚這些事件中的哪一者邏輯地代表一焦點 改變。在本發明的一實施例中,一 AddF()CUsChangeUstener 方法可被用來將焦點改變事件通知該傾聽者。客戶3〇〇指 28 1273791 定一組需要被回送的特性。指定與該邏輯元件一起被回送 的特性的此項特徵是所有事件註冊API的一部分。客戶300 可呼叫RemoveFocusChangeListener方法來停止接收有關 焦點改變的通知。此方法可使用回呼叫物件來認出該傾聽 者且在此例子中被傳遞給 RemoveFocusChangeListener 方 法的物件將會跟被傳遞給AddFocusChangeListener的物件 相同。該當焦點改變時存取系200呼叫一 0nFocusChenSed 方法。一使用在 OnFocusChenged 方法中的 FocusEventArgs 參數揭露與該焦點改變相關的資訊。如果有關於最後一焦 點的邏輯元件的資訊是可獲得的話,則該元件將可在使用 於該OnFocusChenged元件中的事件中獲得。在某些例子 中,沒有UI有焦點,直到有些東西特定地將焦點置於一 元件上時才有焦點。 3.特性改變事件 特性改變事件是在邏輯元件的特性改變時被發出的。 在本發明的實施例中,客戶 300 呼叫一 AddProperityChangeListener 方法用以接收特性改變的通 知。當在該邏輯元件樹狀結構内的一被 AddProperityChangeListener所指定的一邏輯元件的特性 數值已被改變時,存取系統200會呼叫OnProperityChange 方法。一範圍參數指出一事件應發出哪些元件。例如’將 一視窗的根源邏輯元件及對於後代的要求加以傳遞可限制 回呼叫至該視窗的特性改變。如果範圍參數被設定給該樹 狀結構中的所有元件的話,則該範圍會被忽略立對於發生 29 1273791 在該桌面上之被指定的特性的任何改變都會被送出。客戶 3 0 0會用不同的特性組及/或一不同的回呼叫物件來呼叫 AddProperityChangeListener數次。由該存取系統200所提 供的通知顯示:改變的特性·,新的特性數值;及舊的特性 數質,如果有的話。 客戶 300 可呼叫一 RemoveProperityChangeListener 方 法來停止接收特性改變的通知。此方法可使用範圍元件及 回呼叫物件來認出此傾聽者且在此例子中被傳遞至 RemoveProperityChangeListener 的物件必需與被傳遞至 AddProperityChangeListener 的物件相同。 4 ·來自控制模式的事件 一 GUIDE所辨認的。任何GmDE值在註冊 。對雲任何新的控制模式而言,其所登記的 一無二的GUIDE。ΛΤ產品可能需要加以修 的控制杈式事件。此傾聽者亦必需能夠將這 圍内。例如,受指導的測試會想要將這些事 殊的應用程式或一應用程式内的控制。該等 該範圍為何且事件消費者將需要參考該部分 以暸解如何使用一來源元件及事件物件。 AddEventListener方法可讓客戶3〇〇接收關 。範圍參數可被用纟顯示哪種元件發出事件 視窗的根源邏輯元件且要求後代將可限制該 如果在樹狀結構中的所有元件都是所想要的
由 件是由 被接受 需是獨 傾聽新 納入範 在一特 式界定 文獻用 的事件 傳遞一 事件。 這些事 時都可 事件必 改用以 些事件 件限制 控制模 的登記 於控制 >例如, 視窗的 ,則在
30 1273791 桌面上的所有事件都會被送出。一 Rem〇veEventListener 方法可被用來停止接收有關控制的事件。此方法可使用範 圍7L件’回呼叫物件及一事件辨認子來認出該傾聽者。在 此例子中’被送至r e m 0 v e E v e n t L i s t e n e Γ的物件必需與被 送至AddEventListener的物件相同。 Ϊ 一應用式已召喚該AddEventListener方法時,存 取系統200會在特定的控制事件被發出且該事件的來源為 «亥邏輯元件树狀結構中被該AddE vent Listener所指定的一 邏輯元件時呼叫一 OnEvent方法。當控制的事件被發出 時’通常都會有特定事件的資訊。 一 RemoveAUListener方法會被呼叫用以停止接收所 有事件。至是在一客戶應用程式停止之前的一快速清除方 式。此方法可在終止一應用程式時被使用。 5·邏辑結構改變辜件 邏輯結構改變事件是在邏輯元件樹狀結構改變時發出 的。一 AddLogicalStructureChangedListener 方法可被實施 用以接收在邏輯元件樹狀結構中之結構改變的通知。當邏 輯元件被添加,移除或失效時,在該被指定的回呼叫物件 上的方法會被呼叫。範圍參數可如上所述地限制元件。一 RemoveLogicalStructureChangedListener 方法可被呼·叫用 以停止接收邏輯元件樹狀結構改變的事件。此方法可使用 一回呼叫物件及一範圍元件來認出此傾聽指且在此例子中 被傳遞至 RemoveLogicalStructureChangedListener 方法的 物件必需與傳遞至AddE vent Listener的物件相同。 31 1273791 當一子代元件被添加且親代為該邏輯元件樹狀結 222 中被該 AddLogicalStructureChangedListener 所指定 一邏輯元件時,存取系統200會呼叫一 OnChiledAdded 法。當一子代元件被移除且舊的親代為該邏輯元件樹狀 構 222 中被該 AddLogicalStructureChangedListener 所指 的一邏輯元件時,存取系統 200 會呼叫 OnChiledRemoved 方法。 當一大數量的子代(如,多於2 0個子代)於一很短 時間内被添加時,該存取系統 2 0 0 會呼叫 OnChildrenBulkAdded方法。當一大數量的子代於一很 的時間内被移除時,該存取系統 200 會呼叫 OnChildrenBulkRemoved 方法。當一大數量的子代(如 多於2 0個子代)於一很短的時間内被添加及移除時,該 取系統 200 會呼叫一 OnChildrenlnvalidated 方法。 6. 多媒體事件 另一種事件為多媒體事件。多媒體事件可包括聲音 影像及動晝。方法將可支援多媒體事件並將,,停止,,,,, 停快轉回轉’’,及,,靜音,,等動作的事件通知客戶 與上述的方法相似的方法可被實施用以添加及移除多媒 傾聽者。 7. 簡單的聲音事件 簡單的聲音事件可與多媒體事件分開來處理。簡單 聲音事件代表簡單,時間短的聲音其存在是為了要將除 聲音本身之外的某些事件通知使用者。簡單的聲音事件 構 的 方 結 定 的 短 存 暫 〇 體 的 了 包 32 1273791 括:當新的郵件送達時播放的聲音;當膝上型電腦的電池 電量低時所產生的聲音;或當一訊息箱以IconExclamation 式被顯示時被播放的聲音。一 AddSoundListener方法可被 呼叫用以接收簡單的聲音被播放的事件及一 RemoveSoundLIstener方法可被實施用以停止接收簡單的 聲音事件的通知。 當一簡单的聲晋
OnSound方法。為了要接收此通知,該傾聽的應用程式契 呼叫AddSoundListener。該〇nS〇und方法取得以下的養 訊··聲音的名稱;聲音的來源;及一代表該聲音對於使用 者的重要性之警示層級值。可能的警示層級包括,,未知 表重要性是未知的;”資訊性的’’,获矣兮吹 代表該資訊已被呈現; 警告,,,代表一 f告狀況;,,問號”,代表需要使用者的回應; 驚嘆號”’代表該事件是非關鍵性的但可能很重要;及,,^ 鍵的”,代表一關鍵事件的發生。 f 8.款體焦點(Soft Focus)搴# 軟體焦點事件出現在桌面上但县彡主—
一疋侍在月景中。軟體 件的某些例子為:一氣球幫手視窗在通知區中顯示,,有新奋 更新可用’’;一在工作列中之閃動的m你,· 、 ’ ' 力的圖像(lcon)代表想要麥 得焦點的背景應用程式;及當列印開 ^ 〜、、、σ I崎一印表彩 圖像出現在通知盤中及從通知盤Φ $ + , " 盧中4失。這些事件可能《 與其它事件分類有一些重疊(多媒科 且(夕媒體可能會涉及動晝 件,軟體焦點也會)。然而,事件將會根一 诹,、得迗什麼給右 用者來加以分類而不是根據其如何傳送。 33 1273791 一 AddSoftFocusListener方法可被實施用以接收 取得輸入焦點之下嘗試要得到使用者的注意的事件 知。一 RemoveSoftFocusListener方法可停止該通知。 法使用回呼叫物件來認出此傾聽者,因此被傳 RemoveSoftFocusListener 方法的物件必需與被傳 AddSoftFocusListener方法的物件相同〇 當一軟體焦點事件發生時,該存取系統200會呼 OnSoftListener方法。為了要接收此通知,該傾聽的 程式或客戶300會呼叫AddSoftFocusListener方法。 源元件,如果有的話,可被用來取得更多有關於該事 資訊。一來源事件的例子為該系統盤中的通知應用程 一所使用的一氣球幫手視窗的邏輯根源元件 OnSoftListener方法會回送:事件的名稱;該事件的來 及代表對於使用者的重要性的警示層級。 以下的表格顯示客戶3 0 0及存取系統2 0 0在客戶 一 AddTopLevelWindowListener API 來傾聽來自於一 處理的事件時的動作。 在不 的通 此方 遞至 遞至 口 一 應用 一來 件的 式之 〇該 .源; 使用 特殊 34 1273791 客戶 存取系統及目標UI視窗 呼叫 AddTopLevelWindowListener •存取系統客戶開始一執行緒(thread)用 以監看上層應用程式視窗被產生及毀滅。 •新的UI出現且該存取系統客戶呼叫該 f 戶的 OnTg^eveiwindcw〇pened 方法。 從 OnTopLevelWindowOpened 呼叫其它 的API用以註冊發生在目標UI視窗内的 額外事件 •存取系統客戶將該事件的識別碼告 知該目標視窗使其可在事件通知 時加以選擇。 •存取系統客戶將該事件的識別碼及過 濾資訊告知該存取系統伺服器使其可 進一步過濾事件。 •目“ UI視窗使用該存取系統词服器 API用以將感興趣的事件通知該存取 系統伺服器側。 處理在回呼叫物件中的事件 — --—. 呼*叫RemoveListener API來停止接收事 件 存取糸統伺服器將事件告知回到該存 取系統客戶。 •存取系統客戶將用來註冊的物件回呼 ^給該應用程式。 •存取系統客戶將不再感興趣的事件告 知存取系統伺服器及目標U!視窗。 •目標應用程式停止將事件通知存取系 統伺服器。 --~~-^_
35 1273791 事件
對應的事件通知方法被祠服器400或基礎的UI引擎 用來支援以上列舉的存取系統事件。UI自動化伺服器API 包括伺服器400或基礎UI引擎會呼叫來完成工作的方 法。例如,有一 N 〇 t i f y P r 〇 p e r i t y C h a n g e d方法供祠月良器來 哞叫用以在一邏輯元件上有一特殊的特性改變時通知。伺 服器400或基礎UI引擎會決定是否在UI改變時要產生適 當的參數及呼叫這些通知方法。 伺服器方_法 當客戶 300要求事件時,UI自動化客戶會呼叫一 AdviseEventAdded 方法及一 AdviseEventRemoved 方法用 以通知伺服器4 0 0。這可讓伺服器4 0 0不會在沒有感興趣 的事件時,將事件送給存取系統200。伺服器可使用這些 通知來讓性能與是否有客戶使用該等事件相關聯。
Uj模式
存取模型提供獨一無二的途徑來將一特殊的UI或控 制所支援的功能分類及揭露。與前技中將功能與一特殊的 控制種類相關聯(例如,一按紐,一編輯框,或一表單框) 相反地’該存取模型界疋一組共同的控制模式,每一控制 模式都界定UI行為的一個態樣。因為這些模式彼此並不 相關聯,所以它們可被結合來描述一特殊的UI元件所支 援的整組功能。 例如,與用類別名稱來描述一元件’如按鈕,相反地, 該存取系統200將其描述為支援該召喚的控制模式。一控 36 1273791 制模式界定—元件所支援的結構,特性,事件,及方法。 因此’這些模式不只可讓客戶一求一控制的行為,它們還 可讓客戶藉由使用一特殊模式所用的界面來程式化地操# c亥控制 例如,一 s e 1 e c t i ο n C ο n t a i n e r模式提供對於被琴 取的項目的要求,選取或取消選取一特定的項目,或決〜 該控制是支援單一選擇或多重選擇模式。 又 夂木‘八WT ^ /丁、肌;n W、J役市υ棋 '包括· 選擇容器(c〇ntainer) ; (2)組織架構;(3)可刀〇 (m〇kable);⑷簡單網格;(5)文字;⑷數值;Q嗔的
件;(8)可捲表物 )捲動的,(9)可分類的;(10)晝圖;及(1U| 裔。 '/、它 此技術讓控制開發者能夠實施一新種 有〜 上市」同時呈 成熟的途徑來將其行為揭露給AT產品及測試劇 …新種類的行為被導入的話’一新的控 故界疋用以揭露被要求的功能。 輔助技術產品及測試劇本現可被撰寫用以瞭解如何與 ^ 拉式,而非每一 U I批生1Ϊ L- ..
的批 1控制’一起工作。因為控制模式 少 所以此技術可將必要的碼減到最 择扭此方法亦鼓勵一更有彈性的架構其可有效率地詢問及 ,、控新的控制(只要它們支援已知的控制模式即可)。 式/下的表格提供-些共同控制的例子及它們支援的模 37 1273791 控制 相關的控制模式 按紐 可召喚的 檢查框,無線電按鈕 數值 名單框 選擇容器,可捲動的 聯合框 選擇容器,可捲動的,數值 樹狀景觀 選擇容器,可捲動的,組織架構 名單景觀 選擇容器,可捲動的,可分類的 文字框,編輯 數值,文字,可捲動的
更多特定的界面將被用來揭露與共同礦制模式相關的 功能。這些模式的例子包括:(1)選擇管理容器;(2)網格 佈局容器;(3)包含數值的UI元件;(4)代表物件(檔案,電 子郵件等)的圖像;及(5)可被召喚的UI元件。大致上,這 些模式並沒有緊密地與特定的控制結合且不同的控制可實 施相同的模式。例如,名單框,聯合框及樹狀景觀都實施’ 選擇管理容器’模式。如果適當的話,某些控制可實施多個 模式:一選擇網格可實施’網格佈局容器’模式及’選擇管理 容器’模式。 與在之前的應用程式中不同的是,不再有單一’角色’ 的特性。相反地,兩個分離的機制會被使用。控制模式決 定一控制之可用的功能且一人類可讀的、可地區化的特性 提供使用者可暸解的一控制種類名稱,如’按鈕’,’名單框’ 等。 38 1273791 特性
該存取系統 200將以一通用 GetProperty 方法為特 徵。特性最好是由GUID來代表,且工具方法被用來翻譯 一非地區化的記憶形式並獲得地區化的描述。一通用的 GetProperty方法,而不是各別的方法,的兩個主要的好處 為(a)其允許新的特性隨著時間被增加,而無需改變該界 面,及(b)其允許實施技術一如陣列驅動的大量特性擷取一 其在使用各別的方法時是不可能的。每一特性必需具有一 清楚界定的旨意。該特性是要給人類或給機器使用,該特 性是否要被地區化,等等都被需被清楚地界定。 本發明已依據特定的實施例加以說明,這些實施例只 是作為舉例而不是用來限制。在不偏離本發明的範圍下之 其它的實施例對於熟悉此技藝者而言將會是很明顯的。
由以上所述,可被看出來的是,本發明可達成所有目 的及目標,以及該系統及方法的其它優點。應被暸解的是, 某些特徵及此組合是有效用的且可在沒有其它特徵及次組 合下被使用。這些都是在本發明的申請專利範圍之内。 【圖式簡單說明】 本發明參照附圖於上文中詳細加以說明,其中: 第1圖為一適合實施本發明之計算系統環境的方塊 圖, 第2圖為在一存取系統,一客戶環境,及一伺服器環 境之間的互動的一方塊圖; 39 1273791 第3圖為一方塊圖,其顯示該存取系統核心的構件; 第4(A)-4(D)圖顯示一邏輯樹狀結構的產生; 第5圖為一流程圖,其顯示建構一邏輯樹狀結構的一 連串程序; 第6圖顯示一對話方塊及形成邏輯原本的元件(native e 1 e m e n t)的構件;
第7圖為一流程圖,其顯示啟動本發明的事件機制所 涉及的程序;及 第8圖顯示一已知的事件通知系統。
【元件代表符號簡單說明】 2 ‘ 處理邊界 6 事件 10 客戶 12 伺服器應用程式 14 核心程式 16 要求 18 事件通知 20 物件 100 計算環境 110 電腦 120 處理單元 121 系統匯流排 130 系統記憶 體 13 1 ROM 132 RAM 134 作業系統 135 應用程式 136 其它程式模組 137 程式資料 141 硬碟機 140 界面 151 磁碟機 152 可取下, 非揮發式磁碟片 155 光碟片 156 可取下,非揮發光碟片 40 界面 144 作業系統 應用程式 146 其它程式模組 程式資料 160 使用者輸入界面 指標裝置 162 鍵盤 無線輸入接收構件 191 顯示裝置 輸出週邊界面 196 印表機 D刺口八 180 遠端電腦 記憶儲存裝置 171 局部區域網路(LAN) 廣域區域網路(W A N) 170 網路界面 數據機 185 遠端應用程式 BIOS 200 存取系統 客戶環境 400 伺服器環境 客戶側存取界面 230 伺服器側存取界面 存取系統核心 410 伺服器系統 配接器 414 核心 伺服器系統 422 代理構件 控制 222 邏輯樹狀結構 原始的樹狀結構 11 親代節點 子代節點 14 原本的樹狀結構 親代節點 16 子代節點 伺服器系統 432 配接器 内部OM 210 事件機制 UI自動化客戶 204 UI自動化伺月艮器 親代節點 22 子代節點 41 1273791 30 子代節點 23- 29 子孫 3 1- 3 3 子孫 60 對話框 62 飛動的視窗圖形 64 聯合框 66 取消 67 瀏覽 206 使用者界面引擎
42

Claims (1)

1273791 十、申請專利範圍: 1 . 一種具有一事件機制的系統,其中該事件機制係在一主 從(c 1 i e n t - s e r V e r)環境中,且用以保持將使用者界面(UI) 中的改變通知一客戶,該事件機制至少包含: 一註冊機制,用來讓該客戶註冊及接受有興趣的使 用者界面資訊;
一使用者界面自動化客戶,其接收來自於該客戶的 註冊資訊並在接受到時將該有興趣的使用者界面資訊 傳送給該客戶;及 一使用者界面自動化伺服器,其接受來自於該使用 者界面自動化客戶的註冊資訊並接受來自於一使用者 界面引擎的使用者界面資訊,該使用者界面自動化伺服 器包括一過濾構件用來過濾掉該客戶沒有興趣的資訊 及一告知構件用來將該客戶有興趣的資訊告知給該使 用者界面自動化客戶。
2 ·如申請專利範圍第1項所述之系統,其中該註冊機制接 受來自於客戶的註冊資訊,該註冊資訊包括:物件資 訊、該物件資訊的客戶位置,及一將與一來源物件一起 被回送的各特性之一列表。 3 .如申請專利範圍第2項所述之系統,其中該使用者界面 (UI)自動化客戶包含將物件資訊送至特定的客戶位置 43 1273791 的構件。 4. 如申請專利範圍第2項所述之系統,其中該使用者 自動化伺服器的過濾構件決定來自使用者界面引 使用者界面資訊是否包含物件資訊及該所要求之 性的列表。 5. 如申請專利範圍第1項所述之系統,其中該註冊機 受對於一指定之資訊範圍的要求。 6. 如申請專利範圍第5項所述之系統,其中如果該使 界面資訊是該客戶感興趣的且是在該所指定範圍 話,該使用者界面自動化伺服器形成一邏輯元件, 果該使用者界面資訊是使用者不感興趣或不在該 定範圍内的話,則拋棄該使用者界面資訊。 7. 如申請專利範圍第1項所述之系統,其中來自於該 者界面引擎之該使用者界面自動化伺服器的告 括:一被改變的特性的名稱、一新的數值,及任何 到的舊數值。 8. 如申請專利範圍第1項所述之系統,其中該使用者 資訊包含屬於至少一事件種類的資訊,該至少一事 界面 擎的 各特 制接 用者 内的 且如 所指 使用 知包 可得 界面 件種 44 1273791 類是從由以下組群中所選取的:上層視窗事件、焦點事 件、特性改變事件、控制模式事件、邏輯結構改變事件、 多媒體事件、簡單的聲音事件,及軟體焦點事件。 9.如申請專利範圍第8項所述之系統,其中每一事件只落 在一事件種類内。
1 0.如申請專利範圍第8項所述之系統,其中每一事件種類 都包含一組方法用以增加一傾聽者、移除該傾聽者、提 示該事件機制用以傾聽該事件種類,及供使用者界面引 擎將其事件通知該使用者界面自動化伺服器。 11. 一種用來將感興趣的使用者界面事件通知一客戶之電 腦的實施方法,該方法至少包含:
從該客戶處接受對於被指定的使用者界面資訊的註 冊要求; 監視來自於一使用者界面自動化伺服器的使用者界 面引擎資訊用以決定該被指定的使用者界面資訊是否 為可獲用; 將該被指定的使用者界面資訊從該使用者界面自動 化伺服器傳遞至一使用者界面自動化客戶;及 將該被指定的使用者界面資訊從該使用者界面自動 化客戶傳送至一適當的客戶位置。 45 1273791 1 2 ·如申請專利範圍第1 1項所述之方法,其中接受一註冊 要求包含接受包括下列的註冊資訊:物件資訊、該物件 資訊的一客戶位置,及被要求之各特性一列表。
1 3 .如申請專利範圍第1 2項所述之方法,其中傳送該被指 定的使用者界面資訊包含將該物件資訊傳送至該被指 定的客戶位置。 1 4.如申請專利範圍第1 2項所述之方法,其更包含用該使 用者界面自動化伺服器來過濾使用者界面資訊用以決 定來自於該使用者界面引擎的使用者界面資訊是否包 含該物件資訊及該被要求之各特性列表。
1 5.如申請專利範圍第1 1項所述之方法,其中接受一註冊 要求包含接受對於一被指定的資訊範圍的要求。 1 6.如申請專利範圍第1 5項所述之方法,其更包含如果該 使用者界面資訊是該使用者感興趣的且是在該被指定 範圍内的話,則用該使用者界面自動化伺服器形成一邏 輯元件,及如果該使用者界面資訊是該使用者不感興趣 的或不在該被指定的範圍内話,則將會拋棄該使用者界 面資訊。 46 1273791 1 7.如申請專利範圍第1 1項所述之方法,其更包含接受來 自於該使用者界面引擎的資訊,其包括:一被改變的特 性的名稱、一新的數值,及任何可獲得之舊的數值。
1 8.如申請專利範圍第11項所述之方法,其更包含接受屬 於選自以下組群之至少一事件種類的使用者界面資 訊:上層視窗事件、焦點事件、特性改變事件、控制模 式事件、邏輯結構改變事件、多媒體事件、簡單的聲音 事件,及軟體焦點事件。 1 9,如申請專利範圍第1 8項所述之方法,其中每一事件都 只落在一事件種類内。
47 1273791 \h ,~Γ.\ 第?)(.4 f >號蔚膝f年P月修L·
1273791 七、指定代表圖: (一) 、本案指定代表圖為:第 2圖。 (二) 、本代表圖之元件代表符號簡單說明: 200 存取系統 420 伺服器系統 220 客戶側存取界面 422 代理構件 230 伺服器側存取界面 424 控制 300 客戶環境 434 内部OM 400 一伺服器環境 410、 430 伺服器系統 412 ' 432 配接器 414 核心
八、本案若有化學式時,請揭示最能顯示 發明特徵的化學式:
4
TW092109522A 2002-09-30 2003-04-23 System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events TWI273791B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41533802P 2002-09-30 2002-09-30
US10/366,941 US20040064530A1 (en) 2002-09-30 2003-02-14 Accessibility system events mechanism and method

Publications (2)

Publication Number Publication Date
TW200405695A TW200405695A (en) 2004-04-01
TWI273791B true TWI273791B (en) 2007-02-11

Family

ID=31949832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092109522A TWI273791B (en) 2002-09-30 2003-04-23 System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events

Country Status (16)

Country Link
US (1) US20040064530A1 (zh)
EP (1) EP1403763A3 (zh)
JP (1) JP2004145851A (zh)
KR (1) KR20040028475A (zh)
CN (1) CN100589063C (zh)
AU (1) AU2003201954B2 (zh)
BR (1) BR0301004A (zh)
CA (1) CA2424204A1 (zh)
CO (1) CO5450260A1 (zh)
IL (1) IL155001A (zh)
MX (1) MXPA03003083A (zh)
MY (1) MY141524A (zh)
NO (1) NO325479B1 (zh)
PL (1) PL359693A1 (zh)
SG (1) SG134984A1 (zh)
TW (1) TWI273791B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI400627B (zh) * 2007-06-14 2013-07-01 Sony Corp 資訊處理裝置、方法及電腦程式產品
TWI447593B (zh) * 2008-04-25 2014-08-01 Chi Mei Comm Systems Inc 用戶介面通訊系統及方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7250955B1 (en) * 2003-06-02 2007-07-31 Microsoft Corporation System for displaying a notification window from completely transparent to intermediate level of opacity as a function of time to indicate an event has occurred
US20060031572A1 (en) * 2004-05-18 2006-02-09 Microsoft Corporation Event broker
JP5268359B2 (ja) * 2004-09-10 2013-08-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 少なくとも1つのメディアデータ処理装置を制御可能にする装置とその方法
US7797636B2 (en) 2005-08-19 2010-09-14 Joseph Carter System and method for administering pluggable user interactive system applications
US20070043569A1 (en) * 2005-08-19 2007-02-22 Intervoice Limited Partnership System and method for inheritance of advertised functionality in a user interactive system
US9152475B1 (en) 2005-09-29 2015-10-06 Hewlett-Packard Development Company, L.P. Notifying listeners of change events
JP4791285B2 (ja) * 2006-08-04 2011-10-12 富士通株式会社 ネットワーク装置およびフィルタリングプログラム
US8984448B2 (en) * 2011-10-18 2015-03-17 Blackberry Limited Method of rendering a user interface
JP5885839B2 (ja) * 2012-07-02 2016-03-16 三菱電機株式会社 通信システム、gui装置及びサービス装置
CN104639721B (zh) * 2013-11-06 2018-11-27 阿里巴巴集团控股有限公司 在移动终端设备中提供应用程序信息的方法及装置
US10313459B2 (en) 2014-04-29 2019-06-04 Entit Software Llc Monitoring application flow of applications using a regular or extended mode
US9917760B2 (en) 2015-06-03 2018-03-13 International Business Machines Corporation Notifying original state listeners of events in a domain model
US10656802B2 (en) 2017-04-05 2020-05-19 Microsoft Technology Licensing, Llc User interface component registry
US11175809B2 (en) 2019-08-19 2021-11-16 Capital One Services, Llc Detecting accessibility patterns to modify the user interface of an application

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
WO1997044729A1 (en) * 1996-05-20 1997-11-27 Cognos Incorporated Application services builder
US5923328A (en) * 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US6334157B1 (en) * 1997-03-11 2001-12-25 Microsoft Corporation Programmatically providing direct access to user interface elements of an application program
US6144377A (en) * 1997-03-11 2000-11-07 Microsoft Corporation Providing access to user interface elements of legacy application programs
US6363435B1 (en) * 1998-02-03 2002-03-26 Microsoft Corporation Event sourcing and filtering for transient objects in a hierarchical object model
US6263360B1 (en) * 1998-06-01 2001-07-17 Sri International System uses filter tree and feed handler for updating objects in a client from a server object list
US6341280B1 (en) * 1998-10-30 2002-01-22 Netscape Communications Corporation Inline tree filters
US7010793B1 (en) * 2000-10-12 2006-03-07 Oracle International Corporation Providing an exclusive view of a shared resource

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI400627B (zh) * 2007-06-14 2013-07-01 Sony Corp 資訊處理裝置、方法及電腦程式產品
TWI447593B (zh) * 2008-04-25 2014-08-01 Chi Mei Comm Systems Inc 用戶介面通訊系統及方法

Also Published As

Publication number Publication date
PL359693A1 (en) 2004-04-05
BR0301004A (pt) 2004-08-17
CA2424204A1 (en) 2004-03-30
NO20031294L (no) 2004-03-31
AU2003201954A1 (en) 2004-04-22
AU2003201954B2 (en) 2009-12-10
EP1403763A2 (en) 2004-03-31
MY141524A (en) 2010-05-14
CN100589063C (zh) 2010-02-10
SG134984A1 (en) 2007-09-28
MXPA03003083A (es) 2004-10-15
NO325479B1 (no) 2008-05-13
IL155001A (en) 2008-04-13
KR20040028475A (ko) 2004-04-03
EP1403763A3 (en) 2005-09-07
JP2004145851A (ja) 2004-05-20
CO5450260A1 (es) 2004-10-29
TW200405695A (en) 2004-04-01
NO20031294D0 (no) 2003-03-20
CN1487391A (zh) 2004-04-07
US20040064530A1 (en) 2004-04-01
IL155001A0 (en) 2003-10-31

Similar Documents

Publication Publication Date Title
JP4942932B2 (ja) ユーザインターフェース情報へのアクセスを提供するためのシステムおよび方法
TWI273791B (en) System having event mechanism for keeping a client notified of changes in the user interface, and method for notifying a client of interesting user interface events
CA2099020C (en) Apparatus and method for creation of a user definable video displayed document showing changes in real time data
CN101615122B (zh) 通过存取系统将用户接口信息提供给客户的系统和方法
KR101076904B1 (ko) 컴퓨터 플랫폼에 대한 프로그래밍 인터페이스
CN102253827B (zh) 具有学习机制的糅合基础结构
JP5026415B2 (ja) データセントリックワークフロー
TW200821853A (en) Method for defining a wiki page layout using a wiki page
JP2009519627A (ja) メディアのコンカレントコラボレーションのためのシステム、方法及びコンピュータプログラム製品
TW200846952A (en) Use of structured data for online research
US10964416B1 (en) Block chain management
TW200404225A (en) Dynamic wizard interface system and method
US20130179797A1 (en) Shared user interface services framework
JP2019016288A (ja) 情報処理装置、情報処理システムおよびプログラム
US20040061714A1 (en) Logical element tree and method
Harrison et al. WS-RF workflow in Triana
JP4312174B2 (ja) 階層構造表示装置、階層構造表示方法、階層構造表示システム、クライアント端末、階層構造表示サーバ、並びに、階層構造表示プログラムおよび記録媒体
US12374432B1 (en) Bus system for applying rules
RU2316043C2 (ru) Механизм и способ предоставления информации событий в системе доступа
Cabanová Teaching materials and advanced sample applications for Android platform
Software Live Tiles and Notifications
JP2005100190A (ja) 文書管理装置
McCollam Getting Started with Grafana
JP2009282588A (ja) 画像形成システム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees