Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не получается послать сообшение (SendMessage)


novill ©   (2006-07-20 11:07:00) 

постоянно получаю ответ - "Нет доступа". В чем дело?


Elen   (2006-07-20 14:33:00) [1]

Может тебе пойти этим способом :
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
 function ew(wnd:Thandle;l:Lparam):boolean; stdcall;
var
 Form1: TForm1;

implementation

{$R *.dfm}
function ew;
var buff:       array[0..MAX_PATH] of Char;
begin
if (Wnd <> Application.Handle)
   then begin
   form1.ListBox1.items.Add(inttostr(wnd)+' '+IntToStr(SendMessage(Wnd, WM_ACTIVATE,0,0)));
   form1.ListBox1.items.Add(SysErrorMessage(GetLastError));
   SetLastError(0);
  if wnd<>0 then    result:=true else result:=false;
 end;

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
EnumWindows(@ew,0);
end;

end.


novill   (2006-07-20 14:10:00) [2]

var
Wnd:        hWnd;
buff:       array[0..MAX_PATH] of Char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin
  if (Wnd <> Application.Handle) and
    IsWindowVisible(Wnd) and
    (GetWindow(Wnd, gw_Owner) = 0) and
    (GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
    then begin
    ListBox1.Lines.Add(IntToStr(SendMessage(Wnd, WM_ACTIVATE,0,0))); //как оказалось и для любого сообщения
    ListBox1.Lines.Add(SysErrorMessage(GetLastError));
    SetLastError(0);
  end;
  Wnd := GetWindow(Wnd, gw_hWndNext);
end;
end;


IceBeerg   (2006-07-20 11:17:00) [3]

А код привети? Нет доступа к чему/кому?


Наверх

Титульная страница Поиск, карта сайта Написать письмо