我的可执行文件在这个地方 --> D:\Examples\C_Pro\newApp.exe 在那个“C_Pro”文件夹中也包含几个文件(file1.txt、file2.txt、file44.exe、newApp.c)
在我的 newApp.c 文件中,我包含了一个 ShellExecute 函数来执行同一文件夹中的“file44.exe”文件,如下所示 --> ShellExecute(NULL,"open","D:\Examples\C_Pro\file44.exe",NULL ,NULL,1)
这样一切正常..
我说的是 VB 中的 AppPath 之类的东西
但情况是我想在不同的电脑上运行这个 newApp.exe 所以我想用另一台电脑中包含“newApp.exe”文件的任何路径替换“D:\Examples\C_Pro\”。(比如 C :\软件\ )
我使用 GetModuleFileName 函数获取路径,但它包含 newApp.exe 部分,我只想要新目录 PathRemoveFileSpec 函数不起作用的点。
以及 GetModuleFileName 的返回路径,如 --> D:\Examples\C_Pro\newApp.exe 但是当我们将一些路径放入 ShellEcxecute 时,需要像这样的双字节(空格序列) --> D:\Examples\C_Pro\
我怎样才能摆脱这个问题。
实际的代码片段是这样的......
int main()
{
ShellExecute(NULL,"open","D:\\Softwares\\TypingMaster700.exe",NULL,NULL,SW_SHOWNORMAL);
}
但我想这样做。(这是一个虚拟函数,这里的“some_Funtion”表示虚拟函数,用于解释目的。
int main()
{
char *dirPath = some_Function(a,x,d);
char *fullPath;
fullPath = strcat(dirPath,"\\TypingMaster700.exe");
ShellExecute(NULL,"open",fullPath,NULL,NULL,SW_SHOWNORMAL);
}