最近在做一个小工具
在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);
这样是没问题的。