作者:郝峰波

mail : fengbohello@qq.com

本博客地址:http://www.cnblogs.com/fengbohello/p/4374450.html


1、核心函数说明

核心函数:ShellExecute

函数原型如下:

ShellExecute(

  HWND hwnd,           //父窗口句柄 (如:NULL,Handle等)

  LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号

  LPCSTR lpFile,           //要进行操作的文件或路径

  LPCSTR lpParameters, //当lpOperation为“explore”时指定要传递的参数,通常设为NULL

  LPCSTR lpDirectory,    //指定默认目录,通常设为NULL

  INT nShowCmd          //文件打开的方式,以通常方式还是最大化或最小化显示,一般为SW_SHOWNORMAL

  ) 

关于ShellExecute函数的详细文档在百度百科 :http://baike.baidu.com/link?url=9Fy8bhOjHzcPPfXYwfvfmal53jmoNHC4pKMdYD7JmD7k5BjdPc4Xu9DAd59U0w_-zlO-R8kc_onFE5LgCFBVTq

以及另一篇博客园博客:http://www.cnblogs.com/xubin0523/archive/2012/11/01/2749729.html


2、程序说明

  1)先读取与程序同目录下的默认文件,sitepage.txt文件,这个文件内容是要打开的网页的地址,每行一个地址。

  2)如果没有默认的文件,就报错

  3)如果想打开非默认的文件,把文件用鼠标拖拽带本程序上即可


3、代码

#include <windows.h>
#include <shellapi.h>
#include <stdio.h>
#include <vector>
#include <string> using namespace std; int loadAddr(vector<string> & vecAddr, string strFileName)
{
if(strFileName.empty())
{
printf("文件 [%s] 不存在\n", strFileName.c_str());
return -;
}
FILE * fp = NULL;
if((fp = fopen(strFileName.c_str(), "r")) == NULL)
{
printf("打开文件[%s]失败,请检查文件是否存在\n", strFileName.c_str());
return -;
}
char szAddr[] = {};
while(fgets(szAddr, , fp))
{
string strAddr = szAddr;
vecAddr.push_back(strAddr);
}
fclose(fp); return ;
} int openPage(vector<string> & vecAddr)
{
int i = ;
int iSize = vecAddr.size();
for(i = ; i < iSize; i++)
{
const char * pAddr = vecAddr[i].c_str();
ShellExecute(NULL, "open", pAddr, NULL, NULL, SW_SHOWNORMAL);
} return ;
} int main(int argc, char * argv[])
{
string strFileName;
if(argc < )
{
strFileName = "sitepage.txt";
}
else
{
strFileName = string(argv[]);
}
vector<string> vecAddr;
if( != loadAddr(vecAddr, strFileName))
{
printf("按下回车(Enter)退出程序\n");
getchar();
return ;
}
if( != openPage(vecAddr))
{
printf("按下回车(Enter)退出程序\n");
getchar();
return ;
} return ;
}

4、程序二进制地址

  百度网盘 :http://pan.baidu.com/s/1CVx4i

使用C语言在windows下一口气打开一批网页的更多相关文章

  1. C语言实现Windows下获取IP和MAC地址。

    C语言实现Windows下获取IP和MAC地址. #include <winsock2.h> #include <stdio.h> #include <stdlib.h& ...

  2. Git - Windows 下, gitbash 打开资源管理器

    1. 概述 windows 下 gitbash 打开 资源管理器 2. 场景 资源管理唤起 gitbash 步骤 进入目录 鼠标右击 在 弹出菜单 中, 找到 Git Bash Here 结果 打开一 ...

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

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

  4. windows下如何打开.sketch的文件

    1 .sketch的文件只能在苹果mac上支持的一种文件格式,现在越来越多的设计师喜欢用.sketch 2 windows下如果想打开.sketch文件,去Microsoft store 找一个Lun ...

  5. go语言执行windows下命令行的方法

    转自:http://www.jb51.net/article/61727.htm 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 packag ...

  6. 关于windows 下每次打开IE 8都弹出欢迎使用Internet Explorer 8 弹窗的关闭方法

    今天笔者在安装完windows 操作系统后,发现了一个问题,即每次打开IE 8浏览器,都会弹出一个欢迎界面: 弹窗标题为:设置windows Internet Explorer,具体内容如下图所示: ...

  7. windows下怎么打开psql命令

    你是直接执行的psql.exe吧? 那么需要加入数据库位置等一些参数的.Windows系统下,PostgreSQL有提供一个命令行脚本runsql.bat, 在安装目录的scripts文件夹中,一般是 ...

  8. windows 下 gvim打开默认全屏显示

    在_vimrc文件中加入如下配置即可: autocmd GUIEnter * simalt ~x

  9. Go语言学习笔记(一) : 搭建Windows下的Go开发环境

    最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go.Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布, ...

随机推荐

  1. 攻城狮在路上(叁)Linux(三十一)--- vim程序编辑器

    本篇主要介绍vim编辑器的使用方式,具体内容后续补充.

  2. ASP.NET 自定义URL重写 分类: ASP.NET 2014-10-31 16:05 175人阅读 评论(0) 收藏

    一.功能说明: 可以解决类似 http://****/news 情形,Url路径支持正则匹配. 二.操作步骤: 1.增加URL重写模块: using System; using System.IO; ...

  3. PHPCMS 实现上一篇、下一篇

    方法一:直接调用phpcms系统的函数 <div class="info"> <span>上一篇:<a href="{$previous_p ...

  4. [Eclipse][SVN] 在eclipse上安装SVN

    以前装过好多次SVN,始终没有一次把安装过程记录下来,这次新装机器,安装SVN插件时一波三折,记录下来免得以后又忘记了.   方法一: 1. 直接通过后台添加URL通过互联网进行安装,直接上图: 2. ...

  5. ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)

    本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:u ...

  6. linux下epoll如何实现高效处理百万句柄的

    linux下epoll如何实现高效处理百万句柄的 分类: linux 技术分享 2012-01-06 10:29 4447人阅读 评论(5) 收藏 举报 linuxsocketcachestructl ...

  7. cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架

    一.游戏的基本框架: WelcomeScene    ——>    GameScene   ——>   GameOverScene ||                           ...

  8. pythonpython-eggs异常解决方法

    : UserWarning: /home/server/.python-eggs is writable by group/others and vulnerable to attack when u ...

  9. 【框架】异步加载大量图片--ImageLoader

    public abstract class BaseImageLoaderProvider { public abstract void loadImage(Context ctx, ImageLoa ...

  10. css3 -- 渐变

    1.Firefox中的线性渐变 E{ background-image:-moz-linear-gradient(point or angle , form-stop, color-stop, to- ...