使用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发布, ...
随机推荐
- <转>ORA-06413 连接未打开错误
ORA-06413 Connection not open.Cause: Unable to establish connection.Action: Use diagnostic procedure ...
- css2
CSS 实现div宽度根据内容自适应 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- php获取文件夹下面的文件列表和文件夹列表
function getDir($dir) { $dirArray[] = NULL; if (false != ($handle = opendir( $dir ))) { $i=0; while ...
- IIS常见错误
1.IIS7运行时访问报错,先安装VS,再启用的IIS,那么需要为IIS进行注册,在VS工具命令行中执行“aspnet_regiis.exe -ir -enable”即可 2.错误“未能加载文件或程序 ...
- bbed的使用--查看数据文件信息 & sid信息
1.得到文件的块大小和数据块个数 在Linux和Unix上,oracle提供了一个小工具dbfsize用于查看文件块大小 (可以参看[ID:360032.1]How to detect and fix ...
- android在代码中四种设置控件(以及TextView的文字颜色)背景颜色的方法
http://blog.csdn.net/fth826595345/article/details/9208771 主题 TextView 转载请注明出处: http://blog.csdn.ne ...
- dojo.publish 和 dojo.subscribe
原文链接:http://www.cnblogs.com/didi/archive/2010/06/13/1757894.html //dojo.publish 和 dojo.subscribe :d ...
- AS项目转到eclipse中方法
手工改,1.在eclipse 上新建一个空的项目;2.点击android studio 中的android 视图, a.替换as 中的AndroidManifest.xml -> ...
- JAVA Day3
分支与循环 char sex = in.next().charAt(0); java中 ...
- 简单的c#插件框架
插件式架构,一种全新的.开放性的.高扩展性的架构体系.插件式架构设计近年来非常流行,基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的 ...