2013-03-11 2 views

답변

6

현재 디렉토리와 작업 디렉토리는 같은 것을 나타내는 두 개의 다른 이름입니다. 각 프로세스는 하나의 현재 디렉토리를 유지 관리합니다.

현재 디렉터리는 시작시에 프로세스를 생성하는 데 사용되는 함수의 매개 변수로 지정됩니다 (예 : CreateProcess). 응용 프로그램 중 하나의 현재 디렉토리를 어떻게 변경합니까? 음, 시작하는 방법에 따라 다릅니다.

  • 바로 가기에서 시작하는 경우 바로 가기 속성을 변경하여 현재 디렉터리를 지정하십시오.
  • 명령 프롬프트에서 시작하면 현재 디렉터리는 명령 프롬프트를 시작할 때 명령 프롬프트의 현재 디렉터리가됩니다.
  • CreateProcess을 호출하여 시작하는 경우 작업 전류는 에 전달하는 값이 lpCurrentDirectory 매개 변수가됩니다. NULL을 전달하면 상위 프로세스의 현재 디렉토리가 사용됩니다.
+0

바로 가기에서 메모장 ++을 시작하면 프로세스 탐색기에서 현재 디렉터리가 표시됩니다. 나는 그것을 C : \ Windows로 본다. createProcess를 실행하고 lpCurrentDirectory 필드에 유효한 디렉토리 (D : \ abcd)를 설정하면 여전히 C : \ Windows가 표시됩니다. D : \ abcd를 표시하면 안됩니까? – user2024398

+0

글쎄, 프로세스가 자신의 현재 디렉토리를 좋아할 때마다 수정할 수 있다는 것을 기억하십시오. 아마도 npp이 그 일을하고있을 것입니다. 나는 모른다. 'CreateProcess' 호출에 결함이있을 수도 있습니다. –

+0

감사합니다 :)) ... 미안 해요 Stackoverflow 초보 및 내 평판이 15 점 이하이기 때문에 귀하의 답변을 upvote 수 없습니다. 나는 그것을 얻으면 그것을 할 것이다. – user2024398

관련 문제