今天碰到的新需求,在桌面的应用程序中,嵌入浏览器,并且要求应用程序与浏览器中的web页面能够进行数据交换。
在大学时便开始接触MFC了,只可惜来来回回接触过好多次,但从没有真正的搞明白过这套基础类库。再后来听说过诸如COM,ACTIVEX之类的名词,只是大约知道而已,具体是什么东西,基本上是没有什么概念。再后来,开始在LINUX平台作开发以后,便开始慢慢的淡忘甚至讨厌起WINDOWS平台上的开发。
可惜现在又要开始搞,搞吧,多搞搞总不是坏事。
常常把开源的好处挂在嘴边,比如,搞不明白读源代码去;什么地方不符合自己要求直接改去。其实现在想想,微软在闭源的这个方向上的确也是走出了一条比较牛逼的路,该藏的我的藏好了,又要给你足够的灵活性,让你能够自由发挥,就如同戴着脚镣跳舞,虽然笨拙,可是依然要跟上舞步。
长久没有好好的关注WINDOWS平台的进化了,现在说起来,应该也只能给个大概,印象中从最早我接触的WIN32 API,到MFC可以拖拖按钮,再到今天的.NET Framework,这后面到底发生了多么大的变化,如果仔细研究,应该也是很有意思的。还有不得不说的开发工具,从VC 6到现在几乎每个20xx年就会推出的VISUAL STUDIO 20xx,以至于我今天坐在20xx前,竟有点手足无措的感觉。
我喜欢对事情能够一探究竟,所以当再次打开MFC的时候,不禁困惑,为什么是这么看起来东拼西凑的几个类;又为什么我只需要在那几个函数里写写画画;又究竟这程序是怎么开始的,又如何结束....微软的大牛们的确是为我们考虑的够周到,当然,也有考虑不周被人臭骂的地方。
感想说了半天,说说今天的需求,搞了一天,方才弄出点眉目来。窗口中嵌入浏览器,尤其是嵌入IE,貌似是非常简单,只要加入一个浏览器的ActiveX控件即可。窗口与浏览器中页面的交互,主要通过window.external来实现。可以通过扩展IDispatch来扩展window.external对象。
其实细想来,不难发现为什么会有那么多基于IE内核的浏览器出现,虽然IE内核不开放源代码,可是windows下的各种技术和微软提供的各种接口,给了你足够的空间去实现一个自己的浏览器。
如果在linux上搞这样一套标准化的东西,会怎样?或者,已经有了?
分享到:
相关推荐
When you become a Pivotal Certified Spring Web Application Developer, you'll receive one of the most valuable credentials available in enterprise Java. Achieving this certification demonstrates your ...
When Federated Learning Meets Blockchain: A New Distributed Learning Paradigm 关键词:联邦学习、区块链、隐私和安全 主要贡献: 1)引入一个新的FL框架:基于区块链的联邦学习(BC-FL),使用区块链取代中央...
Qualities of a great application 8 How Do You Design the Obvious? 10 Turn qualities into goals 10 The Framework for Obvious Design 12 Know what to build 14 Know what makes it great 14 Know the ...
- **`ServletContext` Interface**: The `ServletContext` interface represents the context of a web application. It allows servlets to share data and communicate with each other. - **Requests and ...
Web Client Programming with Perl is a behind-the-scenes look at how your web browser interacts with web servers. Readers of this book will learn how the Web works and how to write software that is ...
NW.js and Electron are desktop application frameworks powered by Node.js. They allow developers to create cross-platform desktop apps using HTML, CSS, and Java- Script. They offer web designers and ...
Eclipse Rich Ajax Platform: Bringing Rich Client to the Web ...Solve issues when migrating a RCP application to RAP. Determine when to use RAP or when to choose a different framework.
When_privacy_meets_populism_how_people_are_influencing_the_data_debate 漏洞分析 安全管理 系统安全 安全管理 安全建设
WordPress is one of the most rapidly expanding markets on the Web. Learning how to build ...Customize the WordPress admin section and themes to create the look and feel of a typical web application
14. If the two ISPs do not peer with each other, then when they send traffic to each other they have to send the traffic through a provider ISP (intermediary), to which they have to pay for carrying ...
MIVIBES is a Mobile Interactive VIdeo Browser Extended Software for mobile devices/smart phones to use a standard web browser simultaneously while playing a video on the same screen. This piece of ...
NW.js and Electron are desktop application frameworks powered by Node.js. They allow developers to create cross-platform desktop apps using HTML, CSS, and JavaScript. They offer web designers and ...
What information is necessary when specifying the structure of a table? (a) the name of the table and the amount of storage space to be allocated to the table (b) the name of the table, the ...
This book is primarily intended for beginners who wants to learn various aspects of... When the reader builds the working application step by step, the confidence of the reader as a developer is boosted.
the most commonly used parts of its vast standard library, and a few of the most popular and useful thirdparty modules and packages, covering a wide range of application areas, including web and ...