ShellExecute的功能是运行一个外部程式(或者是开启一个已注册的文件、开启一个目录、列印一个文件等等),并对外部程式有一定的控制。
函数原型: HINSTANCE ShellExecute( HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile,LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd );参数说明: hwnd 视窗的名称 (不知道这样解释对不对) lpOperation 进行的操作,如"open","print","explore"分别对应 "开启","列印","浏览", 也可以为空(""),此时表示进行预设的操作。 lpFile 要操作的文件。 lpParameters 如果lpFile指定的是一个可执行档则表示参数 lpDirectory 操作进行的目录 nShowCmd 新的应用程式的运行方式。其可用的值如下: SW_HIDE 隐藏 SW_MAXIMIZE 最大化 SW_MINIMIZE 最小化,并把Z order顺序在此视窗之后(即视窗下一层)的视窗启动 SW_RESTORE 启动视窗并还原为初始化大小 SW_SHOW 以当前大小和状态启动视窗 SW_SHOWDEFAULT 以预设方式运行 SW_SHOWMAXIMIZED 启动视窗并最大化 SW_SHOWMINIMIZED 启动视窗并最小化 SW_SHOWMINNOACTIVE 最小化但不改变当前启动的视窗 SW_SHOWNA 以当前状态显示视窗但不改变当前启动的视窗 SW_SHOWNOACTIVATE 以初始化大小显示视窗但不改变当前启动的视窗 SW_SHOWNORMAL 启动并显示视窗,如果是最大(小)化,视窗将会还原。第一次运行程式 时应该使用这个值
范例一:开启 http://www.baidu.com 网站 ShellExecute(Handle,"open","http://www.xspace.idv.tw/http://www.baidu.comhttp://www.xspace.idv.tw/",nil,nil, SW_SHOWNORMAL); 如果将FileName参数设置为"mailto:"协议格式,那么该函数将启动预设的邮件用户端程式, 如 Microsoft Outlook(也包括Microsoft Outlook Express)或 Netscape Messanger。范例二:寄信给 who@xspace.idv.tw (用户帐号@邮件服务器地址)ShellExecute(Handle, "open"," mailto:who@xspace.idv.tw", nil, nil, SW_SHOWNORMAL); 就会自动打开邮件用户端程式