2015.1.25 Delphi打开网址链接的几种方法
1、使用shellapi打开系统中默认的浏览器
首先需在头部引用 shellapi单元即在uses中添加shellapi,这里我们需要知道有3个api函数可以运行可执行文件WinExec、ShellExecut和CreateProcess。
下面为 ShellExecute的标准用法
ShellExecute(Application.Handle, nil, 'http://www.baidu.com', nil, nil, SW_SHOWNORMAL);
从左往右开始,Application.Handle代表应用程序主窗口作为windows消息窗口的父窗口;第一个nil为执行默认“open”操作;'http://www.baidu.com'是要打开的网址,一般为打开应用程序的名称;第二个nil代表若上一个是个可执行文件则指定命令行参数,不然为nil;第三个nil用于指定默认目录;SW_SHOWNORMAL代表程序初始化窗口显示的方式,该方式为用原来大小和方式显示,并进行活动状态。
其实 ShellExecute(Application.Handle, nil, 'http://www.baidu.com', nil, nil, SW_SHOWNORMAL);是ShellExecut的特殊用法,当'http://www.baidu.com'这里不是应用程序名称时,是http:协议参数格式时,该函数将打开默认浏览器的兵连接到指定url地址,若用户安装多个浏览器,将另外根据注册表中设置打开哪个
2:用IE浏览器打开的3种方法:
方法1:ShellExecute(Application.Handle, 'open','Iexplore.exe','http://www.baidu.com',nil,SW_SHOWNORMAL);
方法2:
{uses SHDocVw;}
插入个按键,其按下函数如下:
var
IE : OleVariant;
begin
IE := CoInternetExplorer.Create;
IE.Visible := True;
IE.Navigate2('http://www.baidu.com');
end;
方法3:
{uses comobj;}
var
Ie:Variant
begin
Ie:=CreateOleObject('InternetExplorer.Application');
Ie.visible:=True;
Ie.left:=300;
Ie.top:=200;
Ie.height:=400;
Ie.width:=600;
Ie.menubar:=0; //隐藏菜单栏
Ie.toolbar:=0; //隐藏工具栏
Ie.addressbar:=0; //隐藏地址栏
//
Ie.statubar:=0; //不可调整大小
Ie.resizable:=0;
Ie.navigate(URL);
end;
begin
OpenInIe('http://www.baidu.com');
end;
3、用delphi中自带的WebBrowser控件
WebBrowser1.Navigate('http://www.baidu.com'); //WebBrowser1.Navigate('...'); //打开指定页面
4、用Delphi第三方控件EmbeddedWB
比Delphi自带的Webbrowser要强悍,其实就是在Webbrowser上的二次开发,附安装方法:
EmbeddedWB安装方法:
1.下载压缩包,飘易下载的是EmbeddedWB v14.67.0版本,下载地址:http://www.delphifans.com/SoftView/SoftView_2705.html。
2.解压整个压缩包到 libEmbeddedWB 下;
3.复制 libEmbeddedWB 下的Packages目录中的EmbeddedWebBrowser_D2007.dpk(因为飘易使用的是DELPHI2007)到Source目录里;
4.用Delphi7开发环境打开 EmbeddedWebBrowser_D2007.dpk 文件,按Optios按钮,作如下调整:
Directories/Conditionals标签Unit Output Dir=“D:Program FilesCodeGearRAD Studio5.0libEmbeddedWBSource”(具体路径自行决定);
5.按Compile, 再按Install;
6.不要保存变化了的dpk文件及压缩包;
7.在具体的编译工程时,需检查该源目录(D:Program FilesCodeGearRAD Studio5.0libEmbeddedWBSource)在 Delphi IDE 的 “Search Path” 路径里(Project -> Options -> irectories/Conditionals -> Search Path); 如果没有,添加这个源目录路径。否则,在使用该控件的时候,出现“File not found: ‘SHDocVw_EWB.dcu’” 错误。
8.可以正常使用了。
2015.1.25 Delphi打开网址链接的几种方法的更多相关文章
- Pyqt 打开外部链接的几种方法
Pyqt 触发一个事件,打开外部链接,我找到了这个方法,供大家参考 1. QDesktopServices 的openUrl 方法 QtGui.QDesktopServices.openUrl(QtC ...
- Delphi中打开网页连接的几种方法
https://blog.csdn.net/zisongjia/article/details/69398143 正好要用,做个记录.Mark下. 使用了第一种 uses shellapi proce ...
- 痞子衡嵌入式:MCUXpresso IDE下将应用程序RW段分散链接的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下将应用程序RW段分散链接的几种方法. 早期的 MCU 芯片,一般都会嵌入内部 Flash 和 RAM,并且 ...
- 打开cad文件的几种方法
转自原文 打开cad文件的几种方法 IWorkspaceFactory pWorkspaceFactory; IFeatureWorkspace pFeatureWorkspace; IFeature ...
- Response.Redirect 打开新窗体的两种方法
普通情况下,Response.Redirect 方法是在server端进行转向,因此,除非使用 Response.Write("<script>window.location=' ...
- delphi 导出到excel的7种方法
本文来自 爱好者8888 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/kpc2000/article/details/17066823?utm_source=cop ...
- Response.Redirect 打开新窗口的两种方法
一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='htt ...
- 获取当前页面的所有链接的四种方法对比(python 爬虫)
''' 得到当前页面所有连接 ''' import requests import re from bs4 import BeautifulSoup from lxml import etree fr ...
- VS2005打开VS2008项目的2种方法
vs2008支持.net3.5,而vs2005支持.net2.0,所以使用vs2005打开vs2008的项目,要确定你的项目是.net2.0的. 下面介绍2种方法: 方法1:用记事本打开.sln文件, ...
随机推荐
- vue+sass 下sass不能运行问题
好久没写博文了,今天抽空写一写,最近在用vue.js build 项目,今早想使用sass来编译css,可是安装好依赖包之后仍然显示一下错误: ERROR in ENOENT: no such fil ...
- asp.net获取客户端浏览器及主机信息
在线预览效果:http://tool.hovertree.com/info/client/ 其中aspx页面的控件代码: <asp:ListBox runat="server" ...
- ISS部署网站--HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
1.控制面板>程序和功能>打开或关闭Windows功能 > Internet信息服务 > 万维网服务 > 应用程序开发功能 > ASP.NET(看这个是否选上): ...
- Sql Server 备份还原失败错误ERROR:3145(备份集中的数据库备份与现有的数据库不同)及解决办法
SQL Server备份文件bak,备份后还原出现错误3145,备份集中的数据库备份与现有的 'xxx' 数据库不同. 解决办法如下: 1,新建一个与现有数据库重名的数据库. 如果您不知道数据库名称, ...
- 浅谈web网站架构演变过程
前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变. 该系统具备的功能: 用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶 ...
- 微信JSApi支付~订单号和微信交易号
返回目录 谈谈transactionId和out_trade_no 前一篇微信JSApi支付~坑和如何填坑文章反映不错,所以又写了个后篇,呵呵. 每个第三方在线支付系统中都会有至少两类订单号,其一为支 ...
- poj1228--稳定凸包
题目大意:给你一个凸包上的某些点(可能在凸包内),询问是否能确定这个凸包. 思路:先求出题目给出的点的凸包,看看在凸包的每条边内(不包括端点)有没有点,若有,则这条边是确定的,若没有,则这条边不确定, ...
- 疯狂Android讲义 - 学习笔记(六)
第7章 7.1 使用简单图片 7.1.1 使用Drawable对象 7.1.2 Bitmap和BitmapFactory 7.2 绘图 7.2.1 Android绘图基础:Canvas.Paint等 ...
- Android实现侧边栏SlidingPaneLayout
//主布局 1 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widg ...
- discuz 3.x 核心文件class_core.php解析
class_core.php是discuz 3.x的核心文件,几乎所有PHP脚本都有引用此文件初始化论坛运行环境.以下解析引用3.2版discuz. line 12-15:常量定义IN_DISCUZ: ...