안녕하세요^^ 미친감자입니다.

Hi I’m CrazyPotato.


Today, I want to study about the registry.

오늘은 레지스트리에 대해서 알아볼것입니다.

아니 알아보지 몰고 레지스트리와 같이 놀아봐요~~!!


어떻게 놀수 있죠? 레지스트리와?

모르겠네요..어려서 부터 저는 레지스트리와 같이 놀아본적이 없어셔….


이렇게 놀아야 하나? 그림으로 표현해 보겠습니당~~!(그림도 못그리는것이 계속 그리네요 ㅋ~!)









Registry를 가지고 놀때도...하나님 타령을 하고 있는 미친감자때문에 레지스트리는 미칠려고 합니다.

자..그래도, 레지스트리에 대해서 계속 알아보아요~!




registry 를 가지고 놀려면…먼저~~!RegOpenKeyEx()

이 함수로..키라고 하는 것을 열어야 합니다.

그러면, 핸들을 넘겨주십니다.



그러면, 이 핸들을 가지고 읽고 쓰고 맛보고 ㅋㅋ 하면됩니당~!



RegOpenKeyEx()의 인자값들을 확인해보자..


그런데, 인자값들, 그러니까...저 함수에게 쳐먹일 인자값을 확인하기 전에,

도대체 레지스트리라는 말은 무슨말이지나 알고 지나갑시다….  사전적 의미나 찾아보아요…




등기소라는 의미를 가지고 있다…음..등기소라 하면……..땅 등기같은 것일까요?

이런 무식쟁이 미친감자여...무슨 헛소린가?

드런데 말이 되는 것 같기도 하고...ㅋㅋㅎㅎㅎㅎ


땅을 소유하기 위해서는 등기를 국가에 등록해야 합니다. 그래야, 인정해주는 것입니다.

아시죠^^ ‘땅 등기’요~


이런게 소위 땅기라고 하는 것입니다.

그런디...코딩하면서...이게 뭐냐?

땅 등기는 왜 보여주는가 말입니다요~!

역쉬 미친감자 정신 없는 장의 스타일인것입니다용~!

ㅋㅋㅋ


암튼...레지스트리란~!

컴퓨터 아니 윈도우즈 등리소라 말입니다.


알것죠~~!!


등기소 가면 저렇게 생겼을 것입니다.

사진은 구글링해서 붙였습니다.

(사진에 대해서 저작권을 행사하시고자

하시는 분은 열락주시가 바랍니다.

바로 내리던지 바꾸던지 하겠습니덩)



자...윈도우 등기소 한번 구경해 볼까요^^?


다 아는 내용일 수 있으나..

윈도우키 + R 키 누르고…

‘regedit’를 입력하고 엔터를

힘차게 쳐주면 되용~~!!


엔터를 힘차게 쳐야 되요

힘차게…

만일 힘차지 않으면

실행 되어요…(이게 뭔소리여~!, 말이여 막걸리여~

막걸리네 ㅋㅋㅋㅋ)

그러면, 비스타의 이상의 정품 윈도우를 가지고 있으신분들은

권한상승창이 나타나고…

그리고 나서

등기소가 나오는 것입니다.(뭐..아는 내용으로 글을 다 채우고 있네요...ㅋㅋㅋㅋ;;;이런;;;;)


이 녀석입니당~~!

ㅋㅋㅋㅋ

이게 윈도우 등기소~!!

제 마음대로...명명합니당~~!!

이것 완전….

야매...강의입니당~~!!!

죄송합니다.

야매는 아니어야 겠기에…

열심히라도 하겠습니당~~!


저 등기소라는 곳등록된

녀석의 값을 읽어 보도록

해보자고용~!!!


자장~!!



암튼…등기소든… 레지스트리든...에서 값을 읽기 위해서는


RegOpenKeyEx()함수를 사용하면 됩니다. 끝에 Ex()가 있다는 것은 RegOpenKey();도 있다는 말인데…

귀찮으니...그냥 RegOpenKeyEx()먼저 사용해보도록 하겠습니다. 이유는 없습니다.

그냥 입니다. 나이키 카피아시죠 Just do it!!!!!!! .이유같은 것 없습니다.

그냥 그렇게 하고 싶으니까..하는 거였습니다…ㅋㅋㅋㅋㅋㅋㅋㅋ안되는데..그냥하면 안되는데…..위험한데...이유와 명분이 있어야 하는데...그렇습니다.이유는...레지스트리에 대해서 학습해야 하니까…? 왜 전 우주적으로 가장 훌륭한 시스템 프로그래머가 되어야 하니껭~~!!

참말로 말많네~~!!


자...코드를 짜보아요~~!


어떻게 짜냐고요???


이렇게 짜면 되는거에요~~


이런식으로….짭니다…


미친소릴 했네요…


코드를 짭시다…;;



자 실제로 짜 보겠습니다.




#include "stdafx.h"

#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])

{

HKEY hKey = NULL;

LONG lResult;


lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,

L"SYSTEM\\CurrentControlSet\\Control",

0,

KEY_READ,

&hKey);

if ( ERROR_SUCCESS != lResult )

{//에러라고..탈출하라고~!

goto quit;

}

DWORD dwType = REG_SZ;

wchar_t szData[256] = L"";

DWORD dwSize = 256;

RegQueryValueEx( hKey,

L"CurrentUser",

NULL,

&dwType,

(LPBYTE)szData,

&dwSize);


quit:

return 0;

}






szData에..값을 읽어오면 되는 거죵~

여러분 뜨게질한다고 생각하고

코드를 짜셨어용^^?


이렇게하면..레지스트리에 있는 값을 아주 잘 읽어올 수 있습니당..

예외처리가 되다 말았지만…

그건 다음에 해요..너무

귀찮아 살겠으니까용~~!!

나는 천상개발자가 아닌가? 긴가? 나도 모르겠당...ㅎㅎㅎ

나의 친구는 컴퓨터였어;;;

앞으로 나의 친구는 컴퓨터일것인가?

아니다.

아의 진짜 친구는 예수님이시다..

부활을 하지 않은 존재와는

나는 친구가 될 수 없는 것인가?

ㅎㅎㅎ

부활은 해야 나의 진짜 친구가 될수 있는 것이당

부활을 아는가?

Resurrection.

죽었다 살아는것!

그것도 더 훨실 좋은 몸으로 부활해야하는 것!




+ Recent posts