Contents

Atachment
Attachment '2'
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
우리가 현재 실행되고 있는 프로그램의 현재 작업 디렉토리를 알아 오기 위해서 위해서 "GetCurrentDirectory()"를 주로 이용합니다.
그럼 아주 쉽게 프로그램의 작업 디렉토리를 알아 옵니다.

여기에서 프로그램이 .dll 혹은 .ocx를 안고 있다면 좀 생각해 보아야 할 상황이
생길 수가 있습니다.

먼저, 프로그램에서 "GetCurrentDirectory()"함수를 이용해서 해당 경로에서 검색을
한다고 할 때, 검색할 폴더의 경로를 GetCurrentDirectory()함수를 통해서 얻어진
경로에 해당 파일을 찾고자 할 때 문제가 발생할 수가 있습니다.

그 문제는 .dll 혹은 .ocx에서 SetCurrentDirectory()함수를 이용해서 현재 Process의
Current Directory를 바꾸어 버리면, 프로그램에서 GetCurrentDirectory()함수를 통해
얻어지 경로는 .dll 혹은 .ocx에서 SetCurrentDirectory()함수를 이용해서 설정한 폴더로
바꾸어 버립니다. 그래서 프로그램에서는 엉뚱한 경로에 가서 해당 파일을 찾다가  못
찾았다고 할 것입니다.

위의 문제를 해결하기 위해서는 프로그램에서 상대경로를 사용하고 있기 때문에 위와
같은 문제를 발생할 수가 있습니다. 그래서 절대경로를 이용하는 방법이 있을테고, 
다른 방법은 .dll 혹은 .ocx에서 SetCurrentDirectory()함수를 사용하지 않는 것입니다.

이 문제를 한번 재현해 보고 싶어서 Sample Source를 짜 보았습니다.
정말 우리가 예상했던 결과대로 Current Directory가 바뀌어 버리네요.

?

List of Articles
No. Category Subject Author Date Views
153 System/OS [sql] 중복데이터 삭제 쿼리 hooni 2013.04.23 14813
152 Database [sql] 쿼리로 문자열 검색해서 일괄 치환하기 hooni 2014.02.13 10066
151 Database [sql] 한눈에 보이는 Join file hooni 2014.02.19 8549
150 System/OS [svn] Can't convert string from native encoding to 'UTF-8' 메시지가 나오는 경우 hooni 2014.12.18 1163
149 System/OS [svn] SVN trunk 변경사항 되돌리기 (SVN Rollback) hooni 2014.11.27 1714
148 Etc [svn] 콘솔에서 svn 사용시 레티나용 이미지 add 안될 때.. hooni 2013.09.25 37646
147 System/OS [svn] 하나의 SVN에서 멀티 저장소 (One svnserve, multiple repositories) hooni 2015.01.02 1794
146 Develop [swift] NotificationCenter 간단 예제 file hooni 2021.01.27 8340
145 Develop [swift] popToRoot 모달뷰, 네비게이션컨트롤러 한꺼번에 닫기 file hooni 2021.01.29 1599
144 Develop [swift] UIView에서 subview 찾기 hooni 2022.12.09 2059
143 Develop [swift] 실행시간 측정하기 hooni 2021.09.14 844
142 System/OS [switch] 시스코 스위치 관리자 암호 초기화 방법 hooni 2013.04.23 17290
Board Pagination Prev 1 ... 81 82 83 84 85 86 87 88 89 90 ... 98 Next
/ 98