StringList com API do Windows

26/03/2006

0

Holla,

gostaria de saber se alguem aqui no forum sabe como posso usar uma StringList atras da API do Windows.
Estou estudando o desenvolvimento de uma aplicação atras da API do Windows dessa forma nao estou usando as CLASSES do Delphi. Uso somente a classe Windows e Messages ate agora.


program Project1;

uses
  Windows,
  Messages;

{$R *.RES}

var
wClass: TWndClass;
Msg: TMsg;
MainForm, ListBox1: Integer;

function WindowProc(hWnd,Msg,wParam,lParam:Integer):Integer; stdcall;
begin
if Msg = WM_DESTROY then PostQuitMessage(0);
Result := DefWindowProc(hWnd,Msg,wParam,lParam);
end;

begin
wClass.lpszClassName:= ´CN´;
wClass.lpfnWndProc :=  @WindowProc;

wClass.hInstance := hInstance;
wClass.hbrBackground:= 1;

 wClass.hIcon := LoadIcon(hInstance,´MAINICON´);
 wClass.hCursor := LoadCursor(0,IDC_ARROW);

RegisterClass(wClass);

MainForm:= CreateWindow(wClass.lpszClassName,´Title Bar´,
             WS_OVERLAPPEDWINDOW or WS_VISIBLE,
             10,10,340,220,0,0,hInstance,nil);

ListBox1:= CreateWindowEx(WS_EX_CLIENTEDGE,´LISTBOX´,´ListBox 3 selected is ´,
    WS_VISIBLE or WS_CHILD or LBS_HASSTRINGS or LBS_NOTIFY or WS_VSCROLL,
    10,10,150,150,MainForm,0,hInstance,nil);

SendMessage(ListBox1,WM_SETFONT,GetStockObject(ANSI_FIXED_FONT),0);
SendMessage(ListBox1, LB_INSERTSTRING, 0, Integer(PChar(´List Box 3´)));


while GetMessage(Msg,0,0,0) do
DispatchMessage(Msg);

end.




O problema que estou tendo é com relação a essa função:
function GetUrlFromIE (Handle: THandle; List: TStringList): boolean; stdcall;
var
  hWndIE, hWndIEChild : HWND;
  Buffer : array[0..255] of Char;
begin
  SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));

  hWndIE := FindWindow(´IEFrame´, Buffer);
  if hWndIE > 0 then
  begin
    hWndIEChild := FindWindowEx(hWndIE, 0, ´WorkerW´, nil);
    if hWndIEChild > 0 then
    begin
      hWndIEChild := FindWindowEx(hWndIEChild, 0, ´ReBarWindow32´, nil);
      if hWndIEChild > 0 then
      begin
        hWndIEChild := FindWindowEx(hWndIEChild, 0, ´ComboBoxEx32´, nil);
        if hWndIEChild > 0 then
        begin
          SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
          List.AddObject(Buffer,TObject(hWndIE));
        end;
      end;
    end;
  end;
  Result :=True;
end;

Na qual recebe como parametro uma List: TStringList. Sendo que a TStringList é um metodo da Classe (CLASSES) do Delphi.
Preciso saber como criar uma StringList com a API do Windows sem utilizar os metodos do DELPHI.
Se alguem souber como posso fazer isso agradeço.


Sem mais,
Antônio.


Janbaceiredo

Janbaceiredo

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar