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


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 지상현2005-10-28 22:48:20, Hit : 6323
확실한 시스템/윈도우/임시 폴더 알아오기
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=248
살펴보다 보니까, 이런 것이 없네요.

푸딩님께서 레지스트리를 통해 알아오시는 예제가 있지만...
보시면 아실텐데 많이 복잡하고, 문제 있어 보입니다.

역시 확실한 해결책은 API입니다.
(*물론 모든 일에 API가 능사는 아니지만, "Windows가 제공하는 기능을 이용하기 위해서는" Windows API가 가장 확실하겠죠~)


여하튼, API가 있다 이겁니다.
이름이나 알아볼까요.

윈도우 폴더는 어디니 - GetWindowsDirectory (시스템 고정 윈도우 폴더)
시스템 폴더는 - GetSystemDirectory (시스템 고정 시스템 폴더)
임시 폴더는! - GetTempPath (멀티 사용자 계정에 따른 임시 폴더를 알아옴)


이번엔 함수 선언문을 밝혀보겠습니다.

실수함수: GetWindowsDirectoryA(문자:버퍼; 실수:길이);
실수함수: GetSystemDirectoryA(문자:버퍼; 실수:길이);
실수함수: GetTempPathA(실수:길이; 문자:버퍼);

몽땅 kernel32.dll


GetTempPath 만 독종이라는 것을 기억해두시길... 인자가 반대입니다.

여하튼, 버퍼에는 알고 싶은 경로의 길이 만큼 아무 문자나 넣어둡니다.
100 글자가 알고 싶으면 공백을 100개 넣어두면 되겠죠. 공백 문자를 지정한 수 만큼 만드는 함수를 따로 만들어 사용하면 편리하겠죠^^
길이에는 아까 만든 버퍼의 길이를 넣습니다. 여기서는 100을 넣으면 되겠죠?

반환값은, 얻어온 경로의 진짜 길이입니다. 문자복사로 잘라주는 게 좋습니다.

그럼 경로는 어디에 들어갈까요? 당연히 아까 넣어준 버퍼입니다.


자... 이제 설명은 다 끝났습니다.
간단하게 사용해볼까요?

시스템 폴더를 알아오겠습니다.
*다시 말씀드리지만 GetTempPathA 는 인자가 바뀌어 있습니다. 주의하세요.


문자:경로;
실수:경로길이;

// 30 글자를 알아오기 위해 버퍼를 잡습니다. 꼭 공백문자일 필요는 없습니다.
경로 := "                             ";
경로길이 := 사용자함수0.GetSystemDirectoryA(경로, 30);
// 불필요한 공백을 지웁니다.
경로 := 문자복사(경로, 1, 경로길이);

문자창보여(경로);

qkrwhdgns   2005-10-29 PM 3:39:33  
API중에서.. GetWindowsDirectoryA란 것이 있는것은..
대략 알았는데.. 어떻게 사용하는지 몰라서 ..-_-..
유용한 팁인데요^^.. 레지스트리 뒤지지 않아도 된다^^;
qkrwhdgns   2005-11-06 PM 8:07:54  
공백을.. 30으로 잡으면.. 30까지의 문자만 얻어오잖아요..
만약.. 윈도우폴더가.. 30글자를 넘으면;;
지상현   2005-11-06 PM 11:26:57  
당연히 더 잡아 주셔야;
일반적으로 MAX_PATH 값 만큼만 하시면 돼요. 이 값은 260 입니다.
qkrwhdgns   2005-11-07 PM 4:58:50  
시스템 폴더는.. SYSTEM (또는 SYSTEM32) 란 시스템 폴더의
이름을 생각해서.. 260 + 8 을 해주어야 겠네요..
지상현   2005-11-07 PM 6:04:36  
아니죠;;
260이면 다 됩니다. 260 글자의 길이가 얼마라고 생각하세요?
qkrwhdgns   2005-11-27 AM 7:08:16  
아.. 그렇군요^^;
LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
192
   보안의 10대 법칙 [11]
위자드 2004/12/22  5144
191
   기본객체의 글꼴을 '돋움'에서 '굴림' 으로 변경하기.. [12]
변혁수 2005/01/19  5117
190
   내용 에서 내용으로 문자 빨리 복사해가기.. [4]
손상진 2005/01/21  5448
189
   [팁] 팝업메뉴 만들기 [초보용] [5]
강성민[FreeCreate] 2005/03/04  4733
188
   [TIP] 창조 0.9의 그림판 투명창을 깔끔하게 만들기 [3]
권선중 2005/03/08  6312
187
   [TIP] 프로그램 제작시 프로그램크기는 무시하세요.... [4]
권선중 2005/03/09  5716
186
   api 사용 파일다운로드시.. [2]
박재성[날개달기] 2005/03/22  5218
185
   [팁] ^ㅁ^ [4]
박재성[날개달기] 2005/04/14  5280
184
   컴퓨터 단위들.. [2]
손상진 2005/04/17  5403
183
   초보의 허접 팁입니다 - 창 종료할때 위치와 크기 기억하기 - [2]
짱아 2005/04/26  5097
182
   [버그리포트] 이름표#숫자.제목:="랄랄라"; 식의 명령을 쓸때.. [4]
손상진 2005/06/26  5131
181
   [끼적 Tip] 다계정 로그인 구현 [2]
권선중 2005/06/26  4751
180
   [TIP]선중암호화 구현의 보완방법 [2]
권선중 2005/08/04  5521
179
   커즈닷컴 로그인 주소 [2]
qkrwhdgns 2005/08/21  5488
178
   xp에서 창조로 시스템 종료및 리부팅 하기.. [9]
권선중 2005/08/23  5551
177
   [Tip] 창조로 엑셀파일 형식으로 저장하기~ ㅋ [6]
최재일 2005/09/04  5953
176
   (Tip(?)) 명령어 편집창에서 키보드로 블록(선택)잡기 [4]
qkrwhdgns 2005/10/03  6065
175
   팁입니다 ㅡ,ㅡ;; 확장자없는 미디어 사용하기 ㅡㅡ; [1]
만물 2005/10/04  6165
174
   [팁] 파일에 정수값 쓰기
지상현 2005/10/05  5504
173
   [팁#2] 파일에서 정수값 읽기!
지상현 2005/10/05  5764
172
   [팁#3] 파일에 정수값 쓰기, 또 다른 방법!
지상현 2005/10/05  5552
171
   창조 도움말이 뻥을 쳤다! [5]
지상현 2005/10/08  5328
170
   창조에서 음수를 사용할 때 주의하자! [1]
지상현 2005/10/08  6832

   확실한 시스템/윈도우/임시 폴더 알아오기 [6]
지상현 2005/10/28  6323
168
   마우스/키보드 누를때,눌렀을때.. 속도(?) [1]
qkrwhdgns 2005/11/13  5621
LIST ALL   Prev [1][2][3][4][5][6] 7 [8][9][10]..[14] 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이희철
로그인