⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.cpp

📁 Boosts Browsing Speeds Up To 3,000 Times Faster.zip
💻 CPP
字号:
// Global.cpp: implementation of the CGlobal class.
//
//////////////////////////////////////////////////////////////////////
                               

#include "stdafx.h"
//#include "resource.h"       
#include "Global.h"


#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

static Win32Type g_Shell=IsShellType();

/////////////////////////////////////////////////////////////////////////////
// global functions


BOOL FileExists( char* sFilename )
{
	WIN32_FIND_DATA fd;
	HANDLE hFind = FindFirstFile(sFilename, &fd);
	if (hFind == INVALID_HANDLE_VALUE) {
		FindClose(hFind);
		return FALSE;
	}
	FindClose(hFind);
	return TRUE;
} 

/*
BOOL FileExists( LPCTSTR sFilename )
{
	//ASSERT( sFilename );
	CFileFind f;
	CString Filename( sFilename );
	BOOL res = f.FindFile( Filename );
	f.Close();
	return res;
};


bool FileExists(const char *pszPath)
{
    bool bRet = false;
    CFileStatus status;

    if ( CFile::GetStatus( pszPath, status ) )
	{
        bRet = true;
    } 
	else 
	{
        bRet = false;
    }
    return bRet;
}
*/




Win32Type IsShellType()
{
  Win32Type  ShellType;
  DWORD winVer;
  OSVERSIONINFO *osvi;

  winVer=GetVersion();
  if(winVer<0x80000000)
  {/*NT */
    ShellType=WinNT3;
    osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
    if (osvi!=NULL)
    {
      ZeroMemory(osvi,sizeof(OSVERSIONINFO));
      osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
      if(!GetVersionEx(osvi))
      {
        //ShowLastError();
      }
      if(osvi->dwMajorVersion==4L)
      {
        ShellType=WinNT4;
      }
      else if(osvi->dwMajorVersion==5L && osvi->dwMinorVersion==0L)
      {
        ShellType=Win2000;
      }
      else if(osvi->dwMajorVersion==5L && osvi->dwMinorVersion==1L)
      {
        ShellType=WinXP;
      }
      free(osvi);
    }
  }
  else if (LOBYTE(LOWORD(winVer))<4)
  {
    ShellType=Win32s;
  }
  else
  {
    ShellType=Win95;
    osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
    if (osvi!=NULL)
    {
      memset(osvi,0,sizeof(OSVERSIONINFO));
      osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
      GetVersionEx(osvi);
      if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)
      {
        ShellType=Win98;
      }
      else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)
      {
        ShellType=WinME;
      }
      free(osvi);
    }
  }
  return ShellType;
}


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CGlobal::CGlobal()
{
	// Get File Path
	TCHAR szBuffer[MAX_PATH];
	long lLength;
	GetModuleFileName(NULL, szBuffer, MAX_PATH);
	lLength = _tcslen(szBuffer) - 1;
	while (lLength >= 0 && szBuffer[lLength] != _T('.')) {
		szBuffer[lLength] = _T('\0');
		lLength--;
	}
	lLength = _tcslen(szBuffer) - 1;
	while (lLength >= 0 && szBuffer[lLength] != _T('\\')) {
		szBuffer[lLength] = _T('\0');
		lLength--;
	}
    _tcscpy( szExeDir, szBuffer );

	/*
	m_iDemo = 0;
	m_iProg = 0;

	// This MUST be called first--it creates all variables
	CSticky m_sticky;
	// Get Serial Number
	char appid[100];
	char serial[100];
	wsprintf(appid,"%s",APP_ID);
	m_sticky.getserial(appid, serial);
	serial[16]='\0';
	wsprintf(szSN,"%s",serial);
	//AfxMessageBox((LPCSTR)szSN);
	//m_sticky.GetReg(TRUE);
	*/


	/*
	Win32s,
	WinNT3,
	Win95,
	Win98,
	WinME,
	WinNT4,
	Win2000,
	WinXP
	*/

	// Get Windows Directory
	char szWinDir[MAX_PATH];
	GetWindowsDirectory( szWinDir, sizeof(szWinDir));
	if( lstrcmp( &szWinDir[lstrlen(szWinDir)], TEXT("\\") ))
		lstrcat( szWinDir, TEXT("\\"));

	if (g_Shell>WinME)
	{
		// WinNT/Win2000/WinXP \windows\system32\drivers\etc. 
		wsprintf(szHosts, "%s%s", szWinDir, "system32\\drivers\\etc\\hosts");
		//c:\\winnt\\system32\\drivers\\etc\\hosts 
	}
	else 
	{
		// Win98/WinME Windows directory. 
		wsprintf(szHosts, "%s%s", szWinDir, "hosts");
	}

	//Make backup of hosts file, "hosts_bk"
	
	//Get value for new "demoend" days count from year 2000
	//char msg1[255];
	//int x = m_sticky.date2int( 14, 1 );
	//wsprintf(msg1, "%u", x);
	//::MessageBox(NULL,(char*)msg1, "2", MB_OK|MB_ICONINFORMATION);

}

CGlobal::~CGlobal()
{

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -