char fName[FILENAME_MAX];
GetModuleFileName(NULL, fName, FILENAME_MAX);
*strrchr(fName, '\\') = '\0';
*strrchr(fName, '\\') = '\0';
*strrchr(fName, '\\') = '\0'; strcat(fName, "\\CenterDemo\\Debug\\CenterDemo.exe"); ShellExecute(this->m_hWnd,"open",fName,"","", SW_SHOW );文件路径什么的都是对的,手动点击那个exe也行,为啥这个启动不起来呢?那个地方不对啊?
GetModuleFileName(NULL, fName, FILENAME_MAX);
*strrchr(fName, '\\') = '\0';
*strrchr(fName, '\\') = '\0';
*strrchr(fName, '\\') = '\0'; strcat(fName, "\\CenterDemo\\Debug\\CenterDemo.exe"); ShellExecute(this->m_hWnd,"open",fName,"","", SW_SHOW );文件路径什么的都是对的,手动点击那个exe也行,为啥这个启动不起来呢?那个地方不对啊?
试试这样
返回值为:D:\myproject\CenterDemo\Debug\CenterDemo.exe。路径正确
我猜测是不是用了相对路径,在工作路径改变的情况下,导致这个EXE获取不到它的cfg文件啊???
ShellExecute(NULL,_T("open"),path,NULL,NULL,SW_SHOW);