Áú¹®:

µµ½º³ª ÀͽºÇ÷η¯ºÎÅÍ µµ½º ¾îÇø®ÄÉÀ̼ÇÀÌ ½ÇÇàµÇ¾ú´Â Áö ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î¿ä?

´äº¯:

´ÙÀ½ÀÇ ¸ÞÄ¿´ÏÁòÀº °ø½ÄÀûÀ¸·Î  ¹ßÇ¥µÈ ¹®¼­»óÀÇ ¾ç½ÄÀÌ ¾Æ´Ï±â ¶§¹®¿¡ È®½ÇÇÑ ´äÀº µÇÁö ¾ÊÁö¸¸ ÀͽºÇ÷η¯·ÎºÎÅÍ ½ÇÇàµÇ¾ú´Â Áö ±¸º°ÇÒ ¼ö´Â ÀÖ½À´Ï´Ù.:

        #include <windows.h>
        #include <iostream.h>

        bool QueryLaunchedFromExplorer()
        {
           HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
           CONSOLE_SCREEN_BUFFER_INFO info;
           GetConsoleScreenBuffer(hConsole, &info);

           bool explorer = ( (info.dwCursorPosition.X==0) &&
                    (info.dwCursorPosition.Y==0) );

           if ( (info.dwSize.X<=0) || (info.dwSize.Y<=0) )
           {
              explorer = false;
           }

           return explorer;
        }

        int main()
        {
            bool explorer = QueryLaunchedFromExplorer();

            if (explorer)
            {
              cout << "Launched from Explorer" << endl;
              cin.get();
            }
            else
            {
              cout << "Launched from a DosBox" << endl;
              cin.get();
            }
            return true;
        }