IAccessible Interface

Developed or developing a new product in PureBasic? Tell the world about it.
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

IAccessible Interface

Post by JHPJHP »

-----------------------------------------------------------------------------------

Download IAccessible Interface from My PureBasic Stuff

-----------------------------------------------------------------------------------

Announcements
PureBasic Interface to OpenCV
PureBasic Interface to WinDivert
PureBasic Interface to WinRAR
PureBasic Interface to 7-Zip
PureBasic Interface to ImDisk
Windows Services & Other Stuff
Invading Space Aliens
Death Star vs Asteroids
GIF Toolkit
LSB Image Steganography
Spider Web Drawing
Deform Image: MLS
Video Snipping Tool
Chromium Edge WebGadget
IAccessible Interface
Stitch Images: SIFT
OldSkool Fire Effect
Image Waves: LUT
YouTube Player & Downloader
MP4 Player & Downloader
Large Image Viewer
Barcode Generator
Google Translate Service
Embed JS into PureBasic
Geolocation: Google Maps
Book & Viewer & Magnify
Video for Windows: VfW
Alternate Console
Network Share Management

-----------------------------------------------------------------------------------

IAccessible Interface
This example was originally created to help with my other IAccessible examples, to better understand how the interface references objects and their related hierarchy; based on code by luis.

IAccessible.pb in most cases, will currently find and identify over double the number of objects compared to other PureBasic examples.

Control Window
Enumerate Windows: Double-click item to return relevant data, F5 to refresh; optional filters to show root, visible and windows with titles.
Title / Class: Manually entered (partial text, case insensitive) or populated from Enumerate Windows (includes PID, hWnd).
Executable File: Multiple processes can be created from the same executable, this can be filtered using either the Title or Class fields.
Accessible Object: Sets the AccessibleObjectFromWindow function parameter to filter window objects by category.
Force Windows Z-Order: Keeps the original order, size and position of examined windows after Scan; does not apply to minimized windows.
Smart Scroll: Up/Down arrow keys will only scroll to items with location data, Ctrl key to bypass; opposite is true when unchecked.
Run Minimized: Starts the window scan minimized, should be faster; will auto-restore when complete, or can be restored manually.
Last edited by JHPJHP on Sat Oct 16, 2021 8:56 pm, edited 36 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: IAccessible Interface

Post by JHPJHP »

Updated:
- various improvements

Selecting a list item will draw a red box around the referenced object in the examined window, provided the data is available.
Double-clicking a list item will invoke the default action in the examined window, provided the action is supported by the IAccessible Interface.

NB*: Force Windows Z-Order was a real pain to nail down; works ok on my system, but no guarantees

Image
Last edited by JHPJHP on Sat Sep 11, 2021 12:18 am, edited 3 times in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: IAccessible Interface

Post by JHPJHP »

Updated:
- added a sliding control window
- improved various features
- squashed a couple bugs

NB*: Currently the History list and subsequent database have not been completed.

Image
Last edited by JHPJHP on Thu Sep 09, 2021 5:43 am, edited 1 time in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: IAccessible Interface

Post by JHPJHP »

Updated:
- added window timer to detect if examined window was closed
- removed a slight flicker when the Control window was opened
- squashed a bug when choosing an Accessible Object
- patched a couple DPI issues
- made a small change to selection outline
- some minor cosmetic changes
- added additional error checking
- various other improvements

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: IAccessible Interface

Post by JHPJHP »

Updated:
- finished history database
- numerous improvements
- squashed a couple bugs

History Database
Press the Enter key or double-click an item to return the window data. Press the Delete key on a selected item to remove the record.
The hWnd and PID fields are populated because they're still relevant while the process of a previously scanned window is open.
If a previously scanned window has been closed, make sure to clear the hWnd field before starting a new scan.

Binaries
There are two versions exactly the same, except one runs in admin mode. I noticed that in order to programmatically change the state of a third party window running in admin mode, the program making the request must also be in admin mode.

NB*: A full version demo has been included under FREE STUFF.
Last edited by JHPJHP on Tue Sep 14, 2021 11:30 pm, edited 1 time in total.

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
User avatar
JHPJHP
Addict
Addict
Posts: 1853
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: IAccessible Interface

Post by JHPJHP »

Updated:
- Enumerate Windows
- improved z-order handling
- expanded Title / Class to accept partial, case insensitive text
- expanded Executable File to optionally use Title / Class filters
- fade-in/out select window

Enumerate Windows
Filters Updated: Root windows only, Visible root windows, and root windows with a Title.

NB*: Options are saved to the database when the control window is closed.

Image

STATUS: Mostly Unavailable :: Downloads moved to My PureBasic Stuff; free executables, access key required for source code.
_________________
Post Reply