winform监视IE

问题描述

功能:开发一个winform小程序监视IE打开的特定网页文本框的输入内容进行提示。举例说明功能需求:IE打开的网页代码:index.html<html><head><title>测试<title></head><body><inputtype="text"name="aaa"></body></html>需要开发一个winform小程序,当用IE打开上面的index.html网页,当我们在aaa文本框中输入一个值如:bbbb,当鼠标离开aaa文本框时,winform弹出对话框messagebox,显示输入值bbb。注:winform不能使用webbrowser控件!跪请各位高手给予帮助指点,这个如何实现,最好能给点关键代码,谢谢谢谢谢谢!!本人搞不懂的问题1:index.html网页中aaa文本框没有onblur事件,或mouseleave时间,不知道怎么能激活winform。2:如何用winform监视iE指定网页文本框内容?

解决方案

解决方案二:
首先你的找到浏览器控件的句柄有了句柄你就可以通过句柄得到一个Document对象代码如下:classWin32{[DllImport("user32",EntryPoint="SendMessage")]publicstaticexternintSendMessage(IntPtrhwnd,intwMsg,IntPtrwParam,refIntPtrlParam);[DllImport("user32",EntryPoint="RegisterWindowMessage")]publicstaticexternintRegisterWindowMessage(stringlpString);[DllImport("OLEACC.DLL",EntryPoint="ObjectFromLresult")]publicstaticexternintObjectFromLresult(intlResult,refSystem.Guidriid,intwParam,[MarshalAs(UnmanagedType.Interface),System.Runtime.InteropServices.In,System.Runtime.InteropServices.Out]refSystem.ObjectppvObject);}publicmshtml.IHTMLDocument2GetHtmlDocument(IntPtrhwnd){System.ObjectdomObject=newSystem.Object();IntPtrtemp=IntPtr.Zero;System.GuidguidIEDocument2=newGuid();intWM_Html_GETOBJECT=Win32.RegisterWindowMessage("WM_Html_GETOBJECT");intW=Win32.SendMessage(hwnd,WM_Html_GETOBJECT,IntPtr.Zero,reftemp);intlreturn=Win32.ObjectFromLresult(W,refguidIEDocument2,0,refdomObject);mshtml.IHTMLDocument2doc=(mshtml.IHTMLDocument2)domObject;returndoc;}

你需要添加引用Microsoft.mshtml.dll然后你就可以这样用了然后我也不知道怎么满足你的需求了我只能帮你到这里了
解决方案三:
引用1楼crystal_lz的回复:

首先你的找到浏览器控件的句柄有了句柄你就可以通过句柄得到一个Document对象代码如下:classWin32{[DllImport("user32",EntryPoint="SendMessage")]publicstaticexternintSendMessage(IntPtrhwnd,intwMsg,IntPtrwParam,refIntPtrlParam);[DllImport("user32",EntryPoint="RegisterWindowMessage")]publicstaticexternintRegisterWindowMessage(stringlpString);[DllImport("OLEACC.DLL",EntryPoint="ObjectFromLresult")]publicstaticexternintObjectFromLresult(intlResult,refSystem.Guidriid,intwParam,[MarshalAs(UnmanagedType.Interface),System.Runtime.InteropServices.In,System.Runtime.InteropServices.Out]refSystem.ObjectppvObject);}publicmshtml.IHTMLDocument2GetHtmlDocument(IntPtrhwnd){System.ObjectdomObject=newSystem.Object();IntPtrtemp=IntPtr.Zero;System.GuidguidIEDocument2=newGuid();intWM_Html_GETOBJECT=Win32.RegisterWindowMessage("WM_Html_GETOBJECT");intW=Win32.SendMessage(hwnd,WM_Html_GETOBJECT,IntPtr.Zero,reftemp);intlreturn=Win32.ObjectFromLresult(W,refguidIEDocument2,0,refdomObject);mshtml.IHTMLDocument2doc=(mshtml.IHTMLDocument2)domObject;returndoc;}

你需要添加引用Microsoft.mshtml.dll然后你就可以这样用了然后我也不知道怎么满足你的需求了我只能帮你到这里了

句柄你可以通过FindWindowEx函数去找我上面的代码是直接用spy++抓出来写死的一个句柄
解决方案四:
这属于木马和流氓软件范畴了吧

时间: 2025-01-24 00:33:51

winform监视IE的相关文章

for语句-c#winform做一个动画()来监视for循环

