Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.11.2011, 12:46
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию скрывать панель задач Windows

подскажите как можно через мою программу сделать чтоб в свойсвах панели задач ставилась галочка-"скрывать" ?
в нете нашел код
ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_HIDE); // Скрыть
там еще код побольше для скрытия кнопки пуск,приводить не буду,
но эти действия просто делают панель невидимой.и если мою программу растянуть на весь экран то внизу дырка останется.а надо чтоб прям на весь экран было.
и вот заметил если в свойствах панели поставить галочку "скрывать" то программа на весь экран развернется.
нашёл такой код.но он не для дельфи.может кто переделает?
Код:
#NoEnv
#NoTrayIcon
#SingleInstance force
DetectHiddenWindows, Off   ;for IfWinExist

VarSetCapacity( APPBARDATA, 36, 0 )
;------------------------------------------------------------
; Fetch current hidden/showing status

IfWinNotExist, ahk_class Shell_TrayWnd
  TaskbarAndStartToggleState = 0     ;Currently hidden (not showing)
Else
  TaskbarAndStartToggleState = 1     ;Currently non-hidden (showing)
;------------------------------------------------------------
Gosub +space   ;Toggle the taskbar/SM state
;------------------------------------------------------------
Exit
;------------------------------------------------------------
+space::
 TaskbarAndStartToggleState := Func(TaskbarAndStartToggleState)
Return

Func(TaskbarAndStartToggleState)
{
   Global APPBARDATA

   If TaskbarAndStartToggleState = 0
   {
      NumPut( (ABS_ALWAYSONTOP := 0x2), APPBARDATA, 32, "UInt" )           ;Enable "Always on top" (& disable auto-hide)
      DllCall( "Shell32.dll\SHAppBarMessage", "UInt", ( ABM_SETSTATE := 0xA ), "UInt", &APPBARDATA )

      WinShow ahk_class Shell_TrayWnd
      Return 1            ;Now showing
   }
   
   If TaskbarAndStartToggleState = 1
   {
      NumPut( ( ABS_AUTOHIDE := 0x1 ), APPBARDATA, 32, "UInt" )            ;Disable "Always on top" (& enable auto-hide to hide Start button)
      DllCall( "Shell32.dll\SHAppBarMessage", "UInt", ( ABM_SETSTATE := 0xA ), "UInt", &APPBARDATA )

      WinHide ahk_class Shell_TrayWnd
      ;WinHide ahk_class Shell_TrayWnd   ;don't need this 2nd one?
      Return 0            ;Now hidden
   }
}

Последний раз редактировалось Snake22, 14.11.2011 в 13:01.
Ответить с цитированием
  #2  
Старый 14.11.2011, 13:54
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
uses
  ShellAPI,

const
  ABM_SETSTATE = $0a;
var
  pData: TAppBarData;
begin
  ZeroMemory(@pData, SizeOf(TAppBarData));
  pData.cbSize:=SizeOf(TAppBarData);
  pData.hWnd:=FindWindow('Shell_TrayWnd', '');
  pData.lParam:=ABS_AUTOHIDE;
  SHAppBarMessage(ABM_SETSTATE, pData);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 14.11.2011, 19:15
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

о! спасибо=)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:33.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025