Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

Не получается послать сообшение (SendMessage)   Найти похожие ветки 

 
novill ©   (2006-07-20 11:07) [0]

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


 
IceBeerg ©   (2006-07-20 11:17) [1]

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


 
novill ©   (2006-07-20 14:10) [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;


 
Elen ©   (2006-07-20 14:33) [3]

Может тебе пойти этим способом :
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.



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1152183944
KaLLeKa
2006-07-06 15:05
2006.08.06
Научите дурака)


2-1152881093
MixAnOL
2006-07-14 16:44
2006.08.06
Как узнать вне Thread а, что он закончил свое выполнение?


3-1148922065
alpha5
2006-05-29 21:01
2006.08.06
Странная ошибка


15-1152702450
QuickFinder
2006-07-12 15:07
2006.08.06
Wiki


15-1152592598
antonn
2006-07-11 08:36
2006.08.06
вопросик по авибилетам...