当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>启动新的利用程序</b>[VC/C++编程]

赞助商链接



  本文“<b>启动新的利用程序</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在for DOS的C语言中,有一个system()函数,其功效是履行号令路程序,在VB中也有shell()函数,在Windows程序计划中WinAPI也为我们供应了近似的函数,它们就是WinExec()和ShellExecute(),下面就来谈论一下这两个函数的用法.

1)WinExec()

函数原型: UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);

参数阐明:(激活的意思是能承受核心,即标题栏变成蓝色)

lpCmdLine:以0末尾的字符串,号令行参数.

uCmdShow:新的利用程序的运行方法.其取值以下:

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激活并显示窗口,假如是最大(小)化,窗口将会复原.第一次运路程序 时应当利用这个值

比方说,我想要用记事本翻开"C:\HDC.TXT",以正常方法运行:

WinExec("notepad c:\\hdc.txt",SW_SHOWNORMAL);

假如调用成功,这个函数会返回一个不小于31的值,不然调用失利,其返回值的意义以下:

0系统内存或资源不足

ERROR_BAD_FORMAT.EXE文件格局无效(比方不是32位利用程序)

ERROR_FILE_NOT_FOUND指定的文件设有找到

ERROR_PATH_NOT_FOUND指定的途径没有找到

这个函数和system()非常近似,只能运行.EXE文件,这样在WINDOWS中有它不尽人意的地方,比方不能用此办法通过关联的办法翻开文件,比方WinExec("1.html",SW_SHOWNA);就不能翻开此文档.

2)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程序的运行方法,其取值见上例.

假如这个函数调用成功,将返回实例的句柄,假如不成功,返回值包含错误信息,由于范例对比多,这里就不一一摆列了,详见WinApi的帮忙.

这样,上面的例子便可以改变成(假定窗口的句柄为Handle)

ShellExecute(Handle,"open","notepad","c:\\hdc.txt","",SW_SHOWNORMAL);

其实不用那么复杂,因为.TXT的关联程序就是记事本,所以只要这样便可以了

ShellExecute(Handle,"","c:\\hdc.txt","","",SW_SHOWNORMAL);

这个函数和WIN9X中的号令行号令"start"近似,不光可以对文件举行操作,还可以对HTTP、MAILTO等举行操作.这样我们便可以计划有超级链接气势的程序了.

在Form中然后安排两个Label,设置其属性为:

Name     Caption

lbHomepage  http://www.ccrun.com

lbEMail   mailto:ccrun.com@163.com

并把字体改成蓝色有下划线,然后辨别在两个Label的Click事件中加入以下代码:

ShellExecute(Handle,"",lbHomepage.Caption,"","",SW_SHOWNORMAL);

ShellExecute(Handle,"",lbEMail.Caption,"","",SW_SHOWNORMAL);

OK!试试看,若何?够酷的吧!

从上面可看出,ShellExecute的功效要强得多,并且可以完好替换WinExec(),事实上,WinExec()也是为了和从前版本兼容而保存,所以,我们要尽大概利用ShellExecute().其实在WinAPI中,还有一个函数ShellExecuteEx() ,但其利用复杂,又不支持Windows NT,所以这里就不作介绍了,有爱好的可以自已查询WinAPI帮忙.


  以上是“<b>启动新的利用程序</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .