Главная страница
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.07 c
15-1152387990
ArtemESC
2006-07-08 23:46
2006.08.06
Помогите перевести, пожайлуйста...


3-1149247881
Iehbr
2006-06-02 15:31
2006.08.06
Не происходит удаление в базе данных ACCESS


3-1149233047
novill
2006-06-02 11:24
2006.08.06
Как сделать максимально быстрое добавление/обновление?


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


2-1152785917
Layner
2006-07-13 14:18
2006.08.06
Как восстановить программу зная ее THandle, из другой программы?