창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판 (1/0)
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 지상현2005-09-04 14:40:46, Hit : 7065
창조로 빠져보는 API #1
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=80
---------------------------------------------------------------------------------
결국 API입니다 -_-;
잘만 쓰면 강력한, API란 놈을 써먹는 방법에 대해서 강좌를 해보려고 합니다.
최대한 재미있게 써볼 생각이니 많은 성원을...-_-; 존칭은 생략하겠습니다 -.-
아, 그리고 각종 용어는 제멋대로 가능한 한글로 써버릴 것이니 알아서 이해를 ㅠㅠ
---------------------------------------------------------------------------------



0. API, 대체 너의 정체가 뭐냐?
API는 그저 서비스

API(앞으로 API라 하면 윈도 API의 줄임말!)가 뭔지 모르는 사람은 없겠지만!
간단히 말해, 윈도란 놈에 빌붙어서 살아가는 윈도용 프로그램을 만들기 위해, 이 윈도가 제공해주는 일련의 서비스를 몽땅 윈도 API라고 한다.


1. 그럼 API란 놈의 서비스를 받아보자!
흔히 API는 DLL 함수로

대부분의 API는 DLL 함수로 제공된다(아닌 것도 있다는 소리 ㅠㅠ). 그러니까 우리도 DLL 함수를 써서 API를 쓸 수 있는 것이다.
그럼 창조에서 DLL 함수를 쓰는 방법을 알아보자!

창조에선 ㅎ사용자함수란 객체를 제공하는데, 이 것을 살포시 아무 창 위에 올려두자.

이제 속성 창을 보자. 연결여부 라는 것이 있다. 이 것은 이 사용자함수가 앞으로 날 부르면 귀찮으니까 대신 DLL에게 일을 시키겠다! 라는 뜻이니, DLL에게 일을 맡기기 위해 으로 해둔다.

어? 그런데 어디 DLL 파일이 한두개인가! 컴퓨터는 원래 멍청한 기계이기 때문에, 넌 앞으로 이 DLL 파일을 써먹어 하고 알려줘야 한다. 연결여부 바로 밑에 연결파일 이란 속성에 DLL 파일 경로를 써주면 된다.

DLL 파일 이름만 달랑 써줘도 되는 경우가 있는데, 그 것은 DLL 파일이
1) 나(EXE 파일)과 같은 폴더에 있을 때
2) 내가 실행될 때 누군가가 지정해준 작업 폴더(Working Directory)에 있을 때
3) Windows, System 폴더에 들어있을 때
4) 기타 시스템에 지정된 환경 폴더(Environment Directory)에 들어 있을 때

우리가 써먹으려는 API를 가지고 있는 DLL들은 반드시 시스템 폴더에 들어 있기 때문에, API를 쓸 때는 그냥 파일 이름만 적어주면 된다.
또, 이러한 DLL은 모든 윈도에서 공통이기 때문에, (몇 놈을 빼고는) 다른 윈도에도 꼭 있을 거라는 확신을 할 수 있다.

이제, 사용자함수의 빈 공간에 API 함수의 원형을 적어넣고 그 함수를 불러주기만 하면 우리는 API의 서비스를 받는 것이 된다. 아이고~ 편해라
(그 작업은 나중에 할란다~)


2. API를 서비스 해주는 DLL는 누가 있을까?
어떤 작업을 하느냐에 따라 DLL 파일이 달라진다

짜장면을 시켰는데, 군만두가 서비스로 딸려왔다.
또 피자를 시켰더니 콜라가 딸려왔다.
아마 짜장면을 시켰는데 콜라가 같이 오거나, 피자를 시켰는데 군만두가 오면 매우 이상할 것이다(-_-).

마찬 가지로, 이 API란 놈도 아무 DLL에 있는 것이 아니고, 어떤 기능을 하느냐에 따라 각각의 DLL에 담겨있다. 다음에 몇 가지를 간단하게 소개시켜 놓았다.
(사실 저 DLL이 일을 하는 것이 아니라 저 DLL들도 다른 놈들에게 이렇게 하라고 일을 시키는 것에 불과하지만, 짜장면집 사장이 배달을 짱깨에게 시킬건지 퀵서비스에게 시킬건지 알게 뭔가? 우린 그저 짜장면 한 그릇을 배달 받으면 땡이다 ^_^)

kernel32.dll - 윈도핵심 기능을 담당한다. 주로 메모리, 프로세스(및 쓰레드), 여러가지 시스템 객체들을 완전 쥐고 있다.
user32.dll - 주로 GUI 를 담당한다. 여기에 특히 창에 대한 함수가 많다.
gdi32.dll - 그래픽 담당이다. 이 것으로 많은 뻘짓을 할 수 있으며, 잘만 쓰면 DirectX 못지 않은 속도를 낼 수도 있는 놈이다.
advapi32.dll - 잡다한 고급 기능(?)을 담당한다. 주로 레지스트리와 보안을 담당하는데 창조에서 쓸 데 없다 -_-;
lz32.dll - 압축 담당. 하지만 많은 것을 바라지 말자.
shell32.dll - 담당! 쉘이란, 작업표시줄이나 바탕 화면, 탐색기 같은 윈도가 제공하는 그런 놈들을 말한다.

그 밖에도 엄청 많지만 핵심 몇 가지와 직접 써먹어볼 DLL만 소개했다.





1회 강좌 끝

더 쓰려고 했는데, 배도 고프고(-_-) 너무 길어지니 편집하기도 힘들어서(-_-) 다음 편으로 넘길랍니다.

다음 회에선 다른 언어로 선언된 함수를 창조식으로 바꾸는 방법, 그리고 거기에 따른 부가적인 것에 대해 다루겠습니다.

손상진   2005-09-04 PM 2:48:02  
글참 재밌게 쓰셨네요..
재밌게 봤습니다. ^^..
qkrwhdgns   2005-09-04 PM 3:49:47  
창조식으로 바꾸는 방법.. 이거.. 정말 궁금 하네요^^
빨리 나왔으면^^
지식인 검색하면.. 거의 C++,VB 등등의.. 유명한.. 플밍에.. 대해 언급하니. 원..
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
44
   기타 자료실에 있는 다람쥐어 (파악해 보자_) [2]
김제형 2009/05/03  5790
43
   대박로또에 적용된 자동업데이트 알고리즘.. [7]
최재일 2004/09/13  7958
42
   리소스 해커를 이용하여 DLL 파일안의 HTML 문서 넣기! [4]
qkrwhdgns 2005/07/20  5683
41
   마우스 오른쪽 눌렀을때의 메뉴 뜨게하기(초보용)
이시영 2005/02/02  5169
40
   맞짱! 포인터(Pointer) - 1부 [C언어 들춰보자!] [7]
박종훈 2009/02/26  6289
39
   맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
박종훈 2009/02/26  7321
38
   맞짱! 포인터(Pointer) - 3부 [창조에서 포인터를 사용해보자!] ... 제작중
박종훈 2009/02/26  5952
37
   몇가지 유용한 정보 모음 [5]
최재일 2006/01/13  9396
36
   미니강좌#1 [DLL없이 바탕화면 바꾸기] [5]
창조ⓕⓐⓝ 2003/01/13  5957
35
   방금생각한 암호화 알고리즘 - -;; [2]
박재성[날개달기] 2004/07/29  5686
34
   배열 강좌 [2차 배열, 3차 배열 까지]
Pueding 2004/02/21  5948
33
   배열강좌 추가..
nylon 2004/02/25  5384
32
   쉽고 빠르게 프로그래밍 하기 위한 방법들
장규형 2006/11/22  5416
31
   스크린세이버에대한 분석 [5]
박재성[날개달기] 2006/03/08  5303
30
   스킨 적용 강좌 [1]
Pueding 2003/10/12  5841
29
   영문 윈도우에서의 창조로 만든 프로그램.. [16]
손상진 2005/01/02  5966
28
   윈도우즈의 시스템폴더 경로 추출법 [3]
Pueding 2002/09/08  7261
27
   유용한 기능을 사용자함수로 이용하기 종합.. [9]
최재일 2004/06/18  7466
26
   자연수들의 합 쉽게 구하는 방법(수학과 프로그래밍) [7]
박종훈 2009/02/15  6142
25
   재미있는 포인터 강좌 -1- [2]
지상현 2005/10/12  6293
24
   창조 로 만든 프로그램의 메모리 사용률을 낮춰보자 [2]
Pueding 2002/09/08  7104
23
   창조 시작단계 문법배워볼까? [M 0608181240] [8]
박종훈 2006/08/17  6530
22
   창조 첫 시작시 명령어 익혀보자~ [4]
박종훈 2006/12/23  8060
21
   창조 초보자들을 위한 아주 기본적인 사용법
김대명 2011/03/09  6239

   창조로 빠져보는 API #1 [2]
지상현 2005/09/04  7065
LIST ALL   Prev [1][2][3] 4 [5] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인