From: <ma...@us...> - 2003-05-13 07:16:23
|
Update of /cvsroot/decaldev/source/DenAgent In directory sc8-pr-cvs1:/tmp/cvs-serv26493/DenAgent Modified Files: AutoUpdate.cpp TrayWnd.cpp TrayWnd.h Added Files: DenAgent.vcproj Log Message: Update everything for VC7.1, add project files, solution files, installer. --- NEW FILE: DenAgent.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="DenAgent" SccProjectName="" SccLocalPath="" Keyword="MFCProj"> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Release|Win32" OutputDirectory=".\..\Release" IntermediateDirectory=".\Release" ConfigurationType="1" UseOfMFC="2" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="4" GlobalOptimizations="TRUE" InlineFunctionExpansion="1" EnableIntrinsicFunctions="TRUE" FavorSizeOrSpeed="2" OmitFramePointers="TRUE" AdditionalIncludeDirectories="..\Include" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" RuntimeLibrary="2" UsePrecompiledHeader="3" PrecompiledHeaderThrough="stdafx.h" PrecompiledHeaderFile=".\Release/DenAgent.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" BrowseInformation="1" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" IgnoreImportLibrary="TRUE" AdditionalDependencies="version.lib shlwapi.lib forcelibrary.lib" OutputFile=".\..\Release/DenAgent.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\Include" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\..\Release/DenAgent.pdb" SubSystem="2" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" AdditionalIncludeDirectories="..\Include" SuppressStartupBanner="TRUE" TargetEnvironment="1" GenerateStublessProxies="TRUE" TypeLibraryName=".\..\Release/DenAgent.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="4105"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Debug|Win32" OutputDirectory=".\..\Debug" IntermediateDirectory=".\Debug" ConfigurationType="1" UseOfMFC="2" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\Include" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="3" PrecompiledHeaderThrough="stdafx.h" PrecompiledHeaderFile=".\Debug/DenAgent.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" IgnoreImportLibrary="TRUE" AdditionalDependencies="version.lib shlwapi.lib forcelibrary.lib" OutputFile=".\..\Debug/DenAgent.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\Include" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\..\Debug/DenAgent.pdb" SubSystem="2" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" AdditionalIncludeDirectories="..\Include" SuppressStartupBanner="TRUE" TargetEnvironment="1" GenerateStublessProxies="TRUE" TypeLibraryName=".\..\Debug/DenAgent.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="4105"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="AddRemoveDlg.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="AutoUpdate.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="BindStatusCallback.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="ChangePluginDirectory.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="DenAgent.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="DenAgent.idl"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCMIDLTool" PreprocessorDefinitions="" AdditionalIncludeDirectories="" TargetEnvironment="1" HeaderFileName="DenAgent_i.h" InterfaceIdentifierFileName="DenAgent_i.c"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCMIDLTool" PreprocessorDefinitions="" AdditionalIncludeDirectories="" TargetEnvironment="1" HeaderFileName="DenAgent_i.h" InterfaceIdentifierFileName="DenAgent_i.c"/> </FileConfiguration> </File> <File RelativePath="DenAgent.rc"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="" AdditionalIncludeDirectories="$(OUTDIR)"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="" AdditionalIncludeDirectories="$(OUTDIR)"/> </FileConfiguration> </File> <File RelativePath="DenAgentDlg.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="DownloadDlg.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="DownloaderDlg.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="OptionsDlg.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="StdAfx.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" UsePrecompiledHeader="1" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" UsePrecompiledHeader="1"/> </FileConfiguration> </File> <File RelativePath="TrayWnd.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> <File RelativePath="URLCallback.cpp"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> <File RelativePath="AddRemoveDlg.h"> </File> <File RelativePath="AutoUpdate.h"> </File> <File RelativePath="BindStatusCallback.h"> </File> <File RelativePath="ChangePluginDirectory.h"> </File> <File RelativePath="DenAgent.h"> </File> <File RelativePath="DenAgentDlg.h"> </File> <File RelativePath="DownloadDlg.h"> </File> <File RelativePath="DownloaderDlg.h"> </File> <File RelativePath="OptionsDlg.h"> </File> <File RelativePath="Resource.h"> </File> <File RelativePath="StdAfx.h"> </File> <File RelativePath="TrayWnd.h"> </File> <File RelativePath="URLCallback.h"> </File> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> <File RelativePath="res\bitmap1.bmp"> </File> <File RelativePath="res\cursor1.cur"> </File> <File RelativePath="res\DenAgent.ico"> </File> <File RelativePath="res\DenAgent.rc2"> </File> <File RelativePath="DenAgent.rgs"> </File> <File RelativePath="res\groups.bmp"> </File> <File RelativePath="res\idr_tray.ico"> </File> <File RelativePath="Images.bmp"> </File> <File RelativePath="ImagesMask.bmp"> </File> <File RelativePath="res\version_.bmp"> </File> </Filter> <File RelativePath="ReadMe.txt"> </File> </Files> <Globals> </Globals> </VisualStudioProject> Index: AutoUpdate.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/AutoUpdate.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AutoUpdate.cpp 1 Apr 2003 23:49:04 -0000 1.7 --- AutoUpdate.cpp 13 May 2003 07:16:12 -0000 1.8 *************** *** 406,410 **** std::string tmpFile = (m_DecalDir + "\\" + aUSource.getDestination() + ".tmp"); ! if( DeleteFile( newFile.c_str() ) ) { MoveFile(tmpFile.c_str(), newFile.c_str()); --- 406,418 ---- std::string tmpFile = (m_DecalDir + "\\" + aUSource.getDestination() + ".tmp"); ! BOOL bResult = ::DeleteFile (newFile.c_str ()); ! DWORD dwLastError = 0; ! ! if (!bResult) ! { ! dwLastError = ::GetLastError (); ! } ! ! if (bResult || dwLastError == ERROR_FILE_NOT_FOUND) { MoveFile(tmpFile.c_str(), newFile.c_str()); *************** *** 431,435 **** --- 439,445 ---- // Delete failed - file is in use else + { MessageBox(NULL, "A file being updated is in use - close programs and try again.", "Decal", MB_OK); + } } Index: TrayWnd.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/TrayWnd.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TrayWnd.cpp 20 Apr 2002 20:29:52 -0000 1.4 --- TrayWnd.cpp 13 May 2003 07:16:12 -0000 1.5 *************** *** 6,11 **** #include "TrayWnd.h" #include "DenAgentDlg.h" - #include "..\Inject\InjectApi.h" #ifdef _DEBUG --- 6,13 ---- #include "TrayWnd.h" + //#include "madCodeHookLib.h" + #include "forcelib.h" + #include "DenAgentDlg.h" #ifdef _DEBUG *************** *** 24,28 **** CTrayWnd::CTrayWnd() ! : m_pDialog( NULL ) { } --- 26,30 ---- CTrayWnd::CTrayWnd() ! : m_pDialog( NULL ), m_uiTimer( NULL ) { } *************** *** 36,39 **** --- 38,42 ---- ON_WM_CREATE() ON_WM_DESTROY() + ON_WM_TIMER() ON_COMMAND(ID_SYSTRAY_CONFIGURE, OnSystrayConfigure) ON_COMMAND(ID_SYSTRAY_EXIT, OnSystrayExit) *************** *** 100,104 **** } else ! ::InjectEnable(); // Create the system tray icon --- 103,109 ---- } else ! { ! m_uiTimer = SetTimer (1, 250, NULL); ! } // Create the system tray icon *************** *** 117,121 **** DestroyIcon(nid.hIcon); ! return 0; } --- 122,137 ---- DestroyIcon(nid.hIcon); ! ! // Get the image path (path of parent executable) ! TCHAR szImagePath[ MAX_PATH ]; ! ::GetModuleFileName( NULL, szImagePath, MAX_PATH ); ! ! LPTSTR strProcessName = ::_tcsrchr( szImagePath, _T( '\\' ) ); ! *( strProcessName + 1 ) = _T( '\0' ); ! ! CRegKey key; ! key.Create( HKEY_LOCAL_MACHINE, _T( "SOFTWARE\\Decal\\Agent" ) ); ! key.SetValue( szImagePath, _T( "AgentPath" ) ); ! return 0; } *************** *** 134,141 **** ::Shell_NotifyIcon( NIM_DELETE, &nid ); ! if( bEnabled ) ! ::InjectDisable(); ::CoUninitialize(); } --- 150,243 ---- ::Shell_NotifyIcon( NIM_DELETE, &nid ); ! ! if (m_uiTimer) ! { ! KillTimer (m_uiTimer); ! m_uiTimer = 0; ! } ::CoUninitialize(); + } + + void CTrayWnd::OnTimer (UINT_PTR nIDEvent) + { + static HWND s_hLastInject = NULL; + + HWND hLobby = ::FindWindow (_T("ZoneLobbyWindow"), NULL); + + if (hLobby != NULL && hLobby != s_hLastInject) + { + s_hLastInject = hLobby; + + DWORD dwProcessId = 0; + + ::GetWindowThreadProcessId (hLobby, &dwProcessId); + + if (dwProcessId != 0) + { + CRegKey key; + + HRESULT hr = key.Open (HKEY_LOCAL_MACHINE, _T("Software\\Decal\\Agent"), KEY_READ); + + TCHAR szDllPath [MAX_PATH]; + ::ZeroMemory (szDllPath, sizeof (szDllPath)); + if (hr == ERROR_SUCCESS) + { + DWORD dwChars = MAX_PATH - 1; + hr = key.QueryStringValue (_T("AgentPath"), szDllPath, &dwChars); + + if (hr == ERROR_SUCCESS) + { + lstrcat (szDllPath, _T("\\LobbyHook.dll")); + } + else + { + DWORD dwError = ::GetLastError (); + char szBuffer[256]; + + ::sprintf (szBuffer, "Couldn't query AgentPath value: 0x%08lx", dwError); + ::MessageBox (NULL, szBuffer, _T("DenAgent"), MB_OK); + } + } + else + { + DWORD dwError = ::GetLastError (); + char szBuffer[256]; + + ::sprintf (szBuffer, "Couldn't open HKLM\\Software\\Decal\\Agent key: 0x%08lx", dwError); + ::MessageBox (NULL, szBuffer, _T("DenAgent"), MB_OK); + } + + if (szDllPath[0]) + { + HMODULE hLib = (HMODULE) ForceLibraryNow (dwProcessId, szDllPath); + + if (hLib == NULL) + { + DWORD dwError = ::GetLastError (); + char szBuffer[256]; + + ::sprintf (szBuffer, "ForceLibraryNow failed: 0x%08lx", dwError); + ::MessageBox (NULL, szBuffer, _T("DenAgent"), MB_OK); + } + } + else + { + DWORD dwError = ::GetLastError (); + char szBuffer[256]; + + ::sprintf (szBuffer, "DLL path was blank: 0x%08lx", dwError); + ::MessageBox (NULL, szBuffer, _T("DenAgent"), MB_OK); + } + } + else + { + DWORD dwError = ::GetLastError (); + char szBuffer[256]; + + ::sprintf (szBuffer, "Couldn't get process id: 0x%08lx", dwError); + ::MessageBox (NULL, szBuffer, _T("DenAgent"), MB_OK); + } + } } Index: TrayWnd.h =================================================================== RCS file: /cvsroot/decaldev/source/DenAgent/TrayWnd.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TrayWnd.h 20 Apr 2002 20:29:52 -0000 1.3 --- TrayWnd.h 13 May 2003 07:16:12 -0000 1.4 *************** *** 35,38 **** --- 35,40 ---- CWnd *m_pDialog; + UINT_PTR m_uiTimer; + void showDialog(); *************** *** 44,47 **** --- 46,50 ---- afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnDestroy(); + afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnSystrayConfigure(); afx_msg void OnSystrayExit(); |