Solved

Windows 95 Spy APIs

Posted on 1997-12-22
4
320 Views
Last Modified: 2013-12-03
There is a Windows 95 DLL named WSIHK32.DLL which (from loading it up as a text-file
and viewing it) appears to contain the following functions:

@__lockDebuggerData$qv
@__unlockDebuggerData$qv
ShkAddInfo
ShkCallWndProcHook
ShkFindInfo
ShkFini
ShkGetMessageHook
ShkIniDrawTreeBits
ShkInit
ShkLiteIndex
ShkUpdateInfo
SpyAppendBitNames
SpyBitNames
SpyCancelFindWindowMode
SpyChooseDiamond
SpyCloseMutex
SpyFindClassInfo
SpyFindMsgInfo
SpyFlushTraceMsg
SpyFormatChar
SpyFormatClassName
SpyFormatWindowPos
SpyGetClassInfoIdx
SpyGetIndexRect
SpyGetInfo
SpyGetMutex
SpyGetNextProcessInfo
SpyGetProcessInfo
SpyGetTraceLostCount
SpyGetTraceMsg
SpyGetTrueParent
SpyGetWindowRectInParent
SpyGrabMem
SpyGrabString
SpyIndexOfClass
SpyIndexOfWindow
SpyInfoOfIndex
SpyKeyName
SpyLineOfIndex
SpyLoadExtDlls
SpyMarkWindow
SpyMemoryBox
SpyOpenMutex
SpyPaintClassStyle
SpyPaintNonzeroHiLP
SpyPaintNonzeroLP
SpyPaintNonzeroLoLP
SpyPaintNonzeroWP
SpyPaintWinExStyle
SpyPaintWinStyle
SpyRegisterClassInfo
SpyReleaseMutex
SpyScreenRectToClient
SpyTraceProcess
SpyUnloadExtDlls
SpyUpdateInfoTitle
SpyValueName
SpyVisibleIndex
TreGetScrollRange
WfoAddAtom
WfoCheckAllClasses
WfoDeleteAtom
WfoFindAtom
WfoGetModuleName
_Shk_fDebug3
_Shk_fDebug4
_Shk_fGrabDebugLog
_Shk_fPaintDebugLog
_Shk_uiSema4Timeout
_Spy_Frame
_Spy_aClassDInfo
_Spy_aTraceMsg
_Spy_aTreeDInfo
_Spy_afMsgSelected
_Spy_ahmodDll
_Spy_apClassInfo
_Spy_apfnMsgPainter
_Spy_cmdTrace
_Spy_cxFrame
_Spy_cxScrollIncr
_Spy_cxTreeBits
_Spy_cyFrame
_Spy_cySysChar
_Spy_fCheckTree
_Spy_fTraceAll
_Spy_fTraceNew
_Spy_fTraceOther
_Spy_fs
_Spy_fsOptions
_Spy_hbmpTree
_Spy_hdcBits
_Spy_hinst
_Spy_hwndDesktop
_Spy_hwndDoodle
_Spy_hwndFrame
_Spy_lpClassInfoFirst
_Spy_lpScratchSeg
_Spy_msgNew
_Spy_nIgnoreLevel
_Spy_szDebugMsgLog
_Spy_szExtDLLProf
_Spy_szTemp
_Spy_wWinVer
__DebuggerHookData
_dbg1
_dbg2
_dbg3
_dbg4
_fCloseDown
_fLoadWindows
_fstrncpyz

Where can I find details on how to declare them (ie. their prototype) and
descriptions of their functionality?
0
Comment
Question by:DavidDunn
  • 3
4 Comments
 
LVL 32

Accepted Solution

by:
jhance earned 50 total points
ID: 1409685
The program and DLL referenced above is documented (including source code) on the MSDN (Microsoft Developer Network) CDROM.  Since the code says it is copyrighted I cannot reproduce it here but I can recommend that if you plan on doing any serious Windows development, you should subscribe to it youself anyway.

The information you need will be on the LIBRARY CDROM and you can get it with any subscription level.  I'd recommend the PROFESSIONAL, however.
0
 

Author Comment

by:DavidDunn
ID: 1409686
Could You give the exact location - I have the MSDN Library Visual Studio edition but I cannot find it.
0
 
LVL 32

Expert Comment

by:jhance
ID: 1409687
Just search for keyword SPY.  One of the items is at: mk:@ivt:vcsample/F14/F1D/D3E/S1CD56.HTM

SPY: Monitoring Messages with SPY

Click to open or copy the Spy project files.


The Spy tool demonstrates how to monitor system messages sent to a specified window. Spy records the messages and displays them on the specified device. Spy is also useful in debugging, to verify that the messages you think a window is receiving are actually being received.

Spy demonstrates the following techniques:

Using a system message hook.
Using the WM_COPYDATA message to pass data to another application.
Reading and writing the registry.
Creating a thread.
Creating a DLL for the hook.
0
 
LVL 32

Expert Comment

by:jhance
ID: 1409688
I don't know if the Visual Studio Library Edition has the SDK Samples.  BTW, the above reference is from the Oct97 issue.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

As more and more people are shifting to the latest .Net frameworks, the windows presentation framework is gaining importance by the day. Many people are now turning to WPF controls to provide a rich user experience. I have been using WPF controls fo…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

914 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now