Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Кто-нибудь знает что мне выдает функция EnumProps 


AlexandrH   (2001-12-06 14:26) [0]

Хочу получить список свойств окна.
Делаю так.

procedure TForm1.Button1Click(Sender: TObject);
begin
EnumProps(Handle,@PROC);
end;

function PROC (WND: hwnd; PSTR: String; HData: hwnd) : boolean; stdcall;
begin
Form1.ListBox1.Items.Add(pstr);
PROC := True;
end;



В листбокс она мне выдает три строки
типа
ControlOfs000...
Delphi00000344
CC32Subclassinfo

Что то на свойства не похоже. Может я делаю что-то не так..
Подскажите если кто знает..
Заранее благодарен.



Digitman   (2001-12-06 14:55) [1]

это - из хэлпа :

BOOL CALLBACK PropEnumProc(

HWND hwnd, // handle to window whose property list is being enumerated
LPCTSTR lpszString, // string component of property
HANDLE hData // data handle component of property
);

function PROC (WND: hwnd; PSTR: PChar; HData: hwnd) : boolean; stdcall;
begin
Form1.ListBox1.Items.Add( string(pstr));
PROC := True;
end;

LPCTSTR - это PChar(PAnsiChar), а не String



Юрий Зотов   (2001-12-06 15:41) [2]

> AlexandrH © (06.12.01 14:26)

Похоже, Вы путаете свойства окон Windows и свойства форм Delphi. Это совершенно разные вещи.



AlexandrH   (2001-12-07 06:28) [3]

Хорошо попробуем не Delphi_скую форму
делаю так


procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
begin
h := Findwindow("TWINDOWSCMD",nil);
EnumProps(h,@PROC);
end;

function PROC (WND: hwnd; PSTR: PChar; HData: hwnd) : boolean; stdcall;
begin
Form1.Memo1.Lines.Add(pstr);
PROC := True;
end;


Выдает не лучше первого 4 строки

ControlOfs00400000000003C0
Delphi00000114
OleDropTargetInterface
OleDropTargetMarshalHwnd

Что это ни как не пойму.....



Digitman   (2001-12-07 08:01) [4]

>AlexandrH
Ок. А что ты ожижал увидеть среди перечисленных св-в ?



troits   (2001-12-07 10:52) [5]

>AlexandrH
Почитайте API Help. Раздел Window Property Functions.
В кратце, к каждому окну можно добавить некоторое свойство, которое
идентифицируется строкой и handle(любая, какая тебе нравится, информация. Потом это окно можно будет по этим свойствам идентифицировать, и т. д.). См. SetProp. EnumProps позволяет просто перебрать эти свойства. Так что установка этох свойств - личное дело каждого приложения.

К слову, Windows Commander написан на Delphi.





Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.038 c
7-9014            perov                 2001-10-24 16:18  2002.02.04  
Убить процесс


1-8850            Ev_grenus             2002-01-15 17:05  2002.02.04  
Нужна струкнура данных,


1-8861            NLO                   2002-01-18 12:36  2002.02.04  
Как получить иконку зарегистрированного расширения


14-8977           evgeg                 2001-12-12 21:27  2002.02.04  
А вы знаете, что ссылки на этот форум есть на сайт www.rsdn.ru в разделе


1-8899            Velocity              2002-01-15 12:28  2002.02.04  
Потоки и динамическое выделение памяти