




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ShellExecuteShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, /父窗口句柄 LPCSTR lpOperation, /操作类型 LPCSTR lpFile, /要进行操作的文件或路径 LPCSTR lpParameters, /当lpOperation为“explore”时指定要传递的参数,通常设为NULL LPCSTR lpDirectory, /指定默认目录,通常设为NULL INT nShowCmd /文件打开的方式,以通常方式还是最大化或最小化显示 ) 例子如下: /调用计算器 ShellExecute(NULL,open,calc.exe,NULL,NULL,SW_SHOWNORMAL); /调用记事本 ShellExecute(NULL,open,NOTEPAD.EXE,NULL,NULL,SW_SHOWNORMAL);vhWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用程序主窗口句柄,即Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。 Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时,表示执行默认操作“open”。 FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。 Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0)。 Directory:用于指定默认目录。 ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。 若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。 上述仅仅是ShellExecute函数的标准用法,下面将介绍它的特殊用法。 2.特殊用法 如果将FileName参数设置为“http:”协议格式,那么该函数将打开默认浏览器并链接到指定的URL地址。若用户机器中安装了多个浏览器,则该函数将根据Windows 9x/NT注册表中http协议处理程序(Protocols Handler)的设置确定启动哪个浏览器。 格式一:http:/网站域名。 如:ShellExecute(handle, open, http:/ ; , nil, nil, SW_SHOWNORMAL); 格式二:http:/网站域名/网页文件名。 如:ShellExecute(handle, open, http:/ ; /default.htm,nil,nil, SW_SHOWNORMAL); 如果将FileName参数设置为“mailto:”协议格式,那么该函数将启动默认邮件客户程序,如Microsoft Outlook(也包括Microsoft Outlook Express)或Netscape Messanger。若用户机器中安装了多个邮件客户程序,则该函数将根据Windows 9x/NT注册表中mailto协议处理程序的设置确定启动哪个邮件客户程序。 格式一:mailto: 如:ShellExecute(handle,open, mailto:, nil, nil, SW_SHOWNORMAL);打开新邮件窗口。 格式二:mailto:用户账号邮件服务器地址 如:ShellExecute(handle, open, mailto:, nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并自动填入收件人地址。若指定多个收件人地址,则收件人地址之间必须用分号或逗号分隔开(下同)。 格式三:mailto:用户账号邮件服务器地址?subject=邮件主题body=邮件正文 如:ShellExecute(handle, open, mailto:?subject=HelloBody=This is a test, nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并自动填入收件人地址、邮件主题和邮件正文。若邮件正文包括多行文本,则必须在每行文本之间加入换行转义字符0a。 例子(delphi): 在一个应用程序调用c:Project1.exe; ShellExecute(handle, open,c:Project1.exe,字串内容,nil, 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; 最后的那个参数,为窗口指定可视性方面的一个命令。 请用下述任何一个常数 SW_HIDE 隐藏窗口,活动状态给令一个窗口 SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOWMAXIMIZED 最大化窗口,并将其激活 SW_SHOWMINIMIZED 最小化窗口,并将其激活 SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口 SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口 SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口 SW_SHOWNORMAL 与SW_RESTORE相同Q: 如何打开一个应用程序? ShellExecute(this-m_hWnd,open,calc.exe, SW_SHOW );或ShellExecute(this-m_hWnd,open,notepad.exe,c:MyLog.log,SW_SHOW );As you can see, I havent passed the full path of the programs. Q: 如何打开一个同系统程序相关连的文档?ShellExecute(this-m_hWnd,open,c:abc.txt,SW_SHOW ); Q: 如何打开一个网页?ShellExecute(this-m_hWnd,open,, SW_SHOW ); Q: 如何激活相关程序,发送EMAIL?ShellExecute(this-m_hWnd,open,mailto:, SW_SHOW ); Q: 如何用系统打印机打印文档?ShellExecute(this-m_hWnd,print,c:abc.txt, SW_HIDE); Q: 如何用系统查找功能来查找指定文件?ShellExecute(m_hWnd,find,d:nish,NULL,NULL,SW_SHOW); Q: 如何启动一个程序,直到它运行结束?SHELLEXECUTEINFO ShExecInfo = 0;ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;ShExecInfo.hwnd = NULL;ShExecInfo.lpVerb = NULL;ShExecInfo.lpFile = c:MyProgram.exe;ShExecInfo.lpParameters = ;ShExecInfo.lpDirectory = NULL;ShExecInfo.nShow = SW_SHOW;ShExecInfo.hInstApp = NULL;ShellExecuteEx(&ShExecInfo);WaitForSingleObject(ShExecInfo.hProcess,INFINITE);或:PROCESS_INFORMATION ProcessInfo;STARTUPINFO StartupInfo; /This is an in parameterZeroMemory(&StartupInfo, sizeof(StartupInfo);StartupInfo.cb = sizeof StartupInfo ; /Only compulsory fieldif(CreateProcess(c:winntnotepad.exe, NULL,NULL,NULL,FALSE,0,NULL, NULL,&StartupInfo,&ProcessInfo) WaitForSingleObject(ProcessInfo.hProcess,INFINITE);CloseHandle(ProcessInfo.hThread);CloseHandle(ProcessInfo.hProcess); elseMessageBox(The process could not be started.); Q: 如何显示文件或文件夹的属性?SHELLEXECUTEINFO ShExecInfo =0;ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ;ShExecInfo.hwnd = N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房地产代理居间合同示例
- 2025年度门脸房屋租赁及租赁保证金缴纳比例合同
- 功能性植入物的护理课件
- 二零二五年度教育机构承包经营终止及师资培训合同
- 2025年租赁房屋租赁合同解除协议范本
- 二零二五版林地承包经营权登记代理服务合同
- 二零二五年度高性能铝合金门窗定制与施工一体化服务合同
- 二零二五年度LED显示屏广告牌设计与安装服务合同
- 2025版建筑外墙保温施工节能效果评估合同
- 二零二五版动产典当管理服务协议
- 北师大附属实验学校高一分班数学试题
- 八年级物理上册《第一章 机械运动》单元测试卷含答案人教版
- 2023年三四年级好词好句摘抄整理
- 夏季预防中暑及中暑急救培训PPT
- 重大电力安全隐患判定标准试行
- 肺部小结节的术中定位
- 高速铁路钢轨打磨关键技术研究
- 红色记忆PPT-刘伯承元帅
- 酸碱中和加药量自动计算
- GB/T 29862-2013纺织品纤维含量的标识
- 光合作用在农业生产上的应用课件
评论
0/150
提交评论