initial oogynize check in _ this actually used to work!

This commit is contained in:
2016-02-14 21:16:31 -08:00
parent b183af5d55
commit 532ea133bc
337 changed files with 30692 additions and 0 deletions

153
Hooks/ButtonHook/Stdafx.cpp Normal file
View File

@@ -0,0 +1,153 @@
// stdafx.cpp : source file that includes just the standard includes
// Ooganizer-Hook.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
//////////////////////////////////////////////////////////////////////
// Func: SetLoggingDetail()
//////////////////////////////////////////////////////////////////////
void SetLoggingDetail(LoggingDetail detail, wchar_t* logPath)
{
#ifdef _DEBUG
g_LoggingDetail = LOGGING_DEBUG;
#else
g_LoggingDetail = detail;
#endif
// If the log path is set externally set it here internally
// else set the log path to %USERPROFILE%\AppData\Local\Temp
if(logPath && logPath[0] != 0)
{
lstrcpyn(g_LogPath, logPath, (MAX_PATH - lstrlen(g_LOG_FILE_NAME)));
}
else
{
size_t len = 0;
errno_t err = 0;
wchar_t* pValue = NULL;
if(err = _wdupenv_s( &pValue, &len, L"TMP"))
if(err = _wdupenv_s( &pValue, &len, L"TEMP"))
return;
if(pValue != NULL)
lstrcpyn(g_LogPath, pValue, (MAX_PATH - lstrlen(g_LOG_FILE_NAME)));
}
// Make sure Path ends with '\'
if(g_LogPath[lstrlen(g_LogPath) - 1] != L'\\')
lstrcat(g_LogPath, L"\\");
// Add the Log File name to the path variable (now we have everything)
// ~we are ready to do some serious logging
lstrcat(g_LogPath,g_LOG_FILE_NAME);
}
//////////////////////////////////////////////////////////////////////
// Func: GetLoggingDetail()
//////////////////////////////////////////////////////////////////////
_LoggingDetail GetLoggingDetail()
{
return g_LoggingDetail;
}
//////////////////////////////////////////////////////////////////////
// Func: log()
// Desc: Logs to Ooganizer.log in defined LogPath or temporary folder
// Prms: Variable # of params
//
// Usge: Log("%s %d %d %d", "test", 1, 2, 3)
//////////////////////////////////////////////////////////////////////
//void log( LoggingDetail detail, char * pFmt, ... )
//{
// if(g_LoggingDetail >= detail)
// {
// FILE* pFile = NULL;
// errno_t err = 0;
//
// if ( !( err = fopen_s( &pFile, g_LogPath, "at" ) ) )
// {
// fprintf( pFile, "ThreadId %i -", GetCurrentThreadId());
// va_list arg;
// va_start( arg, pFmt );
// vfprintf( pFile, pFmt, arg );
// va_end( arg );
//
// if ( pFmt[strlen( pFmt ) - 1] != '\n' )
// fprintf( pFile, "\n" );
// fclose( pFile );
// }
// }
//}
//////////////////////////////////////////////////////////////////////
// Func: log()
// Desc: Logs to Ooganizer.log in defined LogPath or temporary folder using Wide Char
// Prms: Variable # of params
//
// Usge: Log("%s %d %d %d", "test", 1, 2, 3)
//////////////////////////////////////////////////////////////////////
void log( LoggingDetail detail, wchar_t * pFmt, ... )
{
if(g_LoggingDetail >= detail)
{
FILE* pFile = NULL;
errno_t err = 0;
if ( !( err = _wfopen_s( &pFile, g_LogPath, L"at" ) ) )
{
if(detail == LOGGING_LOW)
fwprintf( pFile, L"ThreadId %i - [Imp] - ", GetCurrentThreadId()); // low == very important messages
else if(detail == LOGGING_MEDIUM)
fwprintf( pFile, L"ThreadId %i - {P/D} - ", GetCurrentThreadId()); // medium == program details
else if(detail == LOGGING_HIGH)
fwprintf( pFile, L"ThreadId %i - {X/D} - ", GetCurrentThreadId()); // high == more program details (extra}
else if(detail == LOGGING_DEBUG)
fwprintf( pFile, L"ThreadId %i - Debug - ", GetCurrentThreadId()); // debug == only show up in debug builds (Debug Only)
else
fwprintf( pFile, L"ThreadId %i - <N/A> - ", GetCurrentThreadId()); // should never happen
va_list arg;
va_start( arg, pFmt );
vfwprintf( pFile, pFmt, arg );
va_end( arg );
if ( pFmt[lstrlen( pFmt ) - 1] != '\n' )
fwprintf( pFile, L"\n" );
fclose( pFile );
}
}
}
//////////////////////////////////////////////////////////////////////
// Func: log()
// Desc: Logs the window title text to the Log File
// Prms: HWND, handle to a window
// str, custom string to log
//
// Note: GetWindowText doesn't always return TRUE, if this function
// gets called during the WndProc it will return False
//////////////////////////////////////////////////////////////////////
void log(LoggingDetail detail, HWND hWnd, wchar_t* str)
{
if(g_LoggingDetail >= detail)
{
wchar_t Title[MAX_PATH + 1] = {0};
if (GetWindowText(hWnd,Title,MAX_PATH))
log(detail, L"Window - %s - %s", Title, str);
}
}
//////////////////////////////////////////////////////////////////////
// Func: clearLog()
// Desc: clears the log file (used at startup) - Only Clears if Logging is enabled
//////////////////////////////////////////////////////////////////////
void clearLog()
{
if(g_LoggingDetail != LOGGING_NONE)
{
FILE* pFile = NULL;
errno_t err = 0;
if( !( err = _wfopen_s( &pFile, g_LogPath, L"w" ) ) )
fclose( pFile );
}
}