Solved

Windows 95 Spy APIs

Posted on 1997-12-22
4
318 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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
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…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

706 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

14 Experts available now in Live!

Get 1:1 Help Now