2012년 10월 24일 수요일

C++에서 Windows 시스템 제어하기 (1)

번역 귀찮아 각주 안 달래

여기서는 처음 말하는 것 같은데, 저는 C++를 사용하는 도스 프로그래머입니다.
  • WinMain이 너무 어려워요.
  • 여기서는 도스를 이용하여 키 후킹을 하는 방법을 알려드리도록 하겠습니다.

    저도 얼마 전에 안 함수인데, GetAsyncKeyState(int vKey) 함수입니다.
    인자로 vKey 변수를 받는데, int형이군요. 하지만 윗 3바이트는 버리고 아래 1바이트만 보니 알 게 뭐야.
    vKey는 Virtual Keycode의 준말로, 가상 키코드라는 뜻입니다.
    저건 도스창이 포커스가 되어 있지 않을 때도 잘 돌아가는 함수인데요,
    키보드에 직접 접근?하여 상태를 알아내기 때문에 그렇습니다.

    가상 키 코드표는 MSDN 같은 곳에서 전부(0에서 255까지) 구할 수 있지만 우리가 그 코드를 다 쓸 것도 아니고, 귀찮으므로 하나 만들어 봅시다.
    코드는 다음과 같습니다.
    #include <iostream>
    #include <windows.h>
    using namespace std;


    void main() {
        int i;
        while (1) {
            for (i=0; i<256; i++) {
                if (GetAsyncKeyState(i) & 0x0001) {
                    cout << i << endl;
                }
            }
        }
    }
    이것을 컴파일하고 실행하면 아무 키가 눌릴 때마다 어떤 수를 출력합니다.
    사실상 마우스도 되는데, 1번이 마우스 왼쪽 키, 2번이 마우스 오른쪽 키기 때문입니다.

    이것으로 우리는 매크로를 만들 수 있습니다!

    저는 강좌를 잘 쓰는 편이 아니기 때문에, 알아보실 분들만 알아보시고 유용하게 쓰시리라 믿습니다.

    2012년 10월 16일 화요일

    그런데 정말 대단하네요.

    페이지뷰가 55명이군요. 근데 미국 사용자가 1/3을 차지하네요.
    page was viewed by 55 people. By the way, one third of them are American.
    영어 공부도 할 겸 영어로 각주 달아야겠습니다.
    I'll put references studying English at the same time.

    제가 네이버에서는 느끼지 못했던 많은 것들을 구글과 Blogger에서 느끼고 있습니다.
    I'm feeling many things in Google and Blogger which I can't feel in naver?.
    별 글을 쓰지 않았는데도, 위에서 말한 것처럼 55명의 사용자가 들어왔습니다.
    I wrote that poor post, but 55 people came to my blog like what I said.
    역시 네이버에서 구글로 옮기길 잘했다는 생각이 들었습니다.
    I thought It was fine to move from naver to Google.

    지금은 한국 시간으로 12시 반인데 뭘 하는 거지.
    Now it's half past midnight in Korean time, what am I doing.

    한국어에서 영어로의 번역은 틀릴 수 있습니다. 문법적으로 틀린 부분이 있으면 댓글을 써 주세요.
    The translation from Korean to English may NOT be correct. Please note if you find the part grammatically incorrect.

    2012년 10월 14일 일요일

    네이버 블로그에서 이 블로그로 옮깁니다.

    현재까지 제가 네이버에서 블로그를 하고 있었는데요(플래시신),
    내리와 인성의 IT 이야기: 웹툰?(http://minix.tistory.com/218)을 우연히 보고
    이곳으로 이전하게 되었습니다.

    제가 네이버 블로그에서 상당히 많은 좋은? 글들을 썼지만 뜨지 못한 이유에 대해서도
    생각보다 상세히 기술되어 있었습니다.?

    이제 이 곳에만 글을 올리겠습니다. 네이버 블로그(http://kipa00.blog.me)는 초기화시키려다 좋은 자료들 때문에 그러지는 못하겠고 이 블로그로 잇겠습니다. 아마 네이버 블로그의 마지막 글은 Blogger로 블로그를 이전하게 되었습니다.가 될 것입니다.

    친구(http://esukmean.blogspot.com 그의 블로그입니다.)의 도움으로 만 13세에 구글 계정을 얻게 되었습니다. 막상 구글 계정을 얻고 나니 할 것이 없었습니다. 하지만 위 웹툰을 보니 구글만큼 좋은 사이트가 없다는 것을 알게 되었습니다.

    이곳에는 프로그래밍과 일상?, 관심사(큐브, 주변기기, 게임, etc...) 등등을 올릴 것입니다.
    마지막으로 말하자면, 네이버를 쓰지 맙시다. 유튜브에 여러 번 접속하는 것도 많은 도움이 됩니다.? 좀 잔인하단 생각이 들지만, 공정하지 못한 경쟁을 이끄는 사람들은 없어져야 합니다.

    주석 틀?CC BY-NC-SA에 의거합니다. 이것은 앞으로 제가 쓰는 모든 글에 적용됩니다.
    혹시 사용법을 모르신다면, 물음표에 마우스를 올려보세요. 스마트폰이신 분들은, 죄송합니다.