调用外部命令

如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW);

如果用IE打开,就调用ShellExecute(NULL, _T("open"), _T("iexplore.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW);//另外网上还有这样的详解可以使用API函数ShellExecute

具体用法可以参考如下:

有三个 Windows API 函数可以运行可执行档WinExec、ShellExecute和CreateProcess。

ShellExecute的功能是运行一个外部程式(或者是开启一个已注册的文件、开启一个目录、列印一个文件等等),并对外部程式有一定的控制。

有几个API函数都可以实现这些功能,但是在大多数情况下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.xspace.idv.tw/ 网站

view plaincopy to clipboardprint?

ShellExecute(Handle, "open", "http://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);

开启写新邮件视窗,并自动填入收件人位置。

以下在介绍一些不一样的用法:

开始一个新的应用程式

ShellExecute(Handle, "open", "c:\test\app.exe", nil, nil, SW_SHOW);

开启记事本,并开启一个文件(系统能识别记事本应用程式的路径,因此我们不必使用绝对路径)

view plaincopy to clipboardprint?

ShellExecute(Handle, "open", "notepad", "c:\test\readme.txt", nil, SW_SHOW);

列印一个文档

ShellExecute(Handle, "print", "c:\test\test.doc", nil, nil, SW_SHOW);

   注意:可能你会看到word暂时的被开启,但它会自动关闭。

开启一个HTML页面

ShellExecute(Handle, "open", "http://www.xspace.idv.tw/", nil, nil, SW_SHOW);

[/codes]

你能通过一个已经注册的文件类型来开启应用程式

ShellExecute(Handle, "open", "c:\test\readme.txt", nil, nil, SW_SHOW);

windows Explorer 开启一个目录

ShellExecute(Handle, "explore", "c:\windows)", nil, nil, SW_SHOW);

运行一个DOS命令并立即返回

ShellExecute(Handle, "open", "command.com", "/c copy file1.txt file2.txt", nil, SW_SHOW);

运行一个DOS命令并保持DOS视窗存在

ShellExecute(Handle, "open", "command.com", "/k dir", nil, SW_SHOW);

c++打开浏览器的更多相关文章

  1. windows下不打开浏览器访问网页的方法

    我们打开电脑,大多时候都是打开浏览器在上网.这都是通过浏览器来实现的,然而windows下有没有办法不通过浏览器也可以像linux那样达到访问网页的目的呢?这当然少不了批处理或者VBScript.然而 ...

  2. web工作方式,浏览网页,打开浏览器,输入网址按下回车键,然后会显示出内容,这个过程是怎样的呢?

    以下内容摘自<Go Web编程>,介绍的通俗易懂. 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什 ...

  3. vue-cli2.9.1如何自动打开浏览器及实现手机调试

    在vue-cli2.9.1以前我们运行 "npm run dev" 程序会自动打开浏览器进行调试,而且在手机浏览器输入 "IP地址:8080" 能实现在手机端的 ...

  4. Sublime Text3—设置快捷键打开浏览器

    在不同浏览器查看代码效果可谓是家常便饭,所以用不同快捷键对应打开不同浏览器可以大大提高工作效率. 本篇分享个简单的方法只需二步: 一.安装插件SideBarEnhancements ctrl+shif ...

  5. vue中npm run dev运行项目自动打开浏览器

    npm run dev运行项目自动打开浏览器设置自动打开浏览器 // 各种设备设置信息      host: 'localhost', //主机名      port: 8080, // 端口号(默认 ...

  6. webpack之带有可自动打开浏览器及热重载的基本配置

    什么是Webpack WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并 ...

  7. python 打开浏览器的方法 Python打开默认浏览器

    一.python 打开浏览器的方法: . startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet exp ...

  8. selenium自动化打开浏览器不受信任解决办法

    之前在用selenium(火狐浏览器)打开一个https网站时,总是弹出不受信任,修改配置后,每次加载的浏览器都是还原了配置,无法加载出页面,这里给出解决办法:让浏览器去加载我们修改后的配置,具体如下 ...

  9. C#通过COM组件操作IE浏览器(一):打开浏览器跳转到指定网站

    简介Internet Explorer对象模型 1.属性 属性 类型 描述 Application Object 返回对Internet Explorer对象的引用. Busy Boolean 返回一 ...

  10. Sublime 汉化、快捷键打开浏览器

    Sublime 是一个优秀的代码编译工具,它具有漂亮的用户界面和强大的功能,例如代码缩略图,Python 的插件,代码段等.不仅如此,它还可自定义按键绑定,菜单和工具栏.由于是歪果仁开发的,所以官方版 ...

随机推荐

  1. weblogic启动受管服务器报错Authentication for user weblogic denied (weblogic 11g 域账号密码不生效的解决方法)

    或者   解决方法:

  2. iOS程序中的内存分配 栈区堆区全局区

    在计算机系统中,运行的应用程序的数据都是保存在内存中的,不同类型的数据,保存的内存区域不同.一.内存分区 栈区(stack) 由编译器自动分配并释放,存放函数的参数值,局部变量等.栈是系统数据结构,对 ...

  3. 《奥威Power-BI案例应用:带着漫画看报告》腾讯课程开课啦

    元旦小假期过去了,不管是每天只给自己两次下床机会的你,还是唱K看电影逛街样样都嗨的你,是时候重振旗鼓,重新上路了!毕竟为了不给国家的平均工资水平拖后腿,还是要努力工作的.话说2016年已经过去了,什么 ...

  4. C#通过SSH连接MySql

    出于安全考虑,有的时候数据库服务器只能通过SSH访问,比如MySql服务装在了服务器A上,并且A机器只允许B机器才能访问,而部署环境可能在C机器上,这时候就要C服务器通过B服务器连接A服务器,这时候就 ...

  5. JMX

    一.为什么使用JMX,解决那些问题 举一个应用实例:在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢? 写死在程序里,到要改变时就去改程序,然后再编译发布: ...

  6. Jquery父级节点追加

    <!-- 父节点追加 --><!DOCTYPE html><html lang="en"><script src="../../ ...

  7. MATLAB入门教程

    MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...

  8. iOS开发:(线程篇-上)线程和进程

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. (temp)catch ip

    String str = "192.168.1.100"; String[] ipStr = str.split("\\."); ]; ; i < ; i ...

  10. 对于前端JS、Html、CSS的大小、位置是否影响网站的相应时间

    1.页面中大量的注释代码.空行会影响页面的加载速度 尽量去除打断的注释代码,及空行:尽可能的使用压缩后的JS.CSS文件,太小的文件没必要压缩 2.有人说CSS样式放在页面的开头,JS文件放在页面的结 ...