`
isiqi
  • 浏览: 16345025 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

VC FindWindow 得到IE网址

阅读更多

前些时候,朋友想做一个小共享软件,软件的主要作用是阻止用户进入某些网站,他的设想是从IE的地址栏中获取键入的网址,如果这个网址非法的话,则不可以进入,代码如下:

HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
 if(hwnd)
 {
   HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("Edit"),NULL);


char sz[255];
::SendMessage(hwnd2,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
 }

结果发现不能得到正确的结果,从SPY上看,类名也全部是正确的,为什么不能得到正确的结果呢?看了他的代码后,我进行了如下改动,就可以得到正确的结果了:

HWND hwnd=::FindWindow(_T("IEFrame"),NULL);
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL,_T("WorkerW"),NULL);
HWND hwnd3=::FindWindowEx(hwnd2,NULL,_T("ReBarWindow32"),NULL);
HWND hwnd4=::FindWindowEx(hwnd3,NULL,_T("ComboBoxEx32"),NULL);
HWND hwnd5=::FindWindowEx(hwnd4,NULL,_T("ComboBox"),NULL);
HWND hwnd6=::FindWindowEx(hwnd5,NULL,_T("Edit"),NULL);

char sz[255];
::SendMessage(hwnd6,WM_GETTEXT,255,(LPARAM)sz);
AfxMessageBox(sz);
}
}

  以上的代码不用我解释了吧,这个问题不是什么大问题,难度也不大,但是可能会让初学者不明白为什么得不到程序某一控件的HANDLE,其实对VC来说,没有什么办不到的事情,只是需要你仔细的分析一下而已<!--mstheme-->

分享到:
评论

相关推荐

    FindWindow_visualbasic_

    标题"FindWindow_visualbasic_"表明我们要讨论的是如何在Visual Basic.NET中使用FindWindow函数来查找和操作Windows窗口。FindWindow函数是Windows API的一部分,通常通过P/Invoke(Platform Invoke)技术引入到.NET...

    FindWindow.rar

    FindWindow是Windows API(应用编程接口)的一部分,用于查找具有特定窗口类名或窗口标题的顶级窗口。 首先,我们需要理解FindWindow的基本用法。它接受两个参数:一个是窗口类名称(ClassName),另一个是窗口标题...

    C# findwindow及sendmessage外挂

    "C# findwindow及sendmessage外挂"这个主题就是关于如何利用C#的FindWindow和SendMessage这两个API函数来实现程序间的通信,尤其是创建外挂程序。下面我们将深入探讨这两个函数以及它们在创建外挂中的应用。 ...

    VC进程ID获得主窗口句柄获得进程名

    VC获得进程ID获得主线程ID获得窗口句柄获得主窗口获得进程名 1.窗口类名 窗口句柄 窗口标题 窗口句柄 HWND FindWindow( LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //...

    FindWindow

    寻找其他窗体控件,用于向本身程序以外的窗体执行操作

    FindWindow_窗体_

    在编程领域,尤其是在Windows应用程序开发中,`FindWindow`是一个重要的API函数,它允许开发者查找具有特定窗口类名或窗口标题的窗口。本项目提供的源代码示例是使用C#语言来实现`FindWindow`功能,查找活动窗体并...

    vc 找到窗口之后并关闭,运行时最小化的实现方法

    本文将详细讲解如何使用`FindWindow`函数找到指定窗口,以及如何利用`WM_CLOSE`消息来关闭找到的窗口。 首先,`FindWindow`是Windows API中的一个函数,用于查找具有特定类名或窗口名的顶级窗口。其基本语法如下: ...

    findwindow_src.zip

    5. **事件监听**:如果需要实时监控窗口状态,可以使用`SetWinEventHook`来设置窗口事件钩子,以便在窗口发生特定事件时得到通知。 6. **用户界面**:在实际应用中,可能会有一个简单的用户界面,允许用户输入窗口...

    查找控件名称FindWindow

    在Windows编程领域,`FindWindow`是一个非常关键的API函数,它被用于查找具有特定窗口类名或窗口标题的顶级窗口。这个函数是系统级别的,允许开发者遍历并获取操作系统中运行的所有窗口的信息。在Delphi这样的编程...

    VB6.0 FINDWINDOW检测窗体反调试.rar

    VB6.0 FINDWINDOW检测窗体反调试,软件防破解技术中的一个子程序例子,检测窗体反调试的代码,仅供参考。

    VC++如何获得浏览器窗口的地址栏URL字符串

    此外,提供的文件“AutoRefresh.rar”可能包含一个自动刷新浏览器页面的示例代码,而“获得打开的IE窗口的URL名称.txt”可能是实现该功能的具体步骤或源代码片段。如果需要查看这些内容,需要解压“AutoRefresh.rar...

    C++查看窗口句柄的源码findwindow

    本文将基于"C++查看窗口句柄的源码findwindow"这一主题,深入探讨如何使用C++编程语言来实现类似SPY++的功能,包括查找窗口句柄、获取窗口类名以及修改窗口标题。 首先,要实现查找窗口句柄,我们需要使用Windows ...

    FindWindow的c++代码

    FindWindow的c++代码

    VC中获取窗口句柄的各种方法

    在Microsoft Visual C++ (VC) 开发环境中,窗口句柄(HWND)是Windows API中用于标识应用程序窗口的一个重要标识符。窗口句柄是系统分配的一个唯一整数值,它允许程序与特定窗口进行交互。本篇文章将详细介绍在VC中...

    获取 Windows 外壳窗口的句柄VC源代码

    通常获取 Windows 外壳主窗口...HWND hwndShell = FindWindow("Progman", NULL); 但是这个代码示范了一个更好的方法,使用User32.dll中一个未公开的函数:GetShellWindow...... 关键字:Shell,handle,外壳,窗口句柄

    VC 获取各个打开网页的标题.rar

    在这里,可能被用来找到特定浏览器类型的窗口,比如IE或Firefox。 3. **`EnumWindows`函数**:这个函数枚举系统中所有的顶级窗口。它是一个回调函数,用于遍历系统中的每个窗口,传递窗口句柄给用户定义的回调函数...

    获得IE控件句柄的源代码

    结合这两个函数,我们可以得到完整的IE浏览器实例及其内部的WebBrowser控件句柄。这样就可以利用Windows API进行后续的交互,如模拟用户点击、发送键盘事件等。 在压缩包文件`runningInstanceIE_src`中,应该包含了...

    VC模拟鼠标键盘操作

    在IT领域,特别是软件开发与自动化测试中,模拟鼠标键盘操作是一项重要的技能,尤其是在使用Visual C++(简称VC)进行编程时。通过调用Windows API函数,开发者能够精确控制计算机的输入设备,实现一系列自动化任务...

    VC 6.0 隐藏和显示开始菜单按钮.rar

    VC 隐藏和显示开始菜单按钮,这个似乎以前发过的,也比较简单,程序功能:隐藏开始菜单的按钮、显示开始菜单的按钮,主要是想让大家了解VC 与Windows相关的编程技巧。有兴趣的参考下面的代码:  void ...

    vc api 实例编程

    ### VC API实例编程详解 #### 一、FindWindow函数与窗口操作 在Windows编程中,`FindWindow`函数是一个非常重要的API,它允许程序通过指定的窗口类名或窗口标题来查找并返回一个窗口的句柄。句柄是Windows操作系统...

Global site tag (gtag.js) - Google Analytics