ShellExecute(Handle, "open", "http://www.neu.edu.cn", "", "", SW_SHOWNORMAL);
格式二:http://网站域名/网页文件名,如:
ShellExecute(Handle, "open"," http://www.neu.edu.cn/default.htm","","",SW_SHOWNORMAL);
如果将FileName参数设置为“mailto:”协议格式,那么该函数将启动默认邮件客户程序,如Microsoft Outlook(也包括Microsoft Outlook Express)或Netscape Messanger。若用户机器中安装了多个邮件客户程序,则该函数将根据Windows 9x/NT注册表中mailto协议处理程序的设置确定启动哪个邮件客户程序。
格式一:mailto,如:
ShellExecute(Handle,"open", "mailto:", "", "", SW_SHOWNORMAL);
格式二:mailto:用户账号@邮件服务器地址,如:
ShellExecute(Handle, "open"," mailto:who@mail.neu.edu.cn", "", "", SW_SHOWNORMAL);
格式三:mailto:用户账号@邮件服务器地址
subject=邮件主题&body=邮件正文,如:
ShellExecute(handle, ‘open’, ‘ mailto:who@mail.neu.edu.cn?subject=Hello&Body=This is a test’,"", "", SW_SHOWNORMAL);
例子(delphi):
在一个应用程序调用c:\Project1.exe;
ShellExecute(handle, 'open',"c:\Project1.exe",'字串内容',"", SW_SHOWNORMAL);
在Project1.exe里可以调用:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
for i:=1 to paramcount do
if ParamStr(i)<>'' then showmessage(ParamStr(i));
end;
c++调用软件打开PDF文件,有如下方案:
TCHAR Path[MAX_PATH];
GetModuleFileName(NULL, (LPWSTR)Path, MAX_PATH);
CString theAppPath = (CString)Path;
CString theAppName = AfxGetApp()->m_pszAppName;
theAppName += _T(".exe");
int length1 = theAppPath.GetLength();
int length2 = theAppName.GetLength();
theAppPath.Delete(length1 - length2, length2);
CString PathFile = _T("file:///") + theAppPath + _T("铁路线路修理规则.pdf#page=24");
ShellExecute(NULL, _T("open"), _T("IEXPLORE"), PathFile, NULL, SW_SHOWMAXIMIZED);
CString PathFile = _T("file:///") + theAppPath + _T("铁路线路修理规则.pdf#page=28");
ShellExecute(NULL, _T("open"), _T("MICROSOFTEDGE"), PathFile, NULL, SW_SHOWMAXIMIZED);
CString PathFileWPS = theAppPath + _T("铁路线路修理规则.pdf");
ShellExecute(NULL, _T("open"), _T("WPS"), PathFileWPS, NULL, SW_SHOWMAXIMIZED);
CString PathFileDefault = _T("file:///") + theAppPath + _T("铁路线路修理规则.pdf");
ShellExecute(NULL, _T("open"), PathFileDefault, NULL, NULL, SW_SHOWMAXIMIZED);
最后的那个参数,为窗口指定可视性方面的一个命令。
请用下述任何一个常数
SW_HIDE 隐藏窗口,活动状态给另一个窗口
SW_MINIMIZE 最小化窗口,活动状态给另一个窗口
SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED 最大化窗口,并将其激活
SW_SHOWMINIMIZED 最小化窗口,并将其激活
SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL 与SW_RESTORE相同
原文链接:
https://baike.baidu.com/item/ShellExecute/5788449?fr=aladdin#1
现在有一个MFC写的界面程序,以及一个外部exe文件。用户通过界面选择文件a,MFC将文件a的路径作为参数,调用exe文件生成一个解析文件b,然后MFC再读取这个文件b。
为了完成这一目的,就需要在MFC中调用外部exe文件,我这里选用的是ShellExecute函数。
//function
HINSTANCE ...
HINSTANCE ShellExecute(
_In_opt_ HWND hwnd,//父窗口句柄或出错时显示错误父窗口的句柄,可以为 NULL
_In_opt_ LPCTSTR lpOperation,//操作
_In_ LPCTSTR ...
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。1.CreateProcess因为使用复杂,比较少用。2.WinExec主要运行EXE文件。如:WinExec(Notepad.exe Readme.txt, SW_SHOW);3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。首先必须引用shellapi.p
使用 ShellExecute 打开文件或执行程序可以使用 ShellExecute 打开文件或执行程序。原型:HINSTANCE ShellExecute(
_In_opt_ HWND hwnd,//父窗口句柄或出错时显示错误父窗口的句柄,可以为 NULL
_In_opt_ LPCTSTR lpOperation,//操作
_In_ LPCTSTR lpFile,//要打
原型:UINT WinExec(exePath,ShowCmd)
示例,我想要用记事本打开"C:\HDC.TXT",以正常方式运行:WinExec(pChar('notepad c:\taoyoyo.txt'),SW_SHOWNORMAL);
...
分别是ShellExecute,ShellExecuteEx,WinExec。
它们的各自特点:
ShellExecute:是通过windows外壳打开任意文件,非可执行文件自动通过关联的程序打开,对于可执行文件,区别不大,不过shellexcute可以指定运行时的工作路径
ShellExecuteEx:它跟ShellExecute差不多,区别在于它的返回值和支持阻塞运行。
WinExec:只用于可执行文件,是一个老函数啦,虽然使用方便,但兼容性也不好。
bat脚本-解决Xftp6、Xshell6无法启动:要继续使用此程序,您必须应用最新的更新或使用新版本
之前下载的Xshell和Xftp破解版软件,在使用了一段时间之后,再次启动出现了如下图问题:
这个问题需要怎么解决呢?只需要写一个bat脚本文件,用这个脚本文件启动XShell和Xftp即可,先写一个txt文本文件,内容如下:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c