C ++ windows.h如何在ShellExecute中使用变量

时间:2017-05-29 18:30:24

标签: c++ winapi clion

我想问一下如何在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。有线索吗?

1 个答案:

答案 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