Sunday, November 23, 2008

COM hooking research

This post is gonna be a work in progress. What I am trying to embark on is the possibility of inserting hooks to a running COM server to perform automated testing. I have seen applications tried to do this, like TestPartner, but it is crashing my application under test. Summary of available tools that may have a working COM server hooks: TestPartner  - they have ComSpy but this is crashing my application under test. COMslicer - from the help file. COMslicer is a utility that displays information about COM/DCOM components’ activity. It reports all methods and properties called by a client of a COM component and shows values for input/output parameters. COMslicer also reports creation and destroying of COM objects as well as raising events by COM objects. It keeps track of reference counting and interfaces queried by a client. COMslicer works on Windows 98/Me/ NT4/2K. But it seems to me that the development of this tools has halted. A quick visit to their website does not event mention about COMslicer software, rather it shows topics about food stuff. I tried installing the software in Vista and it chokes up, so this one is no good for me as my target applications need to run in Vista and Windows Server 2008

Below are some of the information I have scoured over in the internet that may help in COM spying. DLL injection, Detours and Deviare looks interesting.
Component Object Model (link ) - This wikipedia article discussed the history of COM and some high level details.
GUI Hooking
What are test hooks? link
The use of P/Invoke in Automation (.net link )
How to set a Windows hook in Visual C# .NET (link ) Windows Automation API 3.0 Overview (link ) GUI Automation with pyAA (link )
Advanced
SpyStuio - http://www.nektra.com/products/spystudio
Automating Windows Applications - http://www.codeproject.com/KB/COM/automatingwindowsapps.aspx?fid=13658&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26
Discusses about advanced hooking/spying techniques

Sunday, November 16, 2008

Google maps on BlackBerry

Google have mobilized their Google Maps and should now be available in BlackBerry. Actually this has been available in BB eons ago (at least when talking about how fast things change in the Net).

Unfortunately, not all cities have as good coverage as in the US. But it is still a nice to have application in your BB device, anyway if you stay in non-English region and you happen to not understand the local language or in some cases Google shows language that is not really the local language (like maybe your internet gateway is located somewhere else) then you can still force to view the English language, thus say:

http://m.google.com/maps?hl=en


~ts

English Blogger draft on BlackBerry Asia Region

When you are in Asia,draft.blogger.com tries to automatically detect your location and sets the UI to the language that was detected by Google. Unfortunately, sometimes the gateway is provided outside of the country mostly from Hongkong. This leaves you with a Chinese interface which I can't really understand. This is even more challenging if you are trying to access sites using BlackBerry.

Anyway, to access Blogger Draft in English, use the following URL:
http://draft.blogger.com/mobile-start.g?hl=en

~ts

Monday, November 10, 2008

InstallShield crashing when run from a remote machine using STAF

I have been using STAF/STAX for a while now as a framework on top of software test automation. When we started moving some of our tests in Windows Vista noticed that there have been cases where uninstallation of the software under test is crashing. I thought it was some component not playing well with Windows Vista but I when I tried to perform the uninstallation sequence manually everything was fine and dandy. So I started digging around and I found out that in Windows Vista, the following command may fail.

C:\>staf remotemachine process start command "C:\PROGRA~1\COMMON~1\INSTAL~1\Driver\1150\INTEL3~1\IDriver.exe /M^{1CD6500F-DE1E-44AC-A279-4C85247A9A85^}"

Poking around even more and I finally found a workaround, to get the above command working in Vista, do:

C:\>staf remotemachine process start shell command "C:\PROGRA~1\COMMON~1\INSTAL~1\Driver\1150\INTEL3~1\IDriver.exe /M^{1CD6500F-DE1E-44AC-A279-4C85247A9A85^}"
Notice the use of shell to make this command to work. I would have loved to know why this is causing problem in Windows Vista and not in XP/W2k3.

~ts

Monday, November 03, 2008

wxPython nuggets

Sample code playing around canvas, cursors, images.
Another wxPython Tutorial
The wxPython Tutorial - The wxPython tutorial is the largest and most advanced wxPython tutorial available on the Internet. Suitable for beginners and intermediate programmers
Rubberbanding in wxPython

Add items to Vista Send To Menu

This is the Microsoft Windows Vista Send To:
Adding item to Sent To menu in Vista is easy, just create an item (the item can be a shortcut, a small application, a folder etc..). The location of this folder is in:

%APPDATA%\Microsoft\Windows\SendTo

You can type this in Run dialog (Window+R), in Start Search box, in Windows Explorer locator bar. Another shortcut to this is :
Shell:sendto

As before you can type this in Run Dialog(Window+R) or Windows Search bar

~ts

Installing QNX 6.4.1 on Ubuntu 20.04

Installing QNX 6.4.1 on Ubuntu 20.04 Install pre-requisites $: sudo dpkg --add-architecture i386 $: sudo apt update $: sudo apt install li...