When you are working with various applications on the Windows desktop, sometimes it’s nice to be able to scour the running processes for particular information, seen visually within the application or hiding behind the scenes, and then export said information out into a report file for further viewing. A situation where this would be useful is in the event of an error or informational message that might show up while using any piece of the operating system or installed software. You might want to analyze it further beyond what can be seen on the mere surface, and that’s where a Windows application control analyzer comes in to play.
- Title: SysExporter
- Author: NirSoft
- Product URL: http://www.nirsoft.net/utils/sysexp.html
- Supported OS: Windows NT, 2000, XP, Vista, 7 and 8
- Price: Freeware
- Bottom Line: NirSoft’s window control analysis utility knocks it out of the ballpark with the ability to inspect and export information from a variety of data sources in nearly every application.
SysExporter is a tool by the guys at NirSoft which lends itself to this magic of software investigation. Many Windows applications are composed of various controls, which contain data that is ripe for harvesting. According to NirSoft, data that is found within “standard list-views, tree-views, list boxes, combo boxes, text-boxes, and WebBrowser/HTML controls” can be extracted to XML or HTML files for further examination.
As a matter of example, I started Internet Explorer and opened a tab to Bing.com. Once SysExporter detected the running process, it scanned the IE window and presented three slices of data known as “Window Class” objects. One containing window data (such as the window title), another containing the contents of the web page in raw HTML code, and finally a DirectUI type.
Where SysExporter could become useful in this situation is if you are trying to troubleshoot a bug and need to peel back the layers of software and figure out what could be causing problems. Another neat idea for using SysExporter is to gather lists of things, such as filenames or attributes.
A good example of this can be seen by launching a Windows Explorer instance, opening any particular directory with files, adding columns for file type and date and then letting SysExporter analyze the window contents. You can then export all the information contained within the window to read back or to import into another application to process the filenames.
If you have several windows open at once and you need to target a specific window control, you can click and drag the target reticle icon located on the toolbar over the desired window element. From there, SysExporter will highlight the appropriate layer so that you can read out the correct information.
Let’s say I have several Explorer windows open with different directories opened in each. I can drag the reticle over a specific tree-view list contained in one window, and SysExplorer will snap to that element and instantly deliver the desired results you need.
You can drag the reticle anywhere (as designated by the red arrow) and view the results accordingly
Finally, within the context of SysExporter, you can specify which elements the utility can show you or generate in a report by enabling or disabling filters. Perhaps you just want filenames contained within a dialog, but not details of the dialog box’s actual composition. You can toggle that with ease within the Filter drop down located on the File menu. This way when you go to export your findings to an XML report, you aren’t inundated with information you don’t need or didn’t want to collect in the first place.
NirSoft has done a fine job with this freeware gem. SysExporter is a must-have for those who wish to inspect window elements at the object level for diagnostic and data harvesting needs. The utility is also portable, thus it can be loaded right onto a thumb drive and launched at will, ready to serve on command. It should also be noted that this tool is incredibly small, 45 kilobytes in size, and is incredibly fast. Of course, knowing NirSoft, they seem to have an obsession with fast and tiny code in general.