Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизНе получается послать сообшение (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c