Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Etkin yolun sonundaki dizin geçerli dizin olarak adlandırılır; açıkça değiştirilmediği sürece etkin uygulamanın başlatıldığı dizindir. Bir uygulama, GetCurrentDirectory işlevini çağırarak hangi dizinin geçerli olduğunu belirleyebilir. Bazen, uygulama gerektiriyorsa sürücü harfinin dahil olduğundan emin olmak için GetFullPathNameişlevininkullanılması gerekir.
Not
Her işlem yalnızca bir geçerli dizine sahip olsa da, uygulama SetCurrentDirectory işlevini kullanarak birimleri değiştirirse, sistem her birim için son geçerli yolu (sürücü harfi) hatırlar. Bu davranış, yalnızca geçerli dizin referans noktasını farklı bir birime değiştirirken tam nitelikli yol içermeyen bir sürücü harfi belirtildiğinde kendini gösterir. Bu, Get veya Set işlemleri için geçerlidir.
Bir uygulama, SetCurrentDirectory işlevini çağırarak geçerli dizini değiştirebilir.
Aşağıdaki örnekte, GetCurrentDirectory ve SetCurrentDirectorykullanımı gösterilmektedir.
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#define BUFSIZE MAX_PATH
void _tmain(int argc, TCHAR **argv)
{
TCHAR Buffer[BUFSIZE];
DWORD dwRet;
if(argc != 2)
{
_tprintf(TEXT("Usage: %s <dir>\n"), argv[0]);
return;
}
dwRet = GetCurrentDirectory(BUFSIZE, Buffer);
if( dwRet == 0 )
{
printf("GetCurrentDirectory failed (%d)\n", GetLastError());
return;
}
if(dwRet > BUFSIZE)
{
printf("Buffer too small; need %d characters\n", dwRet);
return;
}
if( !SetCurrentDirectory(argv[1]))
{
printf("SetCurrentDirectory failed (%d)\n", GetLastError());
return;
}
_tprintf(TEXT("Set current directory to %s\n"), argv[1]);
if( !SetCurrentDirectory(Buffer) )
{
printf("SetCurrentDirectory failed (%d)\n", GetLastError());
return;
}
_tprintf(TEXT("Restored previous directory (%s)\n"), Buffer);
}