mfc--使用ShellExecute打开另一个可执行程序

ShellExecute(sFile [, vArguments] [, vDirectory] [, vOperation] [, vShow])

ShellExecute(NULL,"open",strExePath,strCmd,m_ExeFilePath,SW_SHOWNORMAL);

strExePath全路径

strCmd传的时候要用双引号""括起来

m_ExeFilePath :当strExePath是全路径时,可为NULL

转载于:https://www.cnblogs.com/xiaoxiaocaicai/p/3595263.html

### 回答1: 答案:可以使用以下MFC代码来实现: SHELLEXECUTEINFO sei; ZeroMemory(&sei, sizeof(sei)); sei.cbSize = sizeof(sei); sei.fMask = SEE_MASK_FLAG_DDEWAIT|SEE_MASK_FLAG_NO_UI; sei.lpVerb = _T("open"); sei.lpFile = <你的PDF路径>; sei.nShow = SW_SHOWNORMAL; ShellExecuteEx(&sei); ### 回答2: 使用MFC编写一个函数来打开指定的PDF文件路径并使用默认程序打开,可以按照以下步骤进行实现: 1. 首先,需要在 MFC 应用程序的源文件中添加一个函数,例如OpenPDFFile。 2. 在OpenPDFFile函数中,创建一个CFile 类型的对象,以便于操作文件。例如:CFile file; 3. 使用文件对象的成员函数Open来打开指定的PDF文件路径。例如:file.Open(_T("C:\\path\\to\\file.pdf"), CFile::modeRead); 4. 检查文件是否成功打开,可以使用文件对象的成员函数GetLength来获取文件大小,判断文件大小是否为0。例如:if (file.GetLength() > 0) 5. 如果文件打开成功并且文件大小不为0,则创建一个ShellExecuteEx 结构体,以便于执行文件的默认程序。例如:SHELLEXECUTEINFO shellExecuteInfo; shellExecuteInfo.cbSize = sizeof(SHELLEXECUTEINFO); shellExecuteInfo.fMask = SEE_MASK_NOASYNC | SEE_MASK_NOCLOSEPROCESS; shellExecuteInfo.lpVerb = _T("open"); shellExecuteInfo.lpFile = _T("C:\\path\\to\\file.pdf"); shellExecuteInfo.lpClass = NULL; shellExecuteInfo.nShow = SW_SHOWNORMAL; 6. 使用ShellExecuteEx函数来执行,默认程序将打开指定的PDF文件。例如:ShellExecuteEx(&shellExecuteInfo); 7. 最后,关闭文件对象。例如:file.Close(); 以下是一个完整的示例代码: void OpenPDFFile() { CFile file; if (file.Open(_T("C:\\path\\to\\file.pdf"), CFile::modeRead)) { if (file.GetLength() > 0) { SHELLEXECUTEINFO shellExecuteInfo; shellExecuteInfo.cbSize = sizeof(SHELLEXECUTEINFO); shellExecuteInfo.fMask = SEE_MASK_NOASYNC | SEE_MASK_NOCLOSEPROCESS; shellExecuteInfo.lpVerb = _T("open"); shellExecuteInfo.lpFile = _T("C:\\path\\to\\file.pdf"); shellExecuteInfo.lpClass = NULL; shellExecuteInfo.nShow = SW_SHOWNORMAL; ShellExecuteEx(&shellExecuteInfo); } file.Close(); } } 请注意替换路径 "C:\\path\\to\\file.pdf" 为您想要打开的PDF文件的实际路径。 ### 回答3: 可以使用MFC中的ShellExecute函数来实现使用默认程序打开已知pdf路径的功能。具体实现如下: ```cpp #include <afxshell.h> // 使用默认程序打开指定路径的PDF文件 void OpenPDFWithDefaultProgram(LPCTSTR pdfPath) { // 调用ShellExecute函数打开PDF文件 ShellExecute(NULL, _T("open"), pdfPath, NULL, NULL, SW_SHOWNORMAL); } ``` 上述代码中,`OpenPDFWithDefaultProgram`函数接受一个LPCTSTR类型的参数`pdfPath`,即PDF文件的路径。函数内部使用`ShellExecute`函数将指定的PDF文件路径传递给系统默认的程序打开使用时,只需调用`OpenPDFWithDefaultProgram`函数并传入需要打开的PDF文件路径即可实现使用默认程序打开指定路径的PDF文件。 需要注意的是,使用MFC编写程序时,需要添加相应的头文件并链接相应的库文件,例如使用`ShellExecute`函数需要添加afxshell.h头文件,同时需要在项目设置中链接shell32.lib库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值