问题描述 c#winform做一个动画()来监视for循环 类似看视频加载时的加载圈,当for执行的时候开始转动 当for语句结束时 停止转动 能不能做?求大神解惑?怎么做,求资料方法链接 解决方案 在for循环开始前加上 this.Cursor = Cursors.WaitCursor; 在For循环最后加上 this.Cursor = Cursors.Default; 如果是win7以上,会显示滚动的圈,xp以前是沙漏. 解决方案二: 如果不要鼠标效果,就自己做一个panel啥的显示,完了隐

C# Builder 实现POP3信箱的监视

Borland的C# Builder是一个基于C#语言的编程工具,C# Builder允许开发者用Java或CORBA工具开发,C# Builder同时也具有从多种数据库中读取数据的能力,可以混合和适应不同开发标准的能力.本文向大家介绍怎样用Borland C# Builder编写一个信箱监视程序, 程序主要是通过WinSock来进行网络通信.要实现这个程序,应对POP3协议有一定的了解,下面是对POP3协议的一个粗略的介绍,读者可以参看RFC 1225更为详细地了解该协议. 一.POP3协议简

Win32开发入门(25):监视剪贴板

自从郭大侠和蓉儿离开桃花岛后,最近岛比较寂静,有一种"门前冷落鞍马稀"的感觉.于是,老 邪就拿出<九阴真经>认真阅读,同时用迅雷下载经典大剧<汉武大帝>晚上睡觉前看上几集,老邪一 向是善于向古圣先贤学习. 大家知道,迅雷有一个监视剪贴板的功能,如果发现你复制剪贴板 的内容包含符合迅雷下载地址格式的就弹出新建下载任务窗口. 可能我们也希望在自己的应用 程序中也加入这样XX的功能,其实不难,真的,我用老顽童的人格保证,实现该功能是灰常简单的. 我们需要完成两步就行了

【实时】DevExpress内存监视

原文:[实时]DevExpress内存监视 前言 在做项目的时候,我们有时候需要检测项目的内存占用情况,有时候是检测内存泄露~,有时候是查看某段代码执行前后的内存对比,以方便找出问题并以解决. 内存泄漏也称作"存储渗漏",用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元.直到程序结束.(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏.-百度百科 前几天做项目的时候就遇到这种情况,项目是winform开发,大数据压缩.解压和绑定的时候,内存飙升

C# WinForm多线程开发(二) ThreadPool 与 Timer

原文地址:点击打开链接 [摘要]本文介绍C# WinForm多线程开发之ThreadPool 与 Timer,并提供详细的示例代码供参考. 本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer. 一 .ThreadPool 线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个线程而又较短任务(如一些常处于阻塞状态的线程),它的缺点是对创建的线程不能加以控制,也不能设置其优先级.由于每个进程只有一个线程池,当然每个应用程序域也只有一

在Winform和WPF中注册全局快捷键实现思路及代码_C#教程

快捷键辅助类 复制代码 代码如下: class HotKey { /// <summary> /// 如果函数执行成功,返回值不为0. /// 如果函数执行失败,返回值为0.要得到扩展错误信息,调用GetLastError..NET方法:Marshal.GetLastWin32Error() /// </summary> /// <param name="hWnd">要定义热键的窗口的句柄</param> /// <param na

WinForm二三事(二)

监视消息循环 在上一篇文章中,我们讨论了消息循环是响应用户输入的根本,还提到了在WinForm中执行耗时操作是因为这个耗时操作与消息循环在同一个UI Thread上,导致不能处理用户的后续响应,造成程序假死.除此之外,还说到了Form中的WndProc方法,说这个方法就是Win32时代那个处理消息的方法的.Net版. 那么今天这篇文章我们就来编个小程序来模拟一下这个耗时操作,看看是不是如上一篇所说:耗时操作造成消息循环的临时中断不能响应用户后续输入. 程序很简单,就是一个简单的窗体,上面放置一个

监视程序-freasmman急需C#大神帮助

问题描述 freasmman急需C#大神帮助 我是新入职的菜鸟一枚,在C#这块刚刚接触,项目经理给我分配了任务叫我做一个winform的监视程序,可以显示出在计算器中操作log的时候的信息,方法的话可以选择用进程间通讯 网络通讯或者共享文件,求各位兄弟姐妹,各路大神帮帮忙指点迷津,小弟在这里给你们跪谢了啊.

文件监视的问题

问题描述 为什么我写的winform程序手动启动可以达到监视文件夹文件名改变,但被其他程序启动就不能监视了..(被动启动) 解决方案 解决方案二:是vista或win7环境吗?