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


LIST ALL
Posted by 지상현2003-04-10 19:42:22, Hit : 7493
API를 알아보자 #2
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=22
이번장에서는 API 사용법에 대해 알아봅니다...

1. API는 어디에 있을까?

Windows의 API는 DLL의 형태로 제공됩니다.

DLL안의 함수를 사용하면 됩니다.

Windows API를 담고 있는 DLL은 kernel32.dll, user32.dll, gdi32.dll, winspool.drv, lz32.dll, advapi32.dll 등이 있습니다.

저 파일들은 모든 Windows에 있으므로 Windows 버전이 구애받지 않고 사용할 수 있습니다(만... 버전별로 다른 기능을 하거나 약간 다른 API가 있습니다. 이건 MSDN을 참조합시다... http://www.microsoft.com/korea/msdn )

2. 창조에서 사용할수 없는 API

그러나 창조에서 사용할수 없는 API가 있습니다...

어떤것들이냐 하면

(1) 구조체 변수를 요구하는 경우.
창조에선 아직 구조체를 정의할 수 없으므로 불가능합니다(일부 가능하기도 함).
그러나 C에서 LPVOID나 VB에서 Any나 델파이에서 Pointer 인 것은 사용할수 있긴 합니다.

(2) 포인터를 요구하는 경우.
포인터는 간단히 말해서 변수의 메모리 주소라고 생각하심 됩니다. 기본적으로 Call by reference 방식이 없는 C같은 경우에는(C++에는 있슴다...) 변수의 주소를 가져와서 그 주소에 값을 때려박는 방법으로 Call by reference 호출 방식으로 구현하게 됩니다만,
델파이로 만들어진 창조의 변수 넘김 방식도 당연히 델파이를 따라 Call by value가 됩니다(값 자체를 넘겨줍니다). 그러므로 사용할 수 없습니다.

(3) 배열을 요구하는 경우.
앞서 말은 안했지만, API는 모두 C로 만들었습니다. 그런데 C는 내부적으로 포인터를 배열로 처리합니다. 그렇기 때문에 포인터가 지원안되는 창조는 배열을 넘길 수 있습니다(배열 자체를 넘길 수 없다는 말입니다. 배열의 항목은 넘길 수 있음).


3. 창조에서 API를 사용해 보자 #1

창조에서 API를 사용해 보기 전에, 각 API는 어느 DLL에 들어있는지 알아봅시다.

user32.dll - GUI를 맡고 있습니다. 창이나 버튼 생성은 얘가 관리합니다. 마우스나 키보드도 얘가 관리합니다.
gdi32.dll - 그래픽 관련 함수를 맡고 있습니다.
winspool.drv - 프린터를 맡고 있습니다.
kernel32.dll - 메모리, 프로세스를 맡고 있습니다.
lz32.dll - 압축을 맡고 있습니다.
advapi32.dll - 레지스트리등 잡다한것을 맡고 있습니다.

먼저 API를 사용하기 전에 API의 특성을 알고 사용할 DLL을 찾습니다...

지상현   2006-09-26 AM 3:47:25  
정정
2-1: 구조체 사용 가능.
2-2: 포인터 일부 사용 가능.
2-3: 배열 사용 가능.
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
119
   [강좌#7] 창조 오류 해부 2탄 (일부작성중) [1]
ps.이진백 2004/05/19  20970
118
     [강좌#7.5] 창조 오류 해부 2.5탄 (나머지)
지상현 2010/06/02  11539
117
   #1 비트 연산이란? - 진수 표기법
지상현 2005/10/09  11393
116
   [강좌#9-2] 이노셋업의 오른팔 istool 초보자 수련 - 언어 [1]
ps.이진백 2004/07/04  11143
115
   창조와 ActiveX (2)
지상현 2007/08/11  10793
114
   창조입문. :창조란 무엇인가?&CDP만들기: [9]
변혁수 2002/09/06  9943
113
   몇가지 유용한 정보 모음 [5]
최재일 2006/01/13  9363
112
   [강좌#9-1] 이노셋업의 오른팔 istool 초보자 수련 [4]
ps.이진백 2004/07/04  9295
111
   [강좌#1] 프로그램 추가/제거를 제어판에서! [3]
ps.구루 2003/01/28  8451
110
           [3강] 타원을 그려보자! (원 포함)
박종훈 2009/10/24  8370
109
   창조와 ActiveX (1)
지상현 2007/08/07  8279
108
   창조 첫 시작시 명령어 익혀보자~ [4]
박종훈 2006/12/23  8045
107
   대박로또에 적용된 자동업데이트 알고리즘.. [7]
최재일 2004/09/13  7942
106
   환경파일로 파워유저되어보자![개정판] [예제/사용!] 2 [6]
박종훈 2007/01/02  7767
105
       [1강] 직선을 그려보자!
박종훈 2009/10/24  7723
104
   [강좌#8] 자동업데이트 구현 [2]
ps.이진백 2004/06/22  7708
103
   창조입문 : 메모장 만들기 [2]
신용주 2008/12/20  7552
102
   컴퓨터에서 소수점을 표기하는 방식에 대해 [1]
지상현 2012/01/03  7517

   API를 알아보자 #2 [1]
지상현 2003/04/10  7493
100
   유용한 기능을 사용자함수로 이용하기 종합.. [9]
최재일 2004/06/18  7443
99
   맞짱! 포인터(Pointer) - 2부 [C언어 포인터 존재를 확인하자!]
박종훈 2009/02/26  7287
98
   창조로 빠져보는 API #3 [13]
지상현 2005/09/04  7268
97
   윈도우즈의 시스템폴더 경로 추출법 [3]
Pueding 2002/09/08  7248
96
   [쉬운강좌]#4.창조에서 압축프로그램만들자.(1) [8]
창조신화 2002/09/16  7137
95
   골칫거리 ㅎ사용자함수 DLL하나로 해결하기! [7]
박종훈 2007/06/23  7108
LIST ALL   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이희철
로그인