在IE浏览器中使用Windows窗体控件(三)

原创 2004年07月09日 08:33:00

调试Windows窗体控件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

要调试窗体控件,你需要按照下面步骤进行。

         1.打开浏览器并请求包含窗体控件的那个Html页面。

         2.打开visual Studio.Net同时选择工具->调试进程就会显示下面的对话框。


在这个进程对话框中,选择IEXPLORE.EXE 点击附加按钮。当你点击附加按钮时会跳出一个对话框提示你选择要调试的程序类型。我们选择了Common Language Runtime Script两项,如下图:


确定关闭上面的窗口和进程窗口。

         通过Vs.net的文件菜单打开用户控件文件 AuthorsWebServiceClient.cs,在源代码中设置断点。这样一旦你设置断点,你就可以调试该控件了,如下图所示。


Windows窗体代码访问权限

就象我们以前讨论的一样。当窗体控件在IE中执行时,他使用由.NET运行时提供的权限。要弄清楚控件怎样使用由.NET运行时提供的代码访问安全来在IE中运行,让我们回到前面,在窗体控件Load事件中加入下面的代码:

private void AuthorsControl_Load(object sender, System.EventArgs e)

{

     if (!EventLog.SourceExists("TestSource"))

         EventLog.CreateEventSource("TestSource", "TestLog");

     else

     {

         EventLog.DeleteEventSource("TestSource");

         EventLog.CreateEventSource("TestSource", "TestLog");

     }   

}

在上面的代码中我们判断web服务器上是否存在TestLog的日志源,如果不存在我们就创建他,如果存在就删除重建。就象你预料的一样,执行这些代码需要有更多的权限,所以上面的代码通过Internet该用户控件将不会正常工作,你将会看到如下的提示窗口。


通过上面窗口我们可以清楚的看到你的访问被.NET运行时所限制。

 

IE中使用窗体控件时,你需要意识到他的优点和局限。主要的优点包括:

1.通过Web实现丰富的动态界面。

2.无缝结合.NET的代码安全策略。

3.优于Java applets的表现。

限制包括:

1.客户端需要是Windows操作系统

2.需要IE6.0的支持

3.客户端需要安装.NET运行时环境

4.服务器端需要是Window2000IIS5.0或者更高版本

由于上面的限制,对客户端和服务器端数据的传输这也许也是有利的。比如说由于让Windows窗体控件在客户端IE中使用需要客户端安装有.NET runtime,我们可以写一些代码来判断客户机是否安装有.NET runtime,通过这一特征我们可以获得版本号,否则会得到0.0

 

结论

在这篇文章中,我们讨论了怎样在IE中使用浏览窗体控件以及在进程中进行调试。同时也讲到了在IE中的.NET代码访问安全控制。

虽然这项技术的实现需要客户端安装.NET运行时,不过我们可以相信在以后的Windows操作系统中将会集成.NET frameworkwindows2003就是一个很好的例子。

最后,我希望你会发现这篇文章对你有所帮助,同时谢谢你的阅读。

 

About the Author

Thiru has almost six years of experience in architecting, designing, developing and implementing applications using Object Oriented Application development methodologies. He also possesses a thorough understanding of software life cycle (design, development and testing).

He is an expert with ASP.NET, .NET Framework, Visual C#.NET, Visual Basic.NET, ADO.NET, XML Web Services and .NET Remoting and holds MCAD for .NET, MCSD and MCP certifications.

Thiru has authored numerous books and articles. He can be reached at thiruthangarathinam@yahoo.com.

MFC程序添加Web浏览器控件(IE控件)

MFC程序添加Web浏览器控件(IE控件)       1. 新建一个基于对话框的MFC程序   这里使用VS2010建立一个MFC Application,种类选择基于对话框Dialog...
  • u011763045
  • u011763045
  • 2013年11月05日 00:17
  • 8257

【转载】WIN32 应用程序内嵌IE浏览器(注意非MFC)

直接上代码: 后面附带注释 (代码是我从网上搜下来的,然后经过我的机器调试,并且编译通过的) 本文用到了COM组件的相关知识,ATL的相关知识 #include CComModule ...
  • zhubosa
  • zhubosa
  • 2016年10月14日 16:39
  • 1077

卸载浏览器的控件

本文说明的是卸载IE浏览器的加载控件。 很多时候,控件是由浏览器经过用户的允许后,从服务器下载控件的安装文件并安装在客户端电脑的。从这以后,控件就被加载到浏览器的加载项,用户通过浏览器使用控件时,浏览...
  • jjavaboy
  • jjavaboy
  • 2014年12月20日 13:07
  • 777

单机情况下,IE浏览器访问activeX控件出现红叉问题的解决

本人也是刚接触activeX控件,自己通过vs2010编写了几个简单的例子,经测试工具测试过都可以用,在html文件添加之后如果双击文件用IE打开,会有加载控件之类的提示,但是在浏览器中输入url地址...
  • huangyz59420
  • huangyz59420
  • 2013年08月08日 22:39
  • 3208

JS日期选择器(兼容IE,Firefox,Opera等主流浏览器)

JS文件下载:   1. CSDN下载地址: http://download.csdn.net/detail/u013068377/8657779 程序截图: ...
  • u013068377
  • u013068377
  • 2015年05月03日 22:41
  • 1832

QT通过QAxWidget嵌入IE浏览器并获取页面源码

为什么 为了显示微信登录的二维码,引入了整套QtWebEngine,占用非常大的空间。微信登录二维码有自动刷新动作,这些定义在页面脚本中,所以不能直接自绘二维码方式实现,浏览器少不了。 ...
  • jinzeyu_cn
  • jinzeyu_cn
  • 2016年12月07日 19:54
  • 3622

IE 10浏览器使用心得:界面简洁、功能很强大

IE 10浏览器的功能还是非常强大的,启动速度快,简洁到以展现内容为主导以及更好的兼容性,IE10与IE9一样建立在硬件加速图形工具软件之上,而且IE10将继续支持HTML5和CSS3。为了让Wind...
  • linux_loajie
  • linux_loajie
  • 2013年01月22日 09:35
  • 3174

关于无边框EXE程序窗口嵌入IE浏览器WebBrowser右键属性窗口无法点击响应问题的解决

好久没写博客了,今天有空写点。最近遇到个问题,就是我有一个Delphi写的exe程序,主窗口没有边框(Style=bsNone),标题和边框都是自己画的,然后我嵌了一个TWebBrowser浏览器,一...
  • huzgd
  • huzgd
  • 2015年12月29日 15:32
  • 1960

C++利用WebBrowser控件创建自己的浏览器

利用WebBrowser控件创建自己的浏览器   是不是很早就想拥有一个很有个性的浏览器?本文将介绍如何利用MicroSoft的     WebBrowser控件在VC中创建一个属于自...
  • jolin678
  • jolin678
  • 2015年09月24日 14:07
  • 3399

Windows窗体与控件

学习下Window的窗体与控件,UI,我的IDE是VS2012,通过学习这些基本控件,如果以后要用到别的控件,就能够较快上手。 Windows窗体窗体是应用程序的基本单元,是非常重要的。它实质上是一块...
  • im_zhq
  • im_zhq
  • 2016年05月11日 11:20
  • 3639
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在IE浏览器中使用Windows窗体控件(三)
举报原因:
原因补充:

(最多只允许输入30个字)