I've did a little reading, this time> Both WH_JOURNALPLAYBACK and WH_JOURNALRECORD are global for record and play back, they are probably not of much use for you purposes. The MouseProc is application-defined, but it is only called after a mouse message is generated, and again does not seem to be what you need. You may be able to have the DLL send mouse messages directly to your application, based on the stylus position. If the resolution of the stylus is higher than the mouse resolution (which it sounds like it is), then you will have to calculate the relitive screen position from the given stylus position. If the relitive screen position changes: 1) save the position as current position and 2) Post (recommended) a mouse message to the application. You should only need to post a new message if the relitive mounse position changes; that is if the new calculated pixel position does not equal current position. There should be some articles on posting mouse messages, some where. I do not know if any of that helps, but my times up. Good Luck! INTP "The more help VB provides VB programmers, the more miserable your life as a C++ programmer becomes." Andrew W. Troelsen