摘要(英) |
The birth of a software application is inevitably driven by the need to address existing requirements. However, as time passes, unforeseen needs arise that the original developers may not have anticipated. In such cases, the original developers can choose to make the software open source or, more commonly, provide methods such as APIs and extensions/plugins, allowing third-party developers to extend the software′s functionality without having access to the source code. However, these extension methods are ultimately limited to a few well-known software applications, as the majority of software does not consider the needs of third-party developers. Nevertheless, this is a highly urgent and common requirement. Therefore, this paper has developed an SDK that utilizes innovative methods, enabling third-party developers to extend the functionality of desktop software without depending on the original developers.
This paper introduces an SDK that focuses on extending desktop software for the Microsoft Windows operating system. The SDK employs a novel approach using a transparent window called "Parasite" to achieve the extension functionality. Parasite attaches itself to a main program window called the "Host." By adapting to changes in the Host′s user interface, Parasite can display corresponding functionality. Consequently, third-party developers can develop the desired extensions without the need for access to the source code or APIs and extensions/plugins. |
參考文獻 |
[1] Flash Player Chrome 停用 [Online]. Available: https://support.google.com/chrome/answer/6258784?hl=zh-Hant. [Accessed 11 Jun 2023].
[2] Spy++ [Online]. Available: https://learn.microsoft.com/en-us/visualstudio/debugger/spy-increment-help?view=vs-2022 [Accessed 11 Jun 2023].
[3] John Mueller. Accessibility for Everybody Understanding the Section 508 Accessibility Requirements, Apress , 2003
[4] J. Carter, M. Markel, “Web accessibility for people with disabilities: an introduction for Web developers”, IEEE, 2001
[5] Microsoft Active Accessibility [Online]. Available: https://learn.microsoft.com/en-us/windows/win32/winauto/technical-overview. [Accessed 11 Jun 2023].
[6] AccExplorer [Online]. Available: https://learn.microsoft.com/en-us/windows/win32/winauto/ui-accessibility-checker [Accessed 11 Jun 2023].
[7] Inscpect [Online]. Available: https://learn.microsoft.com/en-us/windows/win32/winauto/inspect-objects [Accessed 11 Jun 2023].
[8] HAVERTY, Rob. “New accessibility model for Microsoft Windows and cross platform development” ACM SIGACCESS Accessibility and Computing, 2005, 82: 11-17.
[9] Microsoft UI Automation for .NET developers [Online]. Available: https://learn.microsoft.com/en-us/dotnet/framework/ui-automation/2 [Accessed 11 Jun 2023].
[10] Windows Automation API 3.0 [Online]. Available: https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-uiautomationoverview [Accessed 11 Jun 2023].
[11] Accessibility Insights [Online]. Available: https://accessibilityinsights.io/ [Accessed 11 Jun 2023].
[12] UISpy [Online]. Available: https://learn.microsoft.com/en-us/previous-versions/ms727247(v=vs.110)?redirectedfrom=MSDN [Accessed 11 Jun 2023].
[13] ZAJICEK, M.; VENETSANOPOULIS, I.; MORRISSEY, W. “Web access for visually impaired people using active accessibility.” In: Proceedings of the Human Factors and Ergonomics Society Annual Meeting. Sage CA: Los Angeles, CA: SAGE Publications, 2000. p. 445-448.
[14] LEE, Hae-Na; ASHOK, Vikas; RAMAKRISHNAN, I. V. “Rotate-and-Press: A Non-visual Alternative to Point-and-Click?.” In: HCI International 2020–Late Breaking Papers: Universal Access and Inclusive Design: 22nd HCI International Conference, HCII 2020, Copenhagen, Denmark, July 19–24, 2020, Proceedings. Cham: Springer International Publishing, 2020. p. 291-305.
[15] MANOJ, G.; KUMAR BEERANUR, Ravi; PRAKASH, K. R. “Designing a Software Test Automation Framework for Windows Application using Coded UI in Visual Studio Tool and Page Object Design.” i-Manager′s Journal on Software Engineering, 2018, 12.4: 1.
[16] GARG, Navneesh; MITTAL, Vaibhav. “Test Automation using Microsoft Coded UI with C# Step by Step Guide.” 2016.
[17] CHANDRASEKARA, Chaminda; HERATH, P. “Hands-On Functional Test Automation.” Apress, 2019.
[18] NAGARANI, P.; VENKATARAMANACHARY, R. “A tool based approach for automation of GUI applications.” In: 2012 Third International Conference on Computing, Communication and Networking Technologies (ICCCNT′12). IEEE, 2012. p. 1-6.
[19] Use Coded UI tests to test your code [Online]. Available: https://learn.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code?view=vs-2022 [Accessed 11 Jun 2023].
[20] Extend coded UI tests and action recordings [Online]. Available: https://learn.microsoft.com/en-us/visualstudio/test/extending-coded-ui-tests-and-action-recordings-to-support-microsoft-excel?view=vs-2022 [Accessed 13 Jun 2023].
[21] Changes to Coded UI Test in Visual Studio 2019 [Online]. Available: https://devblogs.microsoft.com/devops/changes-to-coded-ui-test-in-visual-studio-2019/ [Accessed 13 Jun 2023].
[22] UiPath [Online]. Available: https://www.uipath.com/ [Accessed 13 Jun 2023].
[23] 劉蓉綺:〈Windows桌面應用程式的擴增實境〉。碩士論文,國立中央大學資訊工程學系,2022。 |