![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хочу 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;