http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6492 [º¹»ç]
win32 console application Àä,
¾ÆÁ÷ ¹Ì¿Ï¼º ÇÁ·Î±×·¥Àε¥ °£´ÜÇÏ°Ô ¼³¸íµå¸®¸é
¶ËÇÇÇϱ⠰ÔÀÓ ¸¸µé·Á°íÇϴµ¥,
ÄܼÖâ ¶ç¿ì°í â Á¦¸ñÀ» game.exe ·Î ¸¸µé°í ÀÌ À©µµ¿ìÀÇ Çڵ鰪À» 'handle' º¯¼ö¿¡ ÀúÀåÇÕ´Ï´Ù. ÀÌ °æ¿ì ÇöÀç ¿¸° ÄÜ¼Ö Ã¢ÀÇ Çڵ鰪ÀÌ 'handle' º¯¼ö¿¡ÀúÀåµÇ°ÚÁÒ.
±×´ÙÀ½ BGM À¸·Î»ç¿ëÇÒ ÆÄÀÏ
c:/test/MainBGM.mp3 À» ½ÇÇà ½Ãŵ´Ï´Ù.
ÀÌ‹š À©µµ¿ìÀÇ Æ÷Ä¿½º°¡ ½ÇÇà½ÃŲ mp3 ÆÄÀÏ·Î ÀâÈ÷´Âµ¥,
Á¦°¡ ¿øÇÏ´Â°Ç BGM ½ÇÇàµÈ ÈÄ °ÔÀÓÀ» Ç÷¹ÀÌÇÒ À©µµ¿ì(óÀ½¿¡ ¶ç¿î ÄܼÖ) ·Î Æ÷Ä¿½º°¡ ÀÚµ¿À¸·Î ÀâÈ÷°Ô Çϴ°ÍÀÔ´Ï´Ù.
±×·¡¼
BringWindowToTop ÇÔ¼ö¸¦ »ç¿ëÇؼ
BringWindowToTop(handle); ·Î óÀ½¿¡ ¶ç¿î ÄַܼΠÀ©µµ¿ì Æ÷Ä¿½º°¡ ÀâÈ÷°Ô ÇÏ°í½Í¾î¼ ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¡¹ÖÇß½À´Ï´Ù. ±×·±µ¥ Æ÷Ä¿½º°¡ BGM ¿¡¼ ÄܼÖâÀ¸·Î ¹Ù²îÁö°¡ ¾Ê½À´Ï´Ù.
ÄÄÆÄÀϽà ¿À·ùµµ ¾ø½À´Ï´Ù.
Å×½ºÆ® Çغ¸½Ç²¨¸é BGM °æ·Î¸¦ ´äº¯ÀÚ´Ô ÄÄÇ»ÅÍÀÇ mp3 ÆÄÀÏ °æ·Î·Î ¹Ù²ã¼ ÇØÁÖ¼¼¿ä,
(°ÔÀÓ¿¡ BGM »ðÀÔ°ú, BGM Àç»ýµÇ´Â ÇÁ·Î±×·¥ ÃÖ¼ÒÈ ÇÏ·Á°í ÀÎÅͳÝÀ¸·Î ¿©·¯°¡Áö ¹æ¹ý ã¾Æº¸¸é¼ ½ÃµµÇغÁ¼ ÇÊ¿ä¾ø´Â Çì´õ°¡ ¸¹Áö¸¸ ¹«½ÃÇØÁÖ¼¼¿ä.. )
¿©±â±îÁö »óȲ ¼³¸íÀ̾ú°í, Áú¹®À» ¿ä¾àÇϸé
1. ÄܼÖâÀ¸·Î À©µµ¿ì Æ÷Ä¿½º¸¦ ¹Ù²Ù°í ½Í¾î¼ ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¡¹ÖÇߴµ¥ ¿øÇϴµ¥·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. Á¦°¡ ¹» À߸øÇÑ °É±î¿ä? (ÄÄÆÄÀϽà ¿À·ù ¾øÀ½);
2. BGM ÀÌ Àç»ýµÇ´Âµ¥ ÀÌ À©µµ¿ì¸¦ ÃÖ¼ÒÈ ½ÃÅ°°í½Í½À´Ï´Ù. ¾î¶»°Ô Çϸé ÁÁÀ»±î¿ä ? (óÀ½ºÎÅÍ ÃÖ¼ÒÈ »óÅ·Π½ÇÇà | ½ÇÇàÈÄ ÃÖ¼ÒÈ);
// °Ë»öÀ» ÅëÇØ API ÇÔ¼öÀÎ
1.
PostMessage(hWnd,WM_SYSCOMMAND,(WPARAM)SC_MINIMIZE,0); //ÃÖ¼ÒȽÃÅ°´Â ¸Þ½ÃÁö ¹ß»ý (WM_SYSCOMMAND ¸Þ½ÃÁöÀÇ SC_MINIMIZE)
2.
ShowWindow(hWnd,SW_HIDE); //HIDE¸ðµå·Î À©µµ¿ì¸¦ º¸¿©ÁÜ -> ÃÖ¼ÒÈ
3.
CloseWindow(hWnd); //´Ý´Ù (ÃÖ¼ÒÈ)
4.
SetWindowPos(hWnd,NULL,0,0,0,0,SWP_HIDEWINDOW); //³ª¸ÓÁö´Â ¹ÙÅÁȸéDC¾ò°í ĸÃÄÇϸé ÂïÈ÷´øµ¥ ÀÌ°Ç Á¦´ë·Î ¼û³×¿ä
//ÇÚµé,ÇØ´çÀ©µµ¿ì¾Õ¿¡ÀÖ±â,x,y,Æø,³ôÀÌ,¿É¼Ç
µîÀ» »ç¿ëÇÏ·Á°í ½ÃµµÇغÃÁö¸¸, ¿©·¯ âÀÌ ¿·ÁÀִ ȯ°æ¿¡¼ ƯÁ¤ âÀÇ ÇÚµéÀ» ±¸ÇÏ°í, ±× ÇÚµéÀ» »ç¿ëÇÏ¿© ÃÖ¼ÒÈ ½ÃÅ°·Á°í ½ÃµµÇغÃÁö¸¸ Á¦ ½Ç·ÂÀ¸·Ð ¾ÆÁ÷ ¹«¸®ÀΰͰ°½À´Ï´Ù.. Ȥ½Ã °¡´ÉÇϸé main ÇÔ¼ö¿¡ »ðÀÔÇÒ¼öÀÖ°Ô Ã¢ ÃÖ¼ÒÈÇÏ´Â ÇÔ¼ö ¸¸µé¾îÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù ¤Ð¤Ð)
ÄÚµå
-------------------------------------------------------------------
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<TlHelp32.h>
#include<process.h>
#include <tchar.h>
#include <WinUser.h>
void gotoxy(int x, int y);
void Map();
void BGM();
void main()
{
system("title game.exe");
HWND handle = GetForegroundWindow();
system("c:/test/MainBGM.mp3");
system("cls");
BringWindowToTop(handle);
/*À¯Àú ½ÃÀÛ À§Ä¡*/
int x = 13;
int y = 20;
int chr=0;
system("title game.exe");
system("color F0");
/*MAP*/
char map_area[25][20];
system("mode con: cols=40 lines=25");
Map();
while( 1 )
{
// °ÔÀÓ ¸Ê ±¸Çö
if (kbhit())
chr = getch();
if (chr == 0 || chr == 0xe0)
{
gotoxy(x, y);
printf(" ");
chr = getch();
if (chr == 72){ //»ó
y--;
// map Å»Ãâ ¹æÁö
if (y < 1)y = 1;
}
else if (chr == 80){ //ÇÏ
y++;
//map Å»Ãâ ¹æÁö
if (y > 20)y = 20;
}
else if (chr == 75){ //ÁÂ
x--;
//map Å»Ãâ ¹æÁö
if (x < 1)x = 1;
}
else if (chr == 77){ //¿ì
x++;
//map Å»Ãâ ¹æÁö
if (x > 25) x = 25;
}
gotoxy(x, y);
printf("*");
}
}
}
void gotoxy(int x, int y)
{
COORD Pos = { x, y };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Pos);
}
void BGM()
{
system("start c:/test/MainBGM.mp3");
HWND hWnd = FindWindow(NULL, TEXT("Wind"));
if(hWnd)
{
//ShowWindow(hWnd, SW_MINIMIZE);
}
}
void Map()
{
int i;
//°ÔÀÓ Map Ãâ·Â
system("chcp 437"); // È®Àå ¾Æ½ºÅ° ÄÚµå Ãâ·Â
gotoxy(0,0);
for(i=0; i<25; i++)
{
printf(" ");
}
printf("\n");
gotoxy(0,0);
printf("%c\n", 0xDA);
gotoxy(26,0);
printf("%c\n", 0xBF);
gotoxy(0,21);
printf("%c\n", 0xC0);
gotoxy(26,21);
printf("%c\n", 0xD9);
for(i=1; i<21; i++)
{
gotoxy(0,i);
printf("%c\n", 0xB3);
gotoxy(26,i);
printf("%c\n", 0xB3);
}
gotoxy(1,0);
for(i=1; i<26; i++)
{
printf("%c", 0xC4);
}
gotoxy(1,21);
for(i=1; i<26; i++)
{
printf("%c", 0xC4);
}
gotoxy(27,1);
printf(" LEVEL");
gotoxy(27,3);
printf(" SCORE");
gotoxy(27,5);
printf(" LIFE ");
}
----------------------------------------------------------------------------
|
Hit : 9443 Date : 2014/11/18 09:29
|