This commit is contained in:
174
HookMsg/MISC.Cpp
Normal file
174
HookMsg/MISC.Cpp
Normal file
@@ -0,0 +1,174 @@
|
||||
/*****************************************************************************\
|
||||
*
|
||||
* Module: misc.c
|
||||
*
|
||||
* Contains miscellaneous routines for the Windows debugging Spy SDK applet.
|
||||
*
|
||||
* Functions:
|
||||
*
|
||||
* ReadRegistry()
|
||||
* WriteRegistry()
|
||||
*
|
||||
* Comments:
|
||||
*
|
||||
\*****************************************************************************/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "spy.h"
|
||||
#include <string.h>
|
||||
|
||||
|
||||
HKEY ghkeySpy = NULL;
|
||||
CHAR gszSpyAppKey[] = "Software\\Yourisoft\\HookMsg";
|
||||
CHAR gszKeyPosition[] = "Position";
|
||||
|
||||
//LPSTR StripExtension(LPSTR pszFileName);
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************\
|
||||
* ReadRegistry
|
||||
*
|
||||
* Opens (creates if necessary) the registry key for spy preferences and then
|
||||
* reads the last saved values.
|
||||
*
|
||||
* Arguments:
|
||||
* none
|
||||
*
|
||||
* Returns:
|
||||
* VOID
|
||||
\*****************************************************************************/
|
||||
|
||||
VOID
|
||||
ReadRegistry(
|
||||
VOID
|
||||
)
|
||||
{
|
||||
DWORD dwType;
|
||||
DWORD cbData;
|
||||
|
||||
RegCreateKey(HKEY_CURRENT_USER, gszSpyAppKey, &ghkeySpy);
|
||||
|
||||
cbData = gwndpl.length = sizeof(gwndpl);
|
||||
if (!ghkeySpy || RegQueryValueEx(ghkeySpy, gszKeyPosition, NULL, &dwType,
|
||||
(LPBYTE)&gwndpl, &cbData) != ERROR_SUCCESS)
|
||||
{
|
||||
gwndpl.length = 0;
|
||||
}
|
||||
|
||||
if (gwndpl.length != sizeof(gwndpl))
|
||||
{
|
||||
/* gwndpl.length = sizeof(gwndpl);
|
||||
gwndpl.flags = 0;
|
||||
gwndpl.showCmd = SW_SHOWNORMAL;
|
||||
gwndpl.ptMinPosition.x = 0;
|
||||
gwndpl.ptMinPosition.y = 0;
|
||||
gwndpl.ptMaxPosition.x = 0;
|
||||
gwndpl.ptMaxPosition.y = 0;
|
||||
gwndpl.rcNormalPosition.left = 10;
|
||||
gwndpl.rcNormalPosition.top = 10;
|
||||
gwndpl.rcNormalPosition.right =
|
||||
10 + (GetSystemMetrics(SM_CXSCREEN) / 3);
|
||||
gwndpl.rcNormalPosition.bottom =
|
||||
10 + (GetSystemMetrics(SM_CYSCREEN) / 3);
|
||||
*/ }
|
||||
/*
|
||||
for( int i=0; i< MAX_FIND; i++ )
|
||||
{
|
||||
cbData = sizeof(HWND);
|
||||
TCHAR szKeyName[100] = {0,};
|
||||
wsprintf( szKeyName, "HWND_%d", i );
|
||||
if (!ghkeySpy || RegQueryValueEx(ghkeySpy, szKeyName, NULL, &dwType,
|
||||
(LPBYTE)&g_theApp.m_hFindWindow[i], &cbData) != ERROR_SUCCESS)
|
||||
{
|
||||
g_theApp.m_hFindWindow[i] = NULL;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************\
|
||||
* WriteRegistry
|
||||
*
|
||||
* Writes out preference data to the registry when the app exits, then
|
||||
* closes the registry key.
|
||||
*
|
||||
* Arguments:
|
||||
* none
|
||||
*
|
||||
* Returns:
|
||||
* VOID
|
||||
\*****************************************************************************/
|
||||
|
||||
VOID
|
||||
WriteRegistry(
|
||||
VOID
|
||||
)
|
||||
{
|
||||
if (ghkeySpy)
|
||||
{
|
||||
WINDOWPLACEMENT wndpl;
|
||||
wndpl.length = sizeof(WINDOWPLACEMENT);
|
||||
::GetWindowPlacement( AfxGetApp()->GetMainWnd()->m_hWnd, &wndpl);
|
||||
RegSetValueEx(ghkeySpy, gszKeyPosition, 0, REG_BINARY,
|
||||
(LPBYTE)&wndpl, sizeof(wndpl));
|
||||
/*
|
||||
for( int i=0; i< MAX_FIND; i++ )
|
||||
{
|
||||
TCHAR szKeyName[100] = {0,};
|
||||
wsprintf( szKeyName, "HWND_%d", i );
|
||||
RegSetValueEx(ghkeySpy, szKeyName, 0, REG_DWORD,
|
||||
(LPBYTE)&g_theApp.m_hFindWindow[i], sizeof(DWORD));
|
||||
}
|
||||
*/
|
||||
|
||||
// RegSetValueEx(ghkeySpy, gszKeyHWND1, 0, REG_BINARY,
|
||||
// (LPBYTE)g_theApp.m_hFindWindow[0], sizeof(HWND));
|
||||
// RegSetValueEx(ghkeySpy, gszKeyFileName, 0, REG_SZ,
|
||||
// (LPBYTE)gszFile, (lstrlen(gszFile) + 1) * sizeof(TCHAR));
|
||||
|
||||
RegCloseKey(ghkeySpy);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************\
|
||||
* StripExtension
|
||||
*
|
||||
* Strips the extension off of a filename.
|
||||
*
|
||||
* Arguments:
|
||||
* LPSTR pszFileName - File name to process.
|
||||
*
|
||||
* Returns:
|
||||
* Returns a pointer to the beginning of the filename. The extension
|
||||
* will have been stripped off.
|
||||
*
|
||||
\*****************************************************************************/
|
||||
/*
|
||||
PRIVATE LPSTR
|
||||
StripExtension(
|
||||
LPSTR pszFileName
|
||||
)
|
||||
{
|
||||
LPSTR p = pszFileName;
|
||||
|
||||
while (*p)
|
||||
p++;
|
||||
|
||||
while (p > pszFileName && *p != '\\' && *p != ':') {
|
||||
p = CharPrev(pszFileName, p);
|
||||
if (*p == '.') {
|
||||
*p = 0;
|
||||
}
|
||||
}
|
||||
if (*p == '\\' || *p == ':') {
|
||||
p++;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user