Builder--EnumWindows

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString str;
String buf[100];
int n=0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

 

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    //EnumWindowsList(hwnd, (LPARAM)3);
}
//---------------------------------------------------------------------------
bool CALLBACK LPWinProc(HWND hwnd)
{
      char caption[255];
      GetWindowText(hwnd, caption,255);
      buf[n++] = caption;
      return true;
}

bool CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lparam)
{
    TMemo* memo = (TMemo*) lparam;
    char buffer[256];
    GetClassName(hwnd,buffer,255);
    AnsiString ClassName=AnsiString(buffer);
    SendMessage(hwnd,WM_GETTEXT,(WPARAM)255,(LPARAM)buffer);
    AnsiString WindowText=AnsiString(buffer);
    if(WindowText.Pos(str)!=0)
    {
       memo->Lines->Add("HWND:"+IntToHex((int)hwnd,8));
       memo->Lines->Add(WindowText);
       memo->Lines->Add(ClassName);
       return false;
    }
    return true;
}
/*void EnumWindowsList(HWND hwnd,LPARAM lparam)
{
    TMemo* memo = (TMemo*) lparam;
    char caption[256];
    char *s[100];
    int n=0,i=0;
    GetWindowText(hwnd,caption,255);
    s[n++] = caption;
    while( WindowText.Pos(str)!=0 )
    {
        memo->Lines->Add(WindowText);
        memo->Lines->Add(ClassName);
    }
}     */
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    MemoWindow->Lines->Clear();
    MemoList->Clear();
    str=Edit3->Text;
    EnumWindows((WNDENUMPROC)EnumWindowsProc,(LPARAM)MemoWindow);
    //EnumWindows((WNDENUMPROC)EnumWindowsProc,(LPARAM)MemoList);
}
//---------------------------------------------------------------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值