使用C语言在windows下一口气打开一批网页
作者:郝峰波
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下一口气打开一批网页的更多相关文章
- C语言实现Windows下获取IP和MAC地址。
C语言实现Windows下获取IP和MAC地址. #include <winsock2.h> #include <stdio.h> #include <stdlib.h& ...
- Git - Windows 下, gitbash 打开资源管理器
1. 概述 windows 下 gitbash 打开 资源管理器 2. 场景 资源管理唤起 gitbash 步骤 进入目录 鼠标右击 在 弹出菜单 中, 找到 Git Bash Here 结果 打开一 ...
- windows下不打开浏览器访问网页的方法
我们打开电脑,大多时候都是打开浏览器在上网.这都是通过浏览器来实现的,然而windows下有没有办法不通过浏览器也可以像linux那样达到访问网页的目的呢?这当然少不了批处理或者VBScript.然而 ...
- windows下如何打开.sketch的文件
1 .sketch的文件只能在苹果mac上支持的一种文件格式,现在越来越多的设计师喜欢用.sketch 2 windows下如果想打开.sketch文件,去Microsoft store 找一个Lun ...
- go语言执行windows下命令行的方法
转自:http://www.jb51.net/article/61727.htm 在golang里执行windows下的命令行,例如在golang里面调用 del d:\a.txt 命令 packag ...
- 关于windows 下每次打开IE 8都弹出欢迎使用Internet Explorer 8 弹窗的关闭方法
今天笔者在安装完windows 操作系统后,发现了一个问题,即每次打开IE 8浏览器,都会弹出一个欢迎界面: 弹窗标题为:设置windows Internet Explorer,具体内容如下图所示: ...
- windows下怎么打开psql命令
你是直接执行的psql.exe吧? 那么需要加入数据库位置等一些参数的.Windows系统下,PostgreSQL有提供一个命令行脚本runsql.bat, 在安装目录的scripts文件夹中,一般是 ...
- windows 下 gvim打开默认全屏显示
在_vimrc文件中加入如下配置即可: autocmd GUIEnter * simalt ~x
- Go语言学习笔记(一) : 搭建Windows下的Go开发环境
最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go.Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布, ...
随机推荐
- 攻城狮在路上(叁)Linux(三十一)--- vim程序编辑器
本篇主要介绍vim编辑器的使用方式,具体内容后续补充.
- ASP.NET 自定义URL重写 分类: ASP.NET 2014-10-31 16:05 175人阅读 评论(0) 收藏
一.功能说明: 可以解决类似 http://****/news 情形,Url路径支持正则匹配. 二.操作步骤: 1.增加URL重写模块: using System; using System.IO; ...
- PHPCMS 实现上一篇、下一篇
方法一:直接调用phpcms系统的函数 <div class="info"> <span>上一篇:<a href="{$previous_p ...
- [Eclipse][SVN] 在eclipse上安装SVN
以前装过好多次SVN,始终没有一次把安装过程记录下来,这次新装机器,安装SVN插件时一波三折,记录下来免得以后又忘记了. 方法一: 1. 直接通过后台添加URL通过互联网进行安装,直接上图: 2. ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)
本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:u ...
- linux下epoll如何实现高效处理百万句柄的
linux下epoll如何实现高效处理百万句柄的 分类: linux 技术分享 2012-01-06 10:29 4447人阅读 评论(5) 收藏 举报 linuxsocketcachestructl ...
- cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架
一.游戏的基本框架: WelcomeScene ——> GameScene ——> GameOverScene || ...
- pythonpython-eggs异常解决方法
: UserWarning: /home/server/.python-eggs is writable by group/others and vulnerable to attack when u ...
- 【框架】异步加载大量图片--ImageLoader
public abstract class BaseImageLoaderProvider { public abstract void loadImage(Context ctx, ImageLoa ...
- css3 -- 渐变
1.Firefox中的线性渐变 E{ background-image:-moz-linear-gradient(point or angle , form-stop, color-stop, to- ...