首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ShellExecute使用方法,该怎么解决

2013-08-01 
ShellExecute使用方法A程序使用ShellExecute打开另一个程序B,并传参的过程中,如果B不关联dll则能正常打开

ShellExecute使用方法
A程序使用ShellExecute打开另一个程序B,并传参的过程中,如果B不关联dll则能正常打开并正常接收参数,如果关联dll则打开正常但无法接收参数。 不知为何?望知道的兄弟解答 谢谢!!
A中代码如下:


void CShexeDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
CString szPath = QueryExePath()+"aut.exe";
 CString szStr=_T("0102001");
 ShellExecute(NULL,"open",szPath,szStr,NULL,SW_SHOW);
}

CString CShexeDlg::QueryExePath()
{
TCHAR path[MAX_PATH];
::GetModuleFileName(NULL,path,MAX_PATH);
CString p(path);
CString subp;
int nPos = p.ReverseFind('\\');
return p.Left(nPos+1);
}


在B中InitInstance()函数接收代码:

LPSTRlpsz=GetCommandLine();
theApp.str1=lpsz;


[解决办法]
没看明白
什么叫关联dll?
[解决办法]
dll 这个是做啥用?B.exe 必备吗???
[解决办法]
这个问题跟ShellExecute()函数的使用没有关系吧?
[解决办法]
是否是环境变量问题?
B中是如何加载dll的?是相对路径还是绝对路径?
A通过ShellExecute启动一个进程,当前目录为A所在的目录

热点排行