4 Nov
2010
Posted in: 코드
By    3 Comments

여친용 프로그램 ㅋㅋ~


여친용 프로그램 ㅋㅋ~
by 신영진(YoungJin Shin), codewiz at gmail.com, @codemaru, http://www.jiniya.net

회사 개발자가 예전에 공부할 때 만들었던 프로그램이라고 하는데, 구경 하다가 너무 재밌어서 퍼왔습니다. “사랑해”, “loving you”같은 메시지를 화면에 막 뿌려주는 기능이 전부인 심플한 프로그램인데, 여친님께 바치면 대박 효과를 볼 수 있을 것으로 사료되는 프로그램입니다. 사랑하는 여친 컴퓨터에 살포시 시작 프로그램으로 등록해 주세요. ㅋㅋㅋ~ 실행 파일은 아래 경로에서 다운로드 받으실 수 있습니다.

http://www.jiniya.net/files/loveyou.zip

참고로 제작자 블로그는 http://stdcall.tistory.com/ 입니당. 예의상 홍보는 해주는 센스 ㅋㅋㅋ~ 윈도우 프로그래밍을 처음 배울 때 개발한 것 같아서 다소 의도하지 않은 효과들이 나타날 수 있습니다. 근데 그게 더 프로그램의 재미를 더해주는 것 같아요. 153k로 가장 여친을 즐겁게 해줄 수 있는 프로그램이 아닐까요? 참고로 여친 안계신 분은 직접 띄워놓고 감상하셔도 정신 건강에 좋을 것 같아요.

리누스 토발즈가 첨에 “I love …”을 화면에 막 출력하는 프로그램을 작성하고 뿌듯해 했다는 글이 떠오르는 프로그램이었습니다.

원 저작자 분께서 쿨하게 소스 코드까지 공개해 주셨습니다. 고쳐 쓰실 분들은 수정해서 사용하시면 되겠습니다. ㅋㅋ~

#include <windows.h>
#pragma comment(linker,"/subsystem:windows")
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("Class");

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst=hInstance; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION); WndClass.hInstance=hInstance; WndClass.lpfnWndProc=WndProc; WndClass.lpszClassName=lpszClass; WndClass.lpszMenuName=NULL; WndClass.style=CS_HREDRAW | CS_VREDRAW; RegisterClass(&WndClass); hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, NULL,(HMENU)NULL,hInstance,NULL); ShowWindow(hWnd,SW_HIDE); while (GetMessage(&Message,NULL,0,0)) { TranslateMessage(&Message); DispatchMessage(&Message); } return (int)Message.wParam; } LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; //  HWND hWin; HFONT hFontEdit; HFONT oldFont; static char *szName[5]={"사랑해~","I LOVE YOU","니가 좋아^^","♡","Loving you"}; static int i=0; int name; int Wx; int Wy; switch (iMessage) { case WM_CREATE: hWndMain=hWnd; SetTimer(hWnd,1,50,NULL); return 0; case WM_TIMER: if (i==0) { i++; MessageBox(hWnd,"그만하까??","끝내기",MB_OK); PostQuitMessage(0); } Wx=GetSystemMetrics(SM_CXSCREEN); Wy=GetSystemMetrics(SM_CYSCREEN); hWnd = GetDesktopWindow();//바탕화면의 윈도우 hdc = GetWindowDC(hWnd);//바탕화면에 그릴 준비 hFontEdit=CreateFont(rand()%50,0,rand()%1800,0,0,0,0,0,DEFAULT_CHARSET,0,0,0,0,TEXT("고딕")); oldFont=(HFONT)SelectObject(hdc,hFontEdit); SetTextColor(hdc,RGB(rand()%250+50,rand()%250+50,rand()%250+50)); SetBkMode(hdc,TRANSPARENT); name=rand()%5; TextOut(hdc,rand()%Wx,rand()%Wy,szName[name],strlen(szName[name])); SelectObject(hdc,oldFont); DeleteObject(hFontEdit); ReleaseDC(hWnd, hdc); DeleteObject(hdc); return 0; case WM_PAINT: hdc=BeginPaint(hWnd, &ps); //      TextOut(hdc,rand()%100,rand()%100,"11",2); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: KillTimer(hWnd,1); PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); }

Browser does not supports flash movie

  • 트랙백 주소: http://www.jiniya.net/wp/archives/3390/trackback

관련 글

  • http://??? 최영해

    c++배우는 중딩인데요
    다른 글씨를 띄워보고 싶어서 그대로 붙여넣고 글씨만 바꿨더니 이런 에러가 뜨네요–;;
    친구들 바탕화면을 태러할려 그러는데 메세지 박스 안띄우는 방법도 알려주세요ㅠ3ㅜ

    error C2664: ‘MessageBoxW’ : 매개 변수 2을(를) ‘const char [11]’에서 ‘LPCWSTR'(으)로 변환할 수 없습니다.
    가리킨 형식이 관련이 없습니다. 변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다.
    error C2664: ‘TextOutW’ : 매개 변수 4을(를) ‘char *’에서 ‘LPCWSTR'(으)로 변환할 수 없습니다.
    가리킨 형식이 관련이 없습니다. 변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다.

  • codewiz

    최영해 // 타입이 달라서 나는 오류 같네요. 프로젝트 속성을 클릭해보면 유니코드/멀티바이트를 설정하는 부분이 있습니다. 그곳에 아마도 유니코드로 되어 있을 거예요. 그걸 멀티바이트로 변경해 보세요.

  • http://??? 최영해

    님아 사랑합니다–