yfaicy1314
弄-潮-人
采纳率66.7%
2015-09-14 07:45 阅读 4.2k

传递参数调用exe,SHELLEXECUTEINFO里的lpParameters怎么设置?

(C++棘手问题)我想传递参数调用exe,采用的是SHELLEXECUTEINFO,要传递的参数有好几个,保存在一个文件里面,请问大牛们
SHELLEXECUTEINFO中lpParameters应该怎么设置呢?就是说根据我的情况,lpParameters应该赋什么值?自己最近看了不少SHELLEXECUTEINFO的用法,但是都没找到我这个情况。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2015-09-14 08:56
     如果
    proc.StartInfo.FileName = Path.Combine(Server.MapPath("/"), "Office2Pdf.exe");
    proc.StartInfo.Arguments = string.Format("{0} {1}", officePath, pdfPath);
    那么C++里面参数应该是
    ShellInfo.lpParameters = _T("\"Office文档所在的路径\" \"输出文件路径\");
    注意加上\",因为路径可能有空格。
    
    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2015-09-14 08:39

    lpParameters

    可选。运行/打开程序的参数,如果打开的是一个文档,则该项无效

     SHELLEXECUTEINFO ShellInfo; 
    
    
    
        memset(&ShellInfo, 0, sizeof(ShellInfo)); 
    
        ShellInfo.cbSize = sizeof(ShellInfo);
    
        ShellInfo.hwnd = NULL; 
    
        ShellInfo.lpVerb = _T("open"); 
    
        ShellInfo.lpFile = _T("D:\\test\\ShellExecuteEx\\debug\\image.exe"); // 此处写执行文件的绝对路径
    
        ShellInfo.lpParameters = _T("D:\\a.txt D:\\b.txt");
    
        ShellInfo.nShow = SW_SHOWNORMAL; 
    
        ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS; 
    
    
    
        BOOL bResult = ShellExecuteEx(&ShellInfo);
    
    点赞 2 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-09-14 08:53

    看你的exe的定义。比如说word /p 文件名,可以打开文件,并打印。cmd /k,这个参数可以在调用了命令后保持窗口打开。不同的exe有不同的参数。

    点赞 1 评论 复制链接分享

相关推荐