![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметры панели задач [D6, Win95/98]
Rim © (2004-02-04 21:54:00)Подкажите пожалуйста, как из программы определить параметры панели задач,стоит ли галочка 'Автоматически убирать с экрана' ,если стоит то убрать галочку.
DDA (2004-02-13 20:25:00) [1]У меня дак REgShot показал вот что:XP
Измененные параметры:1
----------------------------------
HKEY_USERS\S-1-5-21-2025429265-813497703-854245398-1003\Software\Microsoft\Internet Explorer\Desktop\Components\0\Position: 2C 00 00 00 CC 00 00 00 00 00 00 00 34 03 00 00 A2 02 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
HKEY_USERS\S-1-5-21-2025429265-813497703-854245398-1003\Software\Microsoft\Internet Explorer\Desktop\Components\0\Position: 2C 00 00 00 77 01 00 00 00 00 00 00 89 02 00 00 00 03 00 00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
Rim (2004-02-13 19:48:00) [2]Я начинающий. А эти процедуры работают? Объясните как их применить.
S.P.I.R.I.T (2004-02-10 00:20:00) [3]Вот рабочая проседура откуда взял непомню.
procedure GetDesktop(var R: TRect; var Edge: UInt);
var
AppBarData : TAppBarData;
bAlwaysOnTop, //Taskbar всегда на экране
bAutoHide : boolean;
Clrect, WRect : TRect;
// Edge: UInt; <-- //Местоположение TaskBar
{---}
procedure DetectTaskBar;
begin
AppBarData.hWnd := FindWindow('Shell_TrayWnd', nil);
AppBarData.cbSize := sizeof(AppBarData);
bAlwaysOnTop := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_ALWAYSONTOP) <> 0;
bAutoHide := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_AUTOHIDE) <>0;
GetClientRect(AppBarData.hWnd, Clrect);
GetWindowRect(AppBarData.hwnd, WRect);
if (WRect.top > 0) then Edge := ABE_BOTTOM
else
if (WRect.bottom < screen.height) then Edge:=ABE_TOP
else
if WRect.right < screen.width then Edge:=ABE_LEFT
else
Edge:=ABE_RIGHT;
end;
{---}
begin
try
R:= Rect(Screen.DesktopLeft, Screen.DesktopTop,
Screen.DesktopWidth, Screen.DesktopHeight);
DetectTaskBar;
case Edge of
ABE_LEFT: begin
R.Left:= Screen.DesktopLeft + Clrect.Right + 4;
R.Right:= Screen.DesktopWidth - R.Left - 4;
end;
ABE_TOP: begin
R.Top:= Screen.DesktopTop + Clrect.Bottom + 4;
R.Bottom:= Screen.DesktopHeight - R.Top - 4;
end;
ABE_RIGHT: R.Right:= Screen.DesktopWidth - Clrect.Right - 4;
ABE_BOTTOM: R.Bottom:= Screen.DesktopHeight - Clrect.Bottom - 4;
end;//case
except
R:= Rect(Screen.DesktopLeft, Screen.DesktopTop,
Screen.DesktopWidth, Screen.DesktopHeight);
Edge:= ABE_BOTTOM;
end;
DVM (2004-02-09 21:17:00) [4]Таскбар сохраняет свои настройки тогда когда эксплорер закрывается. А вы отслеживали момент до этого, потому ничего не поймали.
Rim (2004-02-09 19:29:00) [5]А можно попонятней
DVM (2004-02-08 01:01:00) [6]
> Пробовал, Regshot не находит изменений
они должны сохраняться по WM_DESTROY панели задач, т.е. при закрытии эксплорера, при выходе из системы.
Rim (2004-02-06 21:25:00) [7]Пробовал, Regshot не находит изменений
DVM (2004-02-06 19:07:00) [8]Я не уверен, но скорее всего параметры панели задач хранятся там в двоичном виде и этот параметр записан вместе с другими как одна структура. Куда, я не знаю. Можно попробовать отслеживать изменения каким либо монитором реестра.
Rim (2004-02-05 21:54:00) [9]Глядел, но не нашел.Если кто знает, подскажите.
DVM (2004-02-05 18:09:00) [10]А в реестр глядели?