api나 mfc로 gui프로그램을 만들때 리소스편집기에서 보이던 모양과 실제 컴파일후의 실행된 응용프로그램에서 보이는 컨트롤들의 스타일이 윈도우 98/2000시절 스타일로 보이는 경우가 있다. xp이상에서 지원되는 comctl32.dll의 기능을 사용해야 컨트롤의 모양이 이쁘게 표시된다. 위와같이 편집기에서는 이쁜 모양으로 나오지만 실제 컴파일을 해보고 실행해보면 이렇게 허접한 스타일로 바뀌어버린다. 따라서 비주얼스타일을 먹이려면 mfc는 stdafx.h에 mfc가아니라면 적당한곳에 다음의 링커옵션을 먹이면 된다. #ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsof..
윈도우7에 기본적으로 들어있는 "화상키보드"는 키보드가 없는상황에서 매우 유용한 프로그램이다.이 화상키보드를 띄어놓고 마우스로 키보드 자판모양을 클릭하면 입력이 된다. 그런데 이 응용프로그램의 특이한점은 화상키보드를 마우스로 클릭해도 이전에 작업중이던 위치의 포커스를 잃지 않는다는것이다. 보통의 응용프로그램은 자신을 클릭하게되면 이전의 프로그램은 포커스를 잃고 KillFocus메시지를 받고, 클릭을 받은 프로그램은 포커스를 가지게 된다. 이 화상키보드의 숨겨진 비밀은 적용되어있는 윈도우스타일에 있다.이 화상키보드에는 확장스타일인 WS_EX_NOACTIVATE가 적용되어있다. 저 스타일을 주게되면 해당 윈도우는 포커스를 가지지 않게 된다. 또한 해당 윈도우를 이동시킬때 잔상(?)도 표시되지 않는다. 윈도우..
이전 네이버카페에서 진행한 퀘스트방식의 프로젝트에서 제가 해결한 문제들입니다. 똥피하기 게임입니다. 최고점수가 ini확장자를 가진 파일의 형태로 저장이 되며, 저장위치는 "C:\Windows" 폴더에 "Score.ini"이라는 이름으로 저장됩니다. 처음시작은 스페이바를 누름으로 시작이 되며 게임이 시작되고 있는 중간 다시한번 스페이스바를 누르면 Pause(일시정지) 상태가 됩니다. 다시 누르면 풀립니다. TransBlt 함수를 이용해서 똥의 비트맵들이 겹쳐도 자연스러운 이미지를 보여줍니다. 실행파일의 동일 디렉토리상에 BGM.mid 이라는 이름의 mid파일이 존재하면 그 파일을 재생합니다. 없으면 배경음악 없이 그냥 게임이 실행되게 됩니다. 똥의 이미지나 이동시 캐릭터의 이미지등은 오리지날 똥피하기에서 ..
이전 네이버카페에서 진행한 퀘스트방식의 프로젝트에서 제가 해결한 문제들입니다. 적들이 주변을 이동합니다. 오른쪽에서 나온 적들은 왼쪽끝으로 가게되거나, 왼쪽에서 나온적들이 오른쪽끝으로 가게되면 Life가 줄어들게 됩니다. 포구를 회전하여 각도를 조절 할 수 있고, 스페이스바를 누르면 대포가 나갑니다. 대포에 맞은 적들은 폭발을 하며 사라지고, 적들의 속도에따른 점수를 받습니다. 최고점수는 "C:\Windows"디렉토리에 "HighScore.ini"이라는 이름으로 저장됩니다. 대포발사소리, 폭발소리, 배경음, 이미지는 포트리스게임의 사운드를 이용햇습니다.
와이어샤크를 본따 만들어본것 입니다. 원형만 간단하게 만들어봄.
아.. 노가다해서 한글쓰는걸 만들어 놧더니 다 만들고 나니까 엄청나게 쉬운 방법을 찾아냇습니다. 이전에 만든 함수로는 한글 영어 특문 + 숫자 만 적을 수 있지만 이번 방법으로는 세계 모든언어를 표현할 수 있고 이것들 타이핑 하는 함수의 소스코드는 20줄밖에 안됩니다.. 방법은 [Alt + 숫자패드]를 누르는 방법입니다. Alt버튼을 누른상태에서 오른쪽 키패드로 유니코드의 10진코드값을 적으면 그대로 적힙니다.. 예를 들어 '가'의 16진코드값은 0xAC00 인데, 이것을 10진코드로 바꾸면 44,032이 나옵니다. Alt를 누른상태에서 키패트 44032를 치고 알트를 때면 '가'가 입력이 됩니다.. void NewTypingMessage(TCHAR* Message) { int Word; TCHAR Bu..
이번에 환이매크로를 만들면서 고민햇던것이, 게임이 아닌 단순한 글을 쓸 수 있는 에딧박스라면 keybd_event함수를 이용하지않고서 SendMessage로 WM_CHAR나 WM_IME_CHAR메세지만 날려주면 문자열을 입력하는 효과를 줄 수 있다. 하지만 게임에서 SendMessage나 PostMessage같은 함수들은 엔프로텍트나 각종 가드프로그램에서 막아버린다. 또한 막지 않는다고 해도 게임속 에딧박스의 핸들을 얻을 수 있는 방법을 찾을수가 없엇다. 따라서 게임을 창모드로 하고서 keybd_event함수를 이용하면 키입력이 가능하다는것을 알아냇다. 그래서 keybd_event 함수를 이용하여 타이핑하는 효과를 주엇더니 원하는 결과가 나왔다. 하지만 여기서 문제가 하나 발생햇는데, 영문을 타이핑할때는..
- Total
- Today
- Yesterday
- 인코더
- KAI
- 유마일
- 백신
- 데몬
- c#
- V3
- 녹화
- 구글
- API 프로그래밍
- PSP
- ffmpeg
- 스터디_발표자료
- 소니
- TCP/IP
- WL-54G
- Programing
- Programming - C
- WPF
- GAME
- Programming - C / C++
- 프로그래밍
- 가상드라이브
- 하이퍼큐브
- Operation System
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |