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


LIST ALL
Posted by 지상현2003-04-10 19:58:38, Hit : 5960
API를 알아보자 #3
Homepage : http://bc88c.m1318.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=open_lec&no=23
아래 자료는 테스트를 안해봐서 작동을 100% 보장할 수 없습니다...

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

일단 창을 닫게 해주는 API인 DestroyWindow를 사용해 보겠습니다.

물론 창조에서 창0.닫아; 하면 닫힙니다만, 우리는 API를 사용해보기로 하므로...

먼저 창조에서 API를 사용하려면 어떻게 해야 할까요?

먼저 창을 만들고, 창 위에 "ㅎ사용자함수" 객체를 올려놓습니다.

이 객체는 외형은 없으나 명령어를 담고 있는 객체입니다.

2. API 선언

먼저 이 객체에서 속성 페이지에서, "연결파일"을 user32.dll 을 입력합니다.

그리고 사건 페이지에서 아무거나 빈 공간을 클릭한후, 함수 선언부에다 다음과 같이 적어줍니다:

실수함수: DestroyWindow(실수: 핸들);

자 저것을 이제 해석해 보겠습니다.

실수함수 -> 반환값이 실수라는 것을 나타냅니다. C에서 float이나 VB에서 Long, 델파이에서 Integer와 같습니다.

DestroyWindow -> API의 함수 이름입니다. 잘못 적으면 오류 납니다.

() -> 인자를 적습니다. 인자가 없다면 괄호를 치면 안됍니다.

실수: 핸들 -> "핸들"이라는 이름의 실수 인자가 있음을 나타냅니다. 인자 이름은 맘대로 지으시고... 주의할 것은 인자의 순서와 인자 형(실수,문자...)는 반드시 API 함수와 동일하게 지어야 합니다.

※여러형의 인자를 적으실때...
아마 문자와 실수형을 받아야 하는 함수가 있다면, 저렇게 하면 오류가 날것입니다.

실수함수: 그냥API(문자: 하하, 호호, 실수: 하나둘, 셋);

호호 다음에 , 를 찍고 실수로 하면, 실수를 문자열 변수로 인식하려는 시도를 하게 되고, 예약어이기 때문에 오류가 나게 됩니다.

해결하려면

실수함수: 그냥API(문자: 하하, 호호; 실수: 하나둘, 셋);

와 같이 호호 다음에 ; 를 찍어 문자 변수 선언이 종결되었음을 알리면 됩니다.



자 이제 사용해 볼까요.

버튼을 하나 올려놓으시고... 클릭했을때 에 다음과 같이 작성하세요.

사용자함수0.DestroyWindow(창0.핸들);

이제 실행하고, 버튼을 눌러보세요.

창이 사라집니까?



☆팁

API를 사용할때, 올바른 이름을 적어도 없는 API라고 할때가 있습니다.

TextOut 같은...

오류가 나는 원인은 세가지가 있습니다.

(1) 그 DLL에 함수가 없습니다.
다른 DLL에서 찾거나, 올바른 함수 이름을 찾아보세요.

(2) 대소문자를 구분합니다.
textout이라고 써도 오류납니다. 반드시 대소문자를 구분해야 합니다.

(3) 인자중에 문자형 인자가 있을경우 ANSI냐 Unicode냐 인가를 선택해야 합니다.
일반적으로 ANSI를 사용합니다. Unicode는 일부 Windows에서만 먹히거든요...
ANSI를 사용할땐 다음과 같이 하면 됩니다.

TextOutA

유니코드는 다음과 같이 하면 됩니다.

TextOutW

============================================================================

연구, 분석할 API를 적어주세요~

API 이름이 아니라 하는 일만 적어주셔도 됩니다... 그럼...

구루™   2003-04-11 PM 3:43:30  
아... 정말 도움되는 강좌였습니다... 그런데 다음에도 이런 강좌가 계속 이어지겠죠? API말고도 DirectX(맞나?)도 배우고 싶은데....
지상현   2004-05-19 PM 11:29:28  
그놈은 창조에서 될 수 없는;;
김환욱   2004-06-16 AM 3:05:30  
컥;;;
지상현   2004-06-16 AM 6:18:13  
다른 언어로 만든 DLL을 써야만 가능합니다;
자유창조   2005-01-20 PM 10:09:54  
더이상 업데이트 안되는 창조의 한계인가 -_-...
자유창조   2005-01-20 PM 10:10:38  
아무튼 api공부 잘하고 갑니다^^;
api좀 잘 쓸수있게되면 dll도 후딱 배워야겠네요
김길남   2007-01-14 PM 6:09:42  
감사 합니다^^
이게 글이 보입니다,
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
119
   창조입문. :창조란 무엇인가?&CDP만들기: [9]
변혁수 2002/09/06  9931
118
   윈도우즈의 시스템폴더 경로 추출법 [3]
Pueding 2002/09/08  7239
117
   창조 로 만든 프로그램의 메모리 사용률을 낮춰보자 [2]
Pueding 2002/09/08  7084
116
   [창조]#02. 변수에 대하여.. [5]
nylon 2002/09/08  6175
115
   [쉬운강좌]창조에서 이쁜 아이콘 사용하자. [1]
창조신화 2002/09/08  6741
114
   [쉬운강좌]#2.레지스트리 이용하기. [1]
창조신화 2002/09/08  6678
113
   [쉬운강좌]#3.레지스트리 막 건드리기. [3]
창조신화 2002/09/08  6044
112
   #03. 객체에 대한 이해-01
nylon 2002/09/14  5465
111
   [쉬운강좌]#4.창조에서 압축프로그램만들자.(1) [8]
창조신화 2002/09/16  7129
110
   [강좌] 파일관리창 이용방법
위자드 2002/11/30  5226
109
   [강좌] 창조 명령어로 운영체제를 판가름 해 보자! [5]
카멜 2002/12/14  6351
108
   [강좌] 조건문 사용하기 [6]
카멜 2002/12/14  7065
107
   [중급 강좌] 객체의 동적 생성 - 1 [6]
웃음맨 2002/12/25  5051
106
   미니강좌#1 [DLL없이 바탕화면 바꾸기] [5]
창조ⓕⓐⓝ 2003/01/13  5935
105
   [강좌#1] 프로그램 추가/제거를 제어판에서! [3]
ps.구루 2003/01/28  8443
104
   [강좌#2] 창조 오류 해부! [9]
ps.구루 2003/04/02  5797
103
   API를 알아보자 #1
지상현 2003/04/10  6575
102
   API를 알아보자 #2 [1]
지상현 2003/04/10  7491

   API를 알아보자 #3 [7]
지상현 2003/04/10  5960
100
   [펌][강좌] 기초적인 압축 알고리즘 [8]
날개달기 2003/04/14  6304
99
   [강좌#3] 창조 재생기의 문제점과 임시대책 [2]
ps.구루 2003/04/17  5411
98
   [강좌#4] 끝내와 닫아를 구분하자! [3]
ps.구루 2003/04/26  6042
97
   스킨 적용 강좌 [1]
Pueding 2003/10/12  5814
96
   [끼적강좌 1] 버튼만들기 [동화편] [3]
권선중 2004/02/09  5245
95
     [끼적강좌 1] 버튼만들기 [밑판편]
권선중 2004/02/09  5180
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이희철
로그인