vc创建自己Web浏览器
Visual C++(简称VC++)简介
Visual C++简介Visual C++(简称VC++)是美国Microsoft公司开发的Microsoft Visual Studio的一部分,是一个使用广泛的C/C++集成化开发环境。
它成功地将面向对象和事件驱动编程概念联系起来,并得到了很好的配合,使得编写Windows应用程序的过程变得简单、方便且代码量小。
VC++ 6.0集程序的代码编辑、编译、连接、调试于一体,给编程人员提供了一个完整、方便的开发界面和许多有效的辅助开发工具。
VC++6.0的编辑环境包含了许多独立的组件,它们是:文本编辑器、资源编辑器、C/C++编译器、连接器、调试器、AppWizard、ClassWizard、源程序浏览器以及联机帮助。
所有这些构件的功能都隐藏在VC++6.0的菜单和工具条中。
通过该集成环境,程序员可以观察和控制整个开发进程。
VC++6.0的主窗口可以分为如图1所示的几个部分。
典型的Windows应用程序结构有4种:–控制台应用程序–基于框架窗口的应用程序–基于对话框的应用程序–基于文档/视图结构图1VC 6.0的主窗口菜单栏工具栏工作区窗口编辑子窗口输出子窗口VC++既可用于管理基于Windows的应用项目,也可用于管理基于DOS的应用项目。
基于DOS的应用系统也称为控制台应用系统。
控制台应用程序结构简单,可以不使用MFC类库。
一、Visual C++6.0菜单介绍:1.文件菜单文件菜单中共有14个菜单项,分成6组,组与组之间通过凹下去的横线分割开。
–第一组是基本文件操作;–第二组是工作空间操作,工作空间是VC++6.0中最大的一个处理单位,每个工作空间包括多个工程,每个工程又包含若干个文件;–第三组用于文件保存;–第四组用于文件打印。
2.编辑菜单编辑菜单包含用于编辑和搜索的命令,这些命令与其它Windows应用程序中的同名命令具有相似的功能。
3.查看菜单查看菜单包含用于检查源代码和调试信息的命令项,它可以用来设置全屏方式显示窗口,或者打开工作区窗口、输出窗口和各种调试窗口。
PVCS架设
使用PVCS系列软件构建配置管理环境(一)简介PVCS系列软件是Merant公司出品实现配置管理的CASE工具,可以为配置管理提供良好的自动化支持。
其中PVCS Version Manager是用来实现文件的版本管理的,它是整个套件的核心。
PVCS VM Server是使用Web方式访问的服务器。
PVCS Tracker主要是用来管理缺陷跟踪和变更请求管理。
本文以一个中小规模的软件开发企业为例,说明在部署和安装配置这套系统的一些特点。
目标u 实现对开发项目中的配置管理。
核心是软件开发中的源代码、文档等配置管理项的版本管理。
u 支持客户端利用Web浏览器访问配置管理库。
u 建立缺陷跟踪(Defect Track)与变更处理支持系统。
u 自动对配置管理的相应事件用EMail通知相关的人员。
软件环境1. 一台Windows 2000 Server服务器,运行Microsoft Internet Information Server5.0。
2. 装有Microsoft SQL Servera或装有客户端软件可以访问另一台专用的SQL Server数据库服务器。
3. 局域网基于NT/2000的域模型,而且有一台机器安装有Exchange Server5.5或2000作为邮件服务器。
4. PVCS Series CDPVCS Version Manager V6.7.10PVCS VM Server V6.7.10PVCS Tracker V7.0.10PVCS Notify V7.0.10第一部份Version Manager构建版本管理库安装在这套系统中,版本管理是软件配置管理的核心。
所以需要先安装版本管理软件。
将PVCS Series光盘插入后,运行:\vm\win32下的Setup.exe,按照提示一步一步选择安装。
Version Manager包含了以下几个部件:1. Graphical User Interface图形用户界面。
基于QT VS2010平台浏览器webkit编译运行配置流程讲解
基于QT平台浏览器webkit编译运行配置流程讲解1.源码的下载方式打开网页:/developer/downloads/qt/windows其中有:/download?target=http://wftp.tu-chemnitz.de/pub/Qt/qt/source/qt-wi n-opensource-src-4.4.0.zip下载该源码2.源代码configure配置执行完configure -debug再执行nmake然后打开根目录下的.sln文件,将browser 工程设为启动工程解压配置。
解压之后,目录里有个configure.exe 文件。
打开Microsoft Visual Studio 2005,点击菜单“工具--> Visual Studio 2005 Command Prompt”,出现Windows 命令行界面,进入解压后的qt 目录,执行一下configure 即可配置好并生成一些Microsoft Visual Studio 的工程文件。
如果你从VS2008创建了空项目然后添加c++代码,这样编译后就不会出现cmd窗口。
在VC Solution Explorer的项目名上,右键选择properties->Linker->System->SubSystem 选择Console (/SUBSYSTEM:CONSOLE)QT4.7:configure –debugconfigure -debug -webkit -platform win32-msvc2008QT4.8:configure.exe -debug -platform win32-msvc2010QT5.0.0编译QT5.0.1的错误“qtbase\\configure.exe' 不是内部或外部命令: 如在qt-everywhere-opensource-src-5.0.1目录下,可以运行命令:“echo foo > qtbase\.gitignore”。
cgi教程1
软件编程体系
B/S架构编程体系 编程语言: 浏览器端: HTML/CSS/JavaScript /VBScript 服务器端: ASP(.NET)/PHP/JSP 浏览器端语言:是指被浏览器端解释执 行的语言。 服务器端语言:由服务器端编译执行。 如左边的3P:ASP,PHP,JSP。
26
3/28/2011
Boa的配置
Group的修改 的修改
修改 Group nogroup为 Group 0 由于在/etc/group文件中没有nogroup组,所以设成0。另 外在/etc/passwd中有nobody用户,所以User nobody不用 修改。
ScriptAlias的修改 的修改
数据库支持:SQL Server/Oracle/Sybase/MySQL/Informix
8
3/28/2011
软件编程体系
C/S架构编程体系 编程语言: C++和JAVA
9
3/28/2011
Байду номын сангаас
客户端技术
客户端技术主要包括客户端脚本技术、多媒体技 术 、 JavaBeans 、 Active 控 件 、 DHTML 、 Java Applets。
25
3/28/2011
BOA 移植
移植概要
下载Boa源码
下载地址: /, 或者
解压:
# tar xzf boa-0.94.13.tar.gz
生成Makefile文件 文件 生成
直接运行src/configure文件
修改Makefile文件 文件 修改
15
3/28/2011
服务器端技术
CGI的不足:
HP刀片VC简单配置
HP刀片VC简单配置
VC简单配置
设置好VC的IP后,在浏览器中输入VC IP地址,输入用户名和密码(默认用户名和密码在VC标签上有)登陆VCM(Virtual Connect Manager)
根据提示,进入创建新的domain向导界面,下一步
输入OA的用户名称和密码,下一步
选择创建新domain,下一步
扫描连接的VC的硬件信息,下一步
输入新domain的名称,默认即可
可选择添加用户,也可以不添加直接next
创建domain完成,不启动向导模式定义network,手动define network
Define Ethernet network
输入网络名字,比如本例输入的是popo
设置uplink口,uplink口就是VC模块和外部交换机连接的上联口
选择uplink口点击add,例如本例中选择的是Bay2 VC的port2(2号端口),连接到此刀箱的所有的VC模块都是通过此VCM(Virtual Connect Manager)来管理的。
点击右下apply
之后define server profile,输入名称,点击ethernet adapter connection下面的add可以添加更多端口
注意:定义server profile时刀片必须关机
对应端口选择之前创建的network名称,由于之前创建的是一个singel网络选择第一项
选择网络点击ok
之后选择需要应用此配置的bay位服务器,apply
如果想使用相同network 配置其他刀片,可以右键copy,将之前的同样应用完全copy出来分
配给其他刀片,只需要选择其他bay位的刀片即可.。
C#中的WebBrowser控件的使用
C#中的WebBrowser控件的使⽤0、常⽤⽅法Navigate(string urlString):浏览urlString表⽰的⽹址Navigate(System.Uri url):浏览url表⽰的⽹址Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders): 浏览urlString表⽰的⽹址,并发送postData中的消息//(通常我们登录⼀个⽹站的时候就会把⽤户名和密码作为postData发送出去)GoBack():后退GoForward():前进Refresh():刷新Stop():停⽌GoHome():浏览主页WebBrowser控件的常⽤属性:Document:获取当前正在浏览的⽂档DocumentTitle:获取当前正在浏览的⽹页标题StatusText:获取当前状态栏的⽂本Url:获取当前正在浏览的⽹址的UriReadyState:获取浏览的状态WebBrowser控件的常⽤事件:DocumentTitleChanged,CanGoBackChanged,CanGoForwardChanged,DocumentTitleChanged,ProgressChanged,ProgressChanged1、获取⾮input控件的值:webBrowser1.Document.All["控件ID"].InnerText;或webBrowser1.Document.GetElementById("控件ID").InnerText;或webBrowser1.Document.GetElementById("控件ID").GetAttribute("value");2、获取input控件的值:webBrowser1.Document.All["控件ID"].GetAttribute("value");;或webBrowser1.Document.GetElementById("控件ID").GetAttribute("value");3、给输⼊框赋值://输⼊框user.InnerText = "myname";password.InnerText = "123456";webBrowser1.Document.GetElementById("password").SetAttribute("value", "Welcome123");4、下拉、复选、多选://下拉框:secret.SetAttribute("value", "question1");//复选框rememberme.SetAttribute("Checked", "True");//多选框cookietime.SetAttribute("checked", "checked");5、根据已知有ID的元素操作没有ID的元素:HtmlElement btnDelete = webBrowser1.Document.GetElementById(passengerId).Parent.Parent.Parent.Parent.FirstChild.FirstChild.Children[1].FirstChild.FirstChild;根据Parent,FirstChild,Children[1]数组,多少层级的元素都能找到。
web上用Activex控件开发步骤
hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr,
NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
// 标记控件初始化安全.
// 创建初始化安全组件种类
hr = CreateComponentCategory(CATID_SafeForInitializing,
L"Controls safely initializable from persistent data!");
if (SUCCEEDED(hr))
{
// Register this category as being "implemented" by the class.
CATID rgcatid[1] ;
rgcatid[0] = catid;
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
return ResultFromScode(SELFREG_E_CLASS);
// CICCardApp::ExitInstance - DLL termination
int CICCardApp::ExitInstance()
{
return COleControlModule::ExitInstance();
}
//////////////////////////////////////////////////////////////////////
C语言也能干大事之开发网站
练习
实现登陆表单,带“找回密码”链接。
Web开发原理及 编写原始CGI程序
登录过程分析
打开qq邮箱首页,填入用户名密码(输错),点击【登录】按钮,浏览器将 用户输入的用户名、密码发送给网站服务器,网站服务器让负责处理登录请 求的服务器程序来处理这个登录请求,处理程序判断用户名、密码是否正确 ,然后将判断结果返回给浏览器。 使用工具查看发送、返回报文理解:上网就是从服务器向浏览器传送 html 格 式描述的网页,每次请求都带回来新的页面;页面中的图片、js、css在单独的 请求中;
web开发原理及编写原始cgi程序登录过程分析打开qq邮箱首页填入用户名密码输错点击登录按钮浏览器将用户输入的用户名密码发送给网站服务器网站服务器让负责处理登录请求的服务器程序来处理这个登录请求处理程序判断用户名密码是否正确然后将判断结果返回给浏览器
C语言也能干大事 之 开发网站
如鹏网
学前说明
尽量使用Chrome浏览器,和讲课保持统一,避免浏览器差异性问题。 开发工具讲课用Visual Studio2012,大家用VS2010以上都可以,但是不要再用 VC6了。Vi输入标签的类型,共有10个值:文本框text、密码框 password、单选框radio、复选框checkbox、隐藏字段hidden、提 交按钮submit、重置按钮reset、按钮button、文件上传file、图像 image.
<SELECT>标签:定义一个选择列表
<select name="city"> <option value="1">北京</option> <option value="2">深圳</option> </select> 注:<option>:定义下拉列表中的选项,属性 selected 没有属性值 加在其中一个子项上,该子项就变成默认被选中项。
vc2010下载安装教程
vc2010下载安装教程VC2010是指Visual C++ 2010,是微软公司推出的一款集成开发环境(IDE),使用于C++语言的编程。
本文将为您介绍VC2010的下载和安装过程,并提供详细的教程。
一、VC2010的下载1. 首先打开您的浏览器,然后进入Microsoft官方网站。
您可以在搜索栏中输入“Visual C++ 2010下载”来找到相关页面。
2. 在Microsoft官方网站上,找到Visual C++ 2010的下载页面。
您可以尝试在网站的搜索栏中输入“Visual C++ 2010下载”来快速找到该页面。
在页面上可以找到VC2010的下载链接。
3. 点击下载链接,将下载启动VC2010的安装程序。
二、VC2010的安装1. 一旦您的下载完成,双击安装程序以开始安装。
2. 在安装程序界面上,您应该看到一些安装选项。
您可以按照默认选项进行安装,或者根据自己的需求进行自定义设置。
3. 安装过程中可能会需要您选择安装路径,您可以选择默认路径或者自定义路径。
4. 在安装过程中,您需要阅读并同意许可协议。
如果您同意协议,请勾选同意选项。
5. 继续按照安装程序的指示进行操作,直到安装完成。
三、VC2010的配置1. 安装完成后,您可以启动VC2010 IDE。
您可以从开始菜单中找到VC2010的快捷方式,或者在安装目录中找到并双击VC2010的可执行文件。
2. 第一次启动VC2010时,您可能会被要求进行一些初始配置。
按照指示进行操作即可。
3. 在VC2010的主界面上,您可以看到一些常用的工具栏和窗口。
如果您感到困惑或者遇到问题,可以使用“帮助”菜单提供的教程和说明。
四、VC2010的使用1. VC2010提供了一个强大的代码编辑器,您可以在其中编写和编辑您的C++代码。
您可以使用文件菜单或者快捷键(如Ctrl + N)创建新的源文件,然后在编辑器中编写代码。
2. 您可以使用VC2010的编译器来编译和调试您的代码。
利用WebBrowser控件创建自己的浏览器
利用WebBrowser控件创建自己的浏览器是不是很早就想拥有一个很有个性的浏览器?本文将介绍如何利用MicroSoft的WebBrowser控件在VC中创建一个属于自己的浏览器。
过程如下:1.新建一个基于对话框的工程,命名为test,然后在对话框上单击右键,选择Insert ActiveX Control…在弹出的对话框中选择MicroSoft Web浏览器,点击OK.此时对话框上已经出现了WebBrowser控件,调整它的大小以适合对话框的大小。
2.选择WebBrowser控件,点击View/ClassWizard,选择Member Variables,单击Add Variable按钮,此时会弹出两个对话框,均点击确定即可。
然后给该控件加入一个变量,我们把它命名为m_ctrlWeb.3.在ClassWizard中选择OnInitDialog()函数,在里面加入如下代码:m_ctrlWeb.Navigate(“d:\\temp\\html_doc\\index.html”,NULL,NULL,NULL,NULL);第一个参数即你要浏览的URL地址,可以是一个文件,也可以是一个地址(如)。
现在编译运行改程序,如何,是不是已经看到你想要浏览的网页了!不过,我们现在的浏览器只能显示,还没有最基本的前进、后退、刷新等功能,下面我们来加入这些功能。
4.在对话框上加入三个按钮,分别命名为前进(IDC_BUTTON_FORWARD)、后退(IDC_BUTTON_BACK)、刷新(IDC_BUTTON_REFRESH),然后我们分别为他们加入控制代码。
首先要控制他们在特定的情况下是否可用,即达到最顶层或最底层时,前进或后退按钮要相应的改变他们的状态。
利用ClassWizard给WebBrowser控件加入CommandStateChange事件,然后单击Edit Code按钮,在其中加入如下代码:switch(Command){case1:{GetDlgItem(IDC_BUTTON_FORWARD)->EnableWindow(Enable);break;}case2:{GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(Enable);break;}}此时,按钮已经可以随着你点击超连接而改变他们的状态了。
VC(MFC)制作最简单浏览器
VC(MFC)制作简单浏览器thugavin ,北京100084引言:用VC++ 6.0制作简易浏览器浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。
面对它们,我们往往会感叹如此强盛功哪些软件是如何编写出来的呢?的确,要编写一个功能完善的浏览器是很不轻易 ...关键词:浏览器,vc,MFC浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。
面对它们,我们往往会感叹如此强盛功哪棠软件是如何编写出来的呢?的确,要编写一个功能完善的浏览器是很不轻易的。
但是,利用当今的一些面向对象开发工具来编写一个简易的浏览器以实现它的主要功能却十分容易。
用VC++,一支烟的功夫就能办到!不信,请跟我来。
实现原理:ActiveX控件可以看作是OLE容器中使用的进程内服务器,但是,只有在支持ActiveX控件的OLE容器中使用它,才能发挥其所有的功能。
而VC++6.0的MFC 创建的OLE容器完全支持ActiveX控件,所以它可以使用控件的属性和方法来操作ActiveX控件,同时又能以事件的形式接收Active事件的通知。
详细方法:1.首先在VC++6.0的主窗口中选择菜单“File/New”,新建一个工程,使用“MFC AppWizard(exe)”向导,工程名为“SimpleIE”,然后单击“OK”按钮。
2.接下来会有6个向导步骤。
第一步选择“Single document”(单文档界面)支持,语言选择“中文”,其余按默认值,单击“Next”按钮。
3.在接下来的4个步骤(即:Step 2 of 6到Step 5 of 6)中,一律保持默认值,间接单击“Next”按钮进入到下一步即可。
4.在第6步(即:Step 6 of 6)中,请在类列表中选中“CSimpleIEView”类,再从“base class”下拉列表框中选择“CFormView”,这表示可以在程序界面的窗口中加入控件。
VC++6.0使用方法
一、Visual C++ 6.0概述Visual C++6.0是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境,它和Visual Basic、Visual Foxpro、Visual J++等其它软件构成了Visual Studio(又名Developer Studio)程序设计软件包。
Developer Studio是一个通用的应用程序集成开发环境,包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。
使用Visual Studio,可以完成创建、调试、修改应用程序等的各种操作。
VC++6.0提供面向对象技术的支持,它能够帮助使用MFC库的用户自动生成一个具有图形界面的应用程序框架。
用户只需在该框架的适当部分添加、扩充代码就可以得到一个满意的应用程序。
VC++6.0除了包含文本编辑器,C/C++混合编译器,连接器和调试器外,还提供了功能强大的资源编辑器和图形编辑器,利用“所见即所得”的方式完成程序界面的设计,大大减轻程序设计的劳动强度,提高程序设计的效率。
VC++的功能强大,用途广泛,不仅可以编写普通的应用程序,还能很好地进行系统软件设计及通信软件的开发。
二、使用Visual C++ 6.0建立C语言应用程序利用VC++6.0提供的一种控制台操作方式,可以建立C语言应用程序,Win32控制台程序(Win32 Console Application)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互是通过一个标准的正文窗口,下面我们将对使用Visual C++ 6.0编写简单的C语言应用程序作一个初步的介绍。
1.安装和启动运行Visual Studio软件中的setup.exe程序,选择安装Visual C++ 6.0,然后按照安装程序的指导完成安装过程。
安装完成后,在开始菜单的程序选单中有Microsoft Visual Studio 6.0图标,选择其中的Microsoft Visual C++ 6.0即可运行(也可在Window桌面上建立一个快捷方式,以后双击即可运行)。
用VC++编写CGI程序
用VC++编写CGI程序近年来,Internet与Intranet迅猛发展,企业纷纷建立自己的Intranet, 以加强企业内部的联系,促进与外部世界的沟通,增强企业的竞争能力。
通过建立自己的Internet服务器,企业能在网络上发布广告,介绍本公司的情况与产品,收集顾客意见,以及建立虚拟电子商场等。
大家都知道写一个HTML超文本文件放在World Wide Web服务器上,即可通过各种浏览器访问你的主页,但是如何使你的静态主页能响应客户的动作,并与本地的数据库联系,将数据库的相应内容传送给远端的浏览器呢?这就需要通过CGI接口进行联系。
CGI全名是Common Gateway Interface,它是WWW服务器调用外部程序的接口通过CGI,WW W服务器能完成一些本身所力不能及的工作。
在不同操作系统下CGI接口也不相同,可分为Standard CGI接口、DOS CG I接口与Win CG I接口等。
Standard CGI接口用于Unix系统,它是通过环境变量来实现WWW Server与CGI应用程序之间的联系。
DOS CGI接口与Standard CGI 接口原理类同。
Win CGI接口则与前两者大不相同。
由于越来越多的WWW Server 采用Windows系统,而Windows系统又不能有效地传递环境变量,由Bob Denny提出了一种Windows CGI标准,并得以不断推广。
Win CGI是通过.ini文件来进行联系的。
在Windows环境下,许多应用程序都是利用.ini 文件,即profile文件来定义一些基本设定,而Win CGI程序与WWW Server之间也正是通过pro file文件来实现联系的。
当WWW Client通过WWW Server 触发CGI程序时,WWW Server先动态生成几个文件于临时目录下,分为.ini、.inp、.out等文件。
在WWW Server生成CGI程序的进程时,通过命令行参数将.ini文件的绝对路径传给CGI进程。
如何构建一个完整的WEB服务器
添加 I I 务 S服
创 建 We b站 点 : 述 、 描 I P地 址 、 口 、 目 端 主 录、 默认 文 挡 具体操作步骤如下 :
1设 置 “ C / T PI P属 性 ” I 。 P地 址 : 9 6 1 1 21 8
求 , 先需要 D 首 NS服 务 器 进 行 解 析 , 到 相 对 应 找
一
网 络 服 务 “ “ 细 信 息 “勾 选 ” 名 系 统 ( S 一详 。 域 DN )
一
“ 定 ”返 回 Wid ws组 件 向导 窗 口 , 击 “ 确 . no 点 下
步 ”完 成 安 装 。 。 3打 开 ” NS 管 理 窗 口 , 击 “ 向 查 找 区 D 右 正
的 l 址 ,然 后 通过 I 址 实现 Itre 服 务 P地 P地 nen t
器对客户端的响应。
( ) e ev r 需 配 置 : 一 W bS e 所 r 配 置 静 态 l 1 2 1 8 1 O P 1 9 6 1 0 建 立 主 目 录 和 主 文 档 : : b i\ ea I d\ we s ed f ut t .
wid w 2 0 / 0 8系 统 自带 组 件 . 须 安 装 第 n o s 0 32 0 无
具体 操 作 步 骤 如 下 1
1设 置 “CP I T / P属 性” I 。 P地 址 :9 6 . 1 21 8 1
2 0, 网 掩 码 : 5 .5 .5 首 选 DN 服 务 0 子 2 5 2 52 50, S
摘要 : 常 , 户访 问 lrre 时在客 户端 浏 览器 中输 入一 个 F 通 用 nen t QDN , 如 : ww. iuc r , 可 以浏 览 网上 信 息 了。 实际上 , 算 机之 间 的通 信是 通 过二 进 例 w b d. n 就 a o 计 制 进行 的 , 此客 户端提 出的 访 问请 求 , 先需 要 DNS 务 器进 行 解析 , 到相 对 应的 I 因 首 服 找 P地 址 , 然后 通过 I P地 址 实现 I t t nc me 服务 器对客 户端 的响 应 。 关 键 词 :I I DNS QDN I S F P地 址
VC++使用CreateProcess创建新进程
VC++使⽤CreateProcess创建新进程#include <windows.h>#include <tchar.h>#include <stdio.h>int main(int argc, char* argv[]){TCHAR szCommandLine[] = TEXT("NOTEPAD");//或者WCHAR//LPWSTR szCommandLine = TEXT("NOTEPAD");//错误//STARTUPINFO si = { sizeof(si) };STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory(&si, sizeof(si));si.cb = sizeof(si);ZeroMemory(&pi, sizeof(pi));si.dwFlags = STARTF_USESHOWWINDOW; // 指定wShowWindow成员有效si.wShowWindow = TRUE; // 此成员设为TRUE的话则显⽰新建进程的主窗⼝,// 为FALSE的话则不显⽰BOOL bRet = ::CreateProcess (NULL, // 不在此指定可执⾏⽂件的⽂件名szCommandLine, // 命令⾏参数NULL, // 默认进程安全性NULL, // 默认线程安全性FALSE, // 指定当前进程内的句柄不可以被⼦进程继承CREATE_NEW_CONSOLE, // 为新进程创建⼀个新的控制台窗⼝NULL, // 使⽤本进程的环境变量NULL, // 使⽤本进程的驱动器和⽬录&si,&pi);if(bRet){// 既然我们不使⽤两个句柄,最好是⽴刻将它们关闭::CloseHandle (pi.hThread);::CloseHandle (pi.hProcess);}return0;}。
在VC中使用WebBrowser控件的两方法
在VC中使⽤WebBrowser控件的两⽅法ClassWizard⽅式:1.创建包装类:View->ClassWizard->Add Class->Form a Type Library->C:/winnt/system32/shdocvw.dll->只选择IWebBrowserApp类->OK->OK2.声明⼀个类变量:IWebBrowserApp m_internetexplorer;,并包含刚才的头⽂件(xxx.h)3.在类的构造函数中调⽤COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:m_internetexplorer.CreateDispatch("InternetExplorer.Application.1");4.在类的析构函数中调⽤COleDispathDrive::ReleaseDispatch()函数,加载服务器,如下代码:m_internetexplorer.CreateDispatch();5.在程序中指定URL地址后进⾏打开WEB页,如下代码:VARIANT vInfo;vInfo.vt=VT_EMPTY;m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);m_internetexploret.SetVisible(TRUE);备注:还可以使⽤插⼊控件的⽅式来控制IE的,只需要⼏步就可以了,如下:1.在VC中插⼊WebBrowser控件,并产⽣相应的包装类2.声明⼀个类变量,可⽤ClassWizard的变量映射来进⾏。
3.在程序中指定URL地址后进⾏打开WEB页,如下代码:VARIANT vInfo;vInfo.vt=VT_EMPTY;m_internetexplorer.Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);m_internetexploret.SetVisible(TRUE);#import⽅式:1.使⽤import导⼊类,在你的类的头⽂件加⼊以下代码:#import "" rename ("tagREADYSTATE","tagIEREADYSTATE")using namespace SHDocvw;2.声明⼀个类变量:IWebBrowserAppPtr m_internetexplorer;3.在类的构造函数中调⽤COleDispathDrive::CreateDispatch()函数,加载服务器,如下代码:m_internetexplorer->CreateInstance("InternetExplorer.Application.1");4.在程序中指定URL地址后进⾏打开WEB页,如下代码:VARIANT vInfo;vInfo.vt=VT_EMPTY;m_internetexplorer->Navigate("地址",&vInfo,&vInfo,&vInfo,&vInfo);m_internetexploret->PutVisible(TRUE);。
vc++创建自己Web浏览器
void CMyWebView::OnStop() { Stop(); }
//刷新当前的网页
void CMyWebView::OnUpdate() { Refresh(); } //回到主页 void CMyWebView::OnHomepage() { GoHome(); } //进行搜索
void CMyWebView::OnSearch() { GoSearch(); }
providing a navigational link to the Microsoft Visual C++ Web site: void CWebView::OnInitialUpdate() { CHtmlView::OnInitialUpdate();
// TODO: This code navigates to a popular spot on the web.
(2)为基于对话框的程序完成第2步
①为你的程序选择基本的用户界面特性和套接字支持。 ②点击Next。
(3)为基于对话框的程序完成第3步
①如果你需要源文件中的注释,它告诉你需要在哪里 添加你自己的代码。
②选择你想要如何使用MFC库,作为共享的DLL。还 是静态链接的DLL。
(4)为基于对话框的程序完成第4步 ①如果你想要改变应用程序向导为你提供的默认的类 名,头文件名或实现文件名,输入新的名字。
2添加控制代码设想当用户在地址栏中输入网址后打回车键时浏览器应用程序就下载并显示指定的新网页为了实现这个功能考虑到用户在文本编辑框中按下回车键后会有一个idok的消息发送到主框架类可以添加处理这个消息的控制函数在该函数中用指定的网址调用navigate或者navigate2函数就可以实现对该网页的浏览
vc++如何创建窗口
vc++如何创建窗⼝创建⼀个mfc⼯程,AppWizard可以⽤来增加和选择⼀些特性可以发现⼀共有五个类,每⼀个类都有⼀个基类,都是mfc基础类库中的类例如将⼀个类拷贝⼀下,将CFrameWnd到msdn中查找⼀下,MSDN(Microsoft Developer Network)是早期微软在推⼴Win32 程序设计以及开发⼯具时,专门为开发⼈员所提供的⼀个服务,是使⽤微软技术开发软件或应⽤程序时必定会参访的地⽅,同时它也有提供订阅的服务例如cwinapp理解mfc脉络,每⼀种不同的窗⼝类创建窗⼝:createwindow类理清关系。
例如演⽰Cwind类如何与窗⼝联系起来的class CWnd{public:bool CreateEx(DWORD dwExStyle)LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HWND hMenu,HINSTAMCE hInstance,LPUOIO IpParan);BOOL ShowWindow(int nCndShow);BOOL UpdateWindow();//定义⼀个句柄的成员变量public:HWND n_hWnd;};//完成三个函数,返回值类名::作⽤于标识符,BOOL CWnd::CreateEx(DWORD dwExStyle)LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HWND hMenu,HINSTAMCE hInstance,LPUOIO IpParan);//完成⼀个创建窗⼝的过程,利⽤win32提供的api函数成员变量保护{m_hWnd=::CreateWindowEx(dwExst,lpClassName,dwStyle,dwStyly,x,y,nWidth,nHeight,hWndParent,HWenu,hInstance,Iparam);//表⽰全局函数可以加⼀个::BOOL ShowWindow(int nCndShow);BOOL UpdateWindow();if(n_hWnd!=NULL)return TRUE;elsereturn FALSE;}bool CWnd::ShowWindow(int nCmdShow){return ::ShowWindow(m_hWnd,nCndShow);// ::ShowWindow(m_hWnd,nCndShow);表⽰是⼀个全局函数,是⼀个平台sdk的函数,//只要想表⽰sdk的,全局的,都可以⽤::来表⽰,返回值也是bool类型//当调⽤createEx函数时,表⽰函数已经传过来了,可以直接返回}bool CWnd::UpdateWindow(int nCmdShow){return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表⽰是⼀个全局函数,是⼀个平台sdk的函数,//只要想表⽰sdk的,全局的,都可以⽤::来表⽰,返回值也是bool类型//当调⽤createEx函数时,表⽰函数已经传过来了,可以直接返回}bool CWnd::UpdateWindow(int nCmdShow){return ::UpdateWindow(m_hWnd);// ::ShowWindow(m_hWnd,nCndShow);表⽰是⼀个全局函数,是⼀个平台sdk的函数,//只要想表⽰sdk的,全局的,都可以⽤::来表⽰,返回值也是bool类型//当调⽤createEx函数时,表⽰函数已经传过来了,可以直接返回}//可以粘贴代码过来int WINPI WinHain(HINSTAMCE hInstance,HINSTAMCE hPreVInstance,LPSTR IpCmdLine,int nCmdShow){WNDCLASS undels;undels.cbWndExtra=0;undels.cbClsExtra=0;....//注册RegisterClass(&wndcls);//产⽣窗⼝,宽度,⾼度CWnd wnd;wnd.CreateEx(...);//显⽰窗⼝wnd.ShowWindow(SW_SHOWHORHAL);//更新窗⼝wnd.UpdateWindow();//循环。
C#制作多标签浏览器
C#制作多标签浏览器(一)Net Framework 提供了WebBrowser控件,作为制作浏览器的基础。
这个控件的常用方法如下:Navigate(string urlString):浏览urlString表示的网址Navigate(System.Uri url):浏览url表示的网址Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders):浏览urlString表示的网址,并发送postData中的消息(通常我们登录一个网站的时候就会把用户名和密码作为postData发送出去) GoBack():后退GoForward():前进Refresh():刷新Stop():停止GoHome():浏览主页常用属性:Document:获取当前正在浏览的文档DocumentTitle:获取当前正在浏览的网页标题StatusText:获取当前状态栏的文本Url:获取当前正在浏览的网址的UriReadyState:获取浏览的状态常用事件:DocumentTitleChanged,CanGoBackChanged,CanGoForwardChanged,DocumentTitleChanged,ProgressChanged,ProgressChanged这几个意思很明显,就不细说了。
Navigating,开始导航Navigated,导航完成并开始装载文档DocumentCompleted:按理应该是整个文档装载完成,即网页完全显示完才发生,但事实上似乎不是,所以还是慎用这个事件。
用ReadyState来判断是否完全装载完成更好。
这些方法、属性、事件,对于实际浏览来说并不够,因为你要能处理弹出新窗口的信息,就算是你要强制所有的链接都在同一窗口内打开,你也要知道使用者点了什么链接吧。
但是WebBrowser竟然没有提供这个事件,有一个NewWindow事件,在使用者点击链接将要弹出新窗口时发生,但是这个事件没有什么有用的参数,你根本就不知道使用者要打开的是什么链接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
providing a navigational link to the Microsoft Visual C++ Web site: void CWebView::OnInitialUpdate() { CHtmlView::OnInitialUpdate();
其它的函数就不一一列举了。
2.主要的操作(Operations)成员函数
这些成员函数非常有用,常常用在应用程序中。
void GoBack( ); 导 航 到 历 史 列 表 的 前 一 个 条 目 (previous item)。
void GoForward( ); 导航到历史列表的下一个条目。
void GoHome( ); 导航到主页,该主页在IE的属性中设置。
实验九 利用CHtmlView类创建Web浏览器
9.2.1 CHtmlView类与WebBrowser控件
CHtmlView类在afxhtml.h包含文件中定义, 是从CView派生的,如图9.2所示。在标准的 MFC框架应用程序中,无论是基于SDI或MDI的, 所有从CView派生的类,都提供了由CView提 供的功能。
CHtmlView::OnInitialUpdate();
// TODO: This code navigates to a popular spot on the web.
// change the code to go where you'd like.
LoadFromResource(IDR_HTML1);
void GoSearch( ); 导航到当前搜索页。该页在IE的属性 中设置。
void Refresh( );
重新装入浏览器当前正在显示的URL
或者文件,即刷新。
void Stop( );
撤销任何未完成的导航或下载,并且停止任何动态来自页面元素,例如背景音乐和动画。
Navigate
导航到由URL指定的资源。
Navigate2
导航到由URL指定的资源或者由全
路径指定的文件。
PutProperty 的当前值。
设置与所给定的对象相关的属性
GetProperty 的当前值。
返回与所给定的对象相关的属性
ExecWB
执行一个命令。
LoadFromResource 在WebBrowser控件中装 入一个资源。
9.2.3 创建一个Web浏览器型的应用程序
WebBrowser控件支持通过超链接和统一资源定 位器URL导航的Web浏览。
使 得 应 用 程 序 成 了 一 个 Web 浏 览 器 (web browser)。
要创建一个Web浏览器型的应用程序,可以使用 CHtmlView类。通过MFC应用程序向导实现。
9.2.2 CHtmlView 类的成员函数 1.获取和设置属性(Attributes)的成员函数
图9.2 CHtmlView类的继承关系
CHtmlView 类 的 主 要 功 能 是 访 问 Web 网 站 和 HTML文档。这是由于CHtmlView类在MFC的文档/ 视图结构(MFC's document/view architecture)环 境中,进一步提供了WebBrowser控件的功能,可以 说CHtmlView类是对WebBrowser控件的封装。
(1)CString GetType( ) const; (2)long GetLeft( ) const; void SetLeft( long nNewValue ); (3)long GetTop( ) const; void SetTop( long nNewValue ); (4)long GetHeight( ) const; void SetHeight( long nNewValue ); (5)BOOL GetVisible( ) const; void SetVisible( BOOL bNewValue );
// TODO: This code navigates to a popular spot on the web. // change the code to go where you'd like. Navigate2(_T("/visualc/"), NULL,NULL); }
}
需要说明,当你使用MFC应用程序向导创建程序时,如果在 第一步为应用程序选择的结构是基于对话框的,则后面的步 骤与前面介绍的6个步骤不太一样,只需要4步就够了。
(1)为基于对话框的程序完成第1步
①为你的应用程序选择三种结构之一,这里选择基于对话框 (Dialog Based)。
② 决 定 你 的 应 用 程 序 是 否 要 支 持 MFC 的 文 档 / 视 图 结 构 (document/view architecture),你必须选择支持。
你可以使用MFC AppWizard创建一个Web浏览器型 的应用程序。遵照使用MFC应用程序向导创建SDI或 MDI的.exe程序的六个步骤。应用程序必须是基于 MFC 的文档/视图结构的,要注意的是,在第六步, 使用Base class下拉列表框,必须选择CHtmlView 类作为视图类的基类。其他步骤根据应用程序的需要 来决定,大部分使用默认值就可以了。
③为文本选择一种语言,然后点击Next
(2)为基于对话框的程序完成第2步
①为你的程序选择基本的用户界面特性和套接字支持。
②点击Next。
(3)为基于对话框的程序完成第3步
①如果你需要源文件中的注释,它告诉你需要在哪里 添加你自己的代码。
你可以用一个你自己的站点代替Navigate2函数中的站点, 或 者 你 也 可 以 使 用 LoadFromResource 函 数 , 来 打 开 一 个 HTML页面,它在你的工程的资源脚本内,作为默认的要观察 的内容,例如:
void CWebView::OnInitialUpdate()
{