我想问一下如何在ShellExecute
在我的情况下,我想添加一个文件的路径。
#include <windows.h>
#include <iostream>
int main()
{
std::string path={"C:\Users\Me\CLionProjects\storage\cmake-build-debug\bookshop.txt"};
ShellExecute(NULL,"edit","path",NULL,NULL, SW_SHOWNORMAL);
return 0;
}
我尝试过c_str()
,但没有用。它正在编译没有错误,但txt文件没有oppening。有线索吗?
答案 0 :(得分:0)
你需要在字符串文字中转义反斜杠,并摆脱括号:
std::string path = "C:\\Users\\Me\\CLionProjects\\storage\\cmake-build-debug\\bookshop.txt";
然后,您需要使用std::string::c_str()
方法将字符串传递给ShellExecute()
。由于您使用的是std::string
,因此您应该使用基于char
的{{1}}代替基于ShellExecuteA()
的{{1}}:
TCHAR