/*//=============================================================== << BASE-SET >> PRGM : milkji, B4nFter FILE : BASESET.HPP DESC : ÇÁ·ÎÁ§Æ®ÀÇ ±âº» ¼¼ÆÃÀ» üũÇϱâ À§ÇÑ Å¬·¡½º INIT BUILT DATE : 2007. 03. 13 LAST BUILT DATE : 2007. 03. 13 Copyright¨Ï 2002~2009 B4nFter (b4nfter@gmail.com) and Co-Writers. All Rights Reserved. *///=============================================================== #pragma once /////////////////////////////////////////////////////////////////// // INCLUDE /////////////////////////////////////////////////////////////////// // P.S.> SYSBASEBASE.H ¿¡ ÀÇÇØ ÂüÁ¶µÊ (µû¶ó¼­ º» Çì´õ´Â WINDOWS.H µî ±âº»Çì´õ Á¦¿Ü½ÃÅ´) /////////////////////////////////////////////////////////////////// // DEFINE /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// // DECLARATION /////////////////////////////////////////////////////////////////// //*--------------------------------------------------------------- // TYPE : CLASS // NAME : CBaseSet //*--------------------------------------------------------------- // DESC : ÇÁ·ÎÁ§Æ®ÀÇ ±âº» ¼¼ÆÃÀ» üũÇϱâ À§ÇÑ Å¬·¡½º // PRGM : B4nFter //*--------------------------------------------------------------- class CBaseSet { public: static BOOL IsDebug(); static BOOL IsUnicode(); static BOOL IsMultiThread(); static BOOL IsLittleEndian(); static BOOL IsWindowStationVisible(); }; /////////////////////////////////////////////////////////////////// // IMPLEMENTATION /////////////////////////////////////////////////////////////////// //*--------------------------------------------------------------- // TYPE : FUNCTION // NAME : CBaseSet:: //*--------------------------------------------------------------- // DESC : ÇöÀç ÇÁ·ÎÁ§Æ® ±¸¼ºÀÌ _DEBUG ÀÎÁö ¿©ºÎ ¹Ýȯ // PARM : N/A // RETV : TRUE - ¼º°ø / FALSE - ½ÇÆÐ // PRGM : B4nFter //*--------------------------------------------------------------- inline BOOL CBaseSet::IsDebug() { return(MODE_CMP(TRUE,FALSE)); } //*--------------------------------------------------------------- // TYPE : FUNCTION // NAME : CBaseSet::IsUnicode //*--------------------------------------------------------------- // DESC : ÇöÀç ÇÁ·ÎÁ§Æ®ÀÇ ¾ð¾î ¿É¼ÇÀÌ _UNICODE ÀÎÁö ¿©ºÎ ¹Ýȯ // PARM : N/A // RETV : TRUE - ¼º°ø / FALSE - ½ÇÆÐ // PRGM : B4nFter //*--------------------------------------------------------------- inline BOOL CBaseSet::IsUnicode() { return(MODE_CHARSET(FALSE, TRUE)); } //*--------------------------------------------------------------- // TYPE : FUNCTION // NAME : CBaseSet::IsMultiThread //*--------------------------------------------------------------- // DESC : ÇöÀç ÇÁ·ÎÁ§Æ®ÀÇ ÄÚµå»ý¼º ¿É¼ÇÀÌ _MT ÀÎÁö ¿©ºÎ ¹Ýȯ // PARM : N/A // RETV : TRUE - ¼º°ø / FALSE - ½ÇÆÐ // PRGM : B4nFter //*--------------------------------------------------------------- inline BOOL CBaseSet::IsMultiThread() { return(MODE_MT(FALSE,TRUE)); } //*--------------------------------------------------------------- // TYPE : FUNCTION // NAME : CBaseSet::IsLittleEndian //*--------------------------------------------------------------- // DESC : ÇöÀç Ç÷§ÆûÀÌ little-endian ±â¹ÝÀÎÁö ¿©ºÎ ¹Ýȯ // PARM : N/A // RETV : TRUE - ¼º°ø / FALSE - ½ÇÆÐ // PRGM : B4nFter //*--------------------------------------------------------------- inline BOOL CBaseSet::IsLittleEndian() { const unsigned long ulHost = 0x12345678; return(::htonl(ulHost) != ulHost); } //*--------------------------------------------------------------- // TYPE : FUNCTION // NAME : CBaseSet::IsWindowStationVisible //*--------------------------------------------------------------- // DESC : ÇöÀç ÇÁ·Î¼¼½ºÀÇ À©µµ¿ì ½ºÅ×À̼ÇÀÌ USER-INTERACTIVE ÇÑÁö ¿©ºÎ ¹Ýȯ // PARM : N/A // RETV : TRUE - ¼º°ø / FALSE - ½ÇÆÐ // PRGM : B4nFter //*--------------------------------------------------------------- inline BOOL CBaseSet::IsWindowStationVisible() { HWINSTA hWindowStation = ::GetProcessWindowStation(); if (hWindowStation != NULL) { USEROBJECTFLAGS stUOF; DWORD dwNeed = 0; if (::GetUserObjectInformation(hWindowStation, UOI_FLAGS, &stUOF, sizeof(USEROBJECTFLAGS), &dwNeed) == TRUE) { return ((WSF_VISIBLE & stUOF.dwFlags) == WSF_VISIBLE); } } return FALSE; }