【发布时间】:2020-09-14 21:54:59
【问题描述】:
我想运行我的程序 所以我做了这个程序:
string zpath1, zpath2, zpath3, zpath3;
zpath1 = "C:\\Users\\";
zpath2 = zpath1 + getenv("USERNAME");
zpath3 = zpath2 + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\ConsoleApplication23.exe";
system(zpath3.c_str());
但我遇到了问题 'c:\User\adrian\AppData\Roaming\Microsoft\Windows\Start' 不知道...
所以我的问题是“开始菜单”之间的空格
我该如何解决这个问题?
谢谢
【问题讨论】:
-
请注意,像这样的硬编码路径是错误的。请改用
SHGetFolderPath(CSIDL_STARTUP)或SHGetKnownFolderPath(FOLDERID_Startup)。至于空格问题,您可以 1) 在路径周围添加额外的引号字符,或者您可以使用GetShortPathName()将路径转换为其简短的 8.3 版本(其中不会有任何空格)
标签: c++