zoukankan      html  css  js  c++  java
  • 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来说,没有什么办不到的事情,只是需要你仔细的分析一下而已 

  • 相关阅读:
    线性表——(2)单向链表
    线性表——(1)顺序表
    UVa 1592 数据库
    UVa 12096 集合栈计算机
    Python 协程
    Python 多线程及进程
    Python 日志(Log)
    Python 函数式编程
    Python基础
    DB2 获取前两天的数据
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/2422138.html
Copyright © 2011-2022 走看看