在PSDK中使用GetCurrentDirectory()和SetCurrentDirectory()来改变当前目录,示例如下: #include <windows.h> #include <stdio.h> #include <conio.h> #include <tchar.h>
#define BUFSIZE MAX_PATH int _tmain(int argc, TCHAR **argv, TCHAR **envp) { TCHAR Buffer[BUFSIZE]; DWORD dwRet;
if(argc != 2) { _tprintf(TEXT("Usage: Test <dir>\n")); return 0; }
dwRet = GetCurrentDirectory(BUFSIZE, Buffer);
if( dwRet == 0 ) { _tprintf(TEXT("GetCurrentDirectory failed (%d)\n"), GetLastError()); return 0; } if(dwRet > BUFSIZE) { _tprintf(TEXT("GetCurrentDirectory failed (buffer too small;need %d chars)\n"), dwRet); return 0; } if( !SetCurrentDirectory(argv[1])) { _tprintf(TEXT("SetCurrentDirectory failed (%d)\n"), GetLastError()); return 0; } _tprintf(TEXT("Set current directory to %s\n"), argv[1]);
if( !SetCurrentDirectory(Buffer) ) { _tprintf(TEXT("SetCurrentDirectory failed (%d)\n"), GetLastError()); return 0; } _tprintf(TEXT("Restored previous directory (%s).\n"), Buffer);
return 1; }
本示例用vc6编译连接可行。
|