// http://www.androidpub.com/1851206

1. 입출력 문제 


# 1000


raw_input은 날것으로 문자열로 잘라서 저장하고, 

input은 유두리있게 숫자는 숫자로 (int, float)  문자열은 문자로 ""로 감싸져 있는경우만, 아니면 오류) 저장한다.


//참고 http://gangju.tistory.com/6



a.split(s)는

a(문자열)을 s기준으로 잘라서, 

나눠진 문자열 리스트로 반환한다.


 join은 나눠진 리스트를 문자열로 반환


//참고 http://agiantmind.tistory.com/31

//http://ourcstory.tistory.com/46


[입력]


1 2


[출력]




[코드]


input=raw_input()

inputS=input.split()

print int(inputS[1]) + int(inputS[0])


 


A B =input()

print A,B

이렇게, 공백으로 문자를 나누어 받는것은 안된다.


A,B =input()

print A,B

이것만 된다.



#10172

이스케이프 시퀀스

"                문자와
\(백슬래쉬)  문자는
출력하려면 \가 있어야 한다. 

[코드] 

print "|\_/|"

print "|q p|   /}"

print "( 0 )\"\"\"\\"

print "|\"^\"`    |"

print "||_/=\\\\__|"

 




#10172


# -*- coding: cp949 -*-

print "강한친구 대한육군"

print "강한친구 대한육군"

 







SetWindowsHookEx

1. 역할

: 특정 hook을 설치해둔다. (모든 프로세스가 체크 됨)

그러면, 어떤 프로세스에서 해당 메시지가 발생햇을 때 

OS가 해당DLL파일을 해당 프로세스에 injection하고 

등록된 hook procedure을 호출


즉, injection하고 바로 내가 원하는 콜백함수 호출.


2. 인자 값

- int idHook                 // hook type

- HOOKPROC lpfn         // hook procedure은 운영체제가 호출해주는 콜백 함수       DLL 내부에 존재해야 한다. ex)KeyboardProc

HINSTANCE hMod      // 위 함수가 속한 DLL의 인스턴스 핸들

DWORD dwThreadId   // hook을 걸고 싶은 thread의 ID 값    ex) 0을 넣으면 global hook이 설치된다.


3. 반환 값










'CODING(C) > WIN API 32' 카테고리의 다른 글

window API 주요 구조체 및 변수  (0) 2016.07.27

참고 블로그 : http://sweeper.egloos.com/m/2991972


윈도우 프로그램에서는 


하나의 프로그램이 많은 윈도우들을 가질 수 있고,

하나의 프로그램이 여러 개의 모듈 즉, (메모리에 올라간) 코드 덩어리들을 가지고 있을 수 있다. 


HINSTANCE / HMODULE 

: 프로그램 코드를 담고 있는 모듈(메모리에 올라가있는)/인스탄스에 대한 핸들.


cf) HMODULE과 HINSTANCE는 32비트에서는 같은 의미로 사용된다고 봐도 무관하다.

32비트 윈도우에서 인스턴스 핸들은 메모리 공간에 할당된 실행 모듈의 베이스주소(0x00400000)를 가리킨다.


HWND 

: 화면 출력을 위해 여러 윈도우들의 영역을 관리하는 리소스.


WPARAM

: unsigned int형, 주요정보 (주로 window procedure이나 callback function 의 인자)


LPARAM

: signed int형, 추가정보



'CODING(C) > WIN API 32' 카테고리의 다른 글

SetWindowsHookEx  (0) 2016.07.27

typedef는 

" 자료형을 정의 " 해주는 역할

즉, 이미 있는 기존의 자료형에 또다른 이름을 붙여주는 역할을 합니다.

ex)

typedef unsigned int MYUNIT



구조체 선언시에 struct my를 MY로 줄여쓰기 위해 자주 사용됩니다. 

주의) MY는 구조체 변수가 아니라 struct my 의 줄임말일 뿐.



함수포인터 변수는 

ex) 

int sum(int a, int b)

{

return a+b;

}

int main()

{

int (*pf)(int,int);

sum=pf;

pf(2,3)

}

이렇게 기존의 함수선언과 동일한 상태에서 이름만 (*이름)으로 바꾸어서 선언합니다.



이러한 typedef를 사용하여 함수포인터변수를 하나의 자료형으로 정의하는 것은 

바로, 함수포인터변수를 보기쉽게 선언하기 위해서 입니다.


ex) 

typedef int (*PF)(int,int); //자료형을 정의

int sum(int a, int b)

{

return a+b;

}

int main()

{

PF pf ;

sum=pf ;

pf(2,3); 

}




+ Recent posts