Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Program that hooks another program's thread, having problems....

Posted on 2003-10-31
3
Medium Priority
?
214 Views
Last Modified: 2010-04-17
I have inherited a program written in Visual C++ 6 that works behind the scenes to hook another application and monitor the user's keystroke activity in that target program.  The hooking program was originally written for Windows 95.  I have been asked to upgrade it and migrate it to Windows 2000 and Windows XP.  However, I have a problem.  The hooking program cycles in the background looking for instances of the target application and then hooks the process and thread of the given instance, allowing the target program to have as many instances up on the desktop as the user wants.  The hooking program saves off process and threadids, along with window ids to a collection object and when a specific window in a particular instance of the target application has focus, the hooking application monitors that instance of the target application.  This is how the program works on Windows 95.  However, when I run this program on a machine with either Windows 2000 or Windows XP I cannot activate more than one instance of the target program, otherwise I get the "Switch To", "Retry", "Cancel" error box and the desktop freezes up.  This hooking program was patterned after code found in the book, Programming Applications for Microsoft Windows by Jeffrey Richter, using much of Chapter 22 quidance.  This is a program that uses API hooking and the API functions to locate instances of specific windows.  However, no matter what I try to do to debug this program, I cannot figure out why it does not allow more than one instance of the target application to appear on the desktop at any given moment on a computer using the Windows 2000 or Windows XP operating systems, and why any effort to increase the number of instances of the target application running on the desktop freezes up the computer.  Any information, or help would be greatly appreciated.

Thank you.
0
Comment
Question by:Hawkeye67
  • 2
2 Comments
 
LVL 6

Expert Comment

by:GloomyFriar
ID: 9657913
It's rather difficult to help without looking at the code in this case.
I can only recommend the following link:
http://www.codeproject.com/system/hooksys.asp
0
 
LVL 6

Accepted Solution

by:
GloomyFriar earned 1500 total points
ID: 9657978
Just register (it's free) to get source codes there.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Make the most of your online learning experience.
If you are a mobile app developer and especially develop hybrid mobile apps then these 4 mistakes you must avoid for hybrid app development to be the more genuine app developer.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Loops Section Overview

782 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question