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

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

Хочу HWND Desktopa! [WinXP]


Style ©   (2003-02-09 00:06:00) 

Чегото я в WinXP не могу получить HWND рабочего стола. А точнее SysListView32 который.

т.е. FindWindow("SysListView32",""); возвращает 0!
GetDesktopWindow таже история..

Что делать???

Работает только WindowFromPoint(0,0) если тама ничего акромя SysListView32 нету!!

Хелп плиз! 8-[]


Style   (2003-02-10 13:43:00) [1]

Спасибо!


DVM   (2003-02-09 01:55:00) [2]

hwndShell := FindWindow("Progman", nil);

или

function ShellWindow: HWND;
type
TGetShellWindow = function(): HWND; stdcall;
var
hUser32: THandle;
GetShellWindow: TGetShellWindow;
begin
Result := 0;
hUser32 := GetModuleHandle("user32.dll");
if (hUser32 > 0) then
begin
@GetShellWindow := GetProcAddress(hUser32, "GetShellWindow");
if Assigned(GetShellWindow) then
begin
Result := GetShellWindow;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
hShellWindow: Hwnd;
strWinText: array[0..260] of char;
begin
hShellWindow := ShellWindow;
if hShellWindow <> 0 then
begin
GetWindowText(ShellWindow, strWinText, 255);
ShowMessage(strWinText);
end;
end;


Наверх

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