当前位置: 代码迷 >> VC >> 新人一个关于ShellExecute函数的有关问题
  详细解决方案

新人一个关于ShellExecute函数的有关问题

热度:593   发布时间:2013-02-25 00:00:00.0
新人求助一个关于ShellExecute函数的问题
最近在做一个小工具

在visual studio 2010的MFC下做的

现在添加了一个listbox控件

listbox里有每个文件的文件名

例如abc.txt

再用GetCurSel和GetText保存当前list选取的文件名

例如abc.txt

然后我保存到新定义的char str[100]中

之后用ShellExecute函数打开

现在的问题就是

ShellExecute(0, NULL,"notepad.exe","abc.txt","\\a\\b", SW_SHOW);

这样写就能调用成功

但我目的不是这样

我想把abc.txt作为参数传给ShellExecute函数

例如:ShellExecute(0, NULL,"notepad.exe",str,"\\a\\b", SW_SHOW);这样就不成功

虽然notepad打开成功

但abc.txt没打开

notepad显示文件名目录名或卷标语法不正确

我也使用过WinExec和CreateProcess

但就是传不了abc.txt这个参数给notepad

求解决方案


------解决方案--------------------------------------------------------
ShellExecute(0, _T("open"), _T("notepad.exe"), str, NULL, SW_SHOW);
------解决方案--------------------------------------------------------
char str[100];
sprintf(str,"%s","abc.txt");
ShellExecute(NULL, NULL,"notepad.exe",str, NULL, SW_SHOWNORMAL);

这样是没问题的。