Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2010, 21:40   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию Скрыть Пуск на windows 7

Всем доброго времени суток.

Кто-нибудь знает как скрыть Пуск на win7? Сама панель задач скрывается нормально, а вот Пуск не скрывается .

Пробывал такой код:

Код:
ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide);
И такой:

Код:
procedure Startbutton(visi:boolean);
var
  Tray, Child : hWnd;
  C : array[0..127] of Char;
  S : string;
begin
  Tray := FindWindow('Shell_TrayWnd', nil);
  Child := GetWindow(Tray, GW_CHILD);
  while Child <> 0 do
  begin
    if GetClassName(Child, C, SizeOf(C)) > 0 then
    begin
      S := StrPAS(C);
      if UpperCase(S) = 'BUTTON' then
      begin
        if Visi then
          ShowWindow(Child, 1)
        else
          ShowWindow(Child, 0);
      end;
    end;
    Child := GetWindow(Child, GW_HWNDNEXT);
  end;
end;

Startbutton(false);
И такой, с блога программистов:

Код:
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), false);
// заблокировать Пуск
Но ни один из них не работает на win7. Подскажите пожалуста в чём проблема

РЕ: панель скрывается, а кнопка Пуск висит вот так:

Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 26.01.2010 в 21:49.
Marsel737 вне форума Ответить с цитированием
Старый 27.01.2010, 00:15   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

В семерке кнопка "Пуск" не является дочерним окном панели задач.
Это - самостоятельное окно.
И искать его нужно так же, как и саму панель задач:
Код:
FindWindow('Button', nil);
Кроме того, ее нельзя скрыть отдельно - только в компании с панелью задач.
mihali4 вне форума Ответить с цитированием
Старый 27.01.2010, 00:35   #3
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mihali4, спс огромное
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 13.01.2012, 09:24   #4
ProgMaster
Новичок
Джуниор
 
Аватар для ProgMaster
 
Регистрация: 13.11.2011
Сообщений: 82
Радость

mihali4
Большое спасибо и мне помогло
ProgMaster вне форума Ответить с цитированием
Старый 17.08.2012, 00:07   #5
mishax
Пользователь
 
Регистрация: 30.05.2012
Сообщений: 36
По умолчанию

спасибо, и мне помогло, только, когда скрываешь панель, то окна, развернутые на весь экран почему-то до конца "не доходят"...
mishax вне форума Ответить с цитированием
Старый 17.08.2012, 09:53   #6
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от mishax Посмотреть сообщение
спасибо, и мне помогло, только, когда скрываешь панель, то окна, развернутые на весь экран почему-то до конца "не доходят"...
Так и должно быть. Если ты хочешь сделать окно в полный экран, то поставь:
Код:
BorderStyle:=bsNone;
WindowState:=wsMaximized;
Kix.IV вне форума Ответить с цитированием
Старый 17.08.2012, 10:28   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так выходит потому что делается криво, правильнее именно скрывать таскбар средствами шелла.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.08.2012, 10:46   #8
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
так выходит потому что делается криво, правильнее именно скрывать таскбар средствами шелла.
Ты про:
Цитата:
BorderStyle:=bsNone;
WindowState:=wsMaximized;
Если да, то чем это криво? Работает во всех версиях винды исправно. Я ни раз пользовался этим.
Kix.IV вне форума Ответить с цитированием
Старый 17.08.2012, 10:50   #9
volvo877
Форумчанин
 
Аватар для volvo877
 
Регистрация: 01.06.2009
Сообщений: 108
По умолчанию

То есть, потерять заголовок окна для того, чтобы его распахнуть на весь экран - это уже "исправно"?
Цитата:
Я ни раз пользовался этим.
То, что ты этим пользовался - не говорит о том, что это правильно.
volvo877 вне форума Ответить с цитированием
Старый 17.08.2012, 10:53   #10
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

При чём здесь
Цитата:
потерять заголовок окна
?
Основным является WindowState:=wsMaximized и будет работать без BorderStyle:=bsNone.

Возможно ты прав. И это баг.
Kix.IV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Caption кнопки ПУСК (START) - изменить надпись на кнопке Пуск в Windows XP Altera Win Api 19 29.12.2011 15:49
Муню Пуск. Chudo4258 Windows 11 18.12.2009 16:34
Пуск }{oт@бь)ч Компоненты Delphi 27 09.02.2009 19:40
Пуск Rahim1993 Общие вопросы Delphi 4 10.02.2008 20:14
Кнопка Пуск vitalik007 Win Api 9 05.09.2007 08:20