When it is opened with a double-click on an associated file, then the current directory is the directory that file was in. I made something like this once:
Code:
char* GetPath(char* buffer){
for(int i=strlen(buffer)-1;i>=0;i--){
if(buffer[i]=='\\'){
buffer[i+1]=0;
break;
}
}
return buffer;
}
char* GetCorrectPath(char* buffer,int size){
buffer[0]=0;
if(GetModuleFileName(GetModuleHandle(0),buffer,size)){
GetPath(buffer);
}
return buffer;
}
Or something easier:
Code:
void SwitchToHomeDir(){
char* homedir=new char[2048];
if(GetModuleFileName(GetModuleHandle(0),homedir,2048)){
for(int i=strlen(homedir)-1;i>=0;i--){
if(homedir[i]=='\\'){
homedir[i+1]='\0';
break;
}
}
SetCurrentDirectory(homedir);
}
delete[] homedir;
}