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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 14:48   #1
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию Убрать кнопку "ПУСК"

Приложение работает в полный экран. Убираю панель задач и кнопку "ПУСК". Использую следующий код:

l := GetWindowLong(Self.Handle, GWL_STYLE);
l := l and not (WS_MINIMIZEBOX);
l := l and not (WS_MAXIMIZEBOX);
l := l and not (WS_CAPTION);
l := SetWindowLong(Self.Handle, GWL_STYLE, l);
ShowWindow(FindWindow('Shell_TrayWn d', nil), sw_hide);
Startbutton(false);

Всё нормально работает только под WindiwsXP. Под Windows Vista и Windows7 кнопка "ПУСК" остаётся на месте и функционирует. Как её убрать или заблокировать?
Aleksandr_59 вне форума Ответить с цитированием
Старый 29.03.2012, 15:11   #2
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

а тебе кто такую херню сказал,что для полноэкранки надо чтото кудато убирать?
robt вне форума Ответить с цитированием
Старый 29.03.2012, 15:35   #3
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию

Для полноэкранного режима - не надо. Но в моём случае кнопка остаётся поверх формы. И только под Windows 7 и Windows Vista. Я не могу определить - в чём причина.
Aleksandr_59 вне форума Ответить с цитированием
Старый 29.03.2012, 15:44   #4
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

вот и надо искать причину а не фигней заниматься
заодно учти ,что когда твоя шедевральная прога рухнет,а это непременно случится
то пуск уже восстанавливать будет некому
и пойдеш ты лесом\полем вместе со своей прогой,да прямиком в черный список
а еще есть "проативная защита" во всяких AV и фаерволах,у них ты даже не запустишся...
robt вне форума Ответить с цитированием
Старый 30.03.2012, 13:51   #5
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Код:
  // скрыть панель задач
  ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide);
  // скрыть кнопку пуск
  ShowWindow(FindWindow('Button', nil), sw_hide);

  // показать панель задач и кнопку пуск
  ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_show);
krikaved вне форума Ответить с цитированием
Старый 30.03.2012, 14:27   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

ShowWindow(FindWindow('Button', nil), sw_hide);

этот код не будет работать, он не найдёт кнопку, так как чтобы найти хендл кнопки надо искать внутри Shell_TrayWnd через функцию FindWindowEx

Последний раз редактировалось rpy3uH; 30.03.2012 в 14:31.
rpy3uH вне форума Ответить с цитированием
Старый 30.03.2012, 14:32   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

повторю то что уже сказали, чтоб вывести приложение на весь экран работайте как положено через DIrectDraw, а не через одно место.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2012, 14:34   #8
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Уважаемый, попрочто говоря - забей! Лучше подтяни свое приложение чтобы оно
было впритык и не перекрывало Shell_TrayWnd меньше мороки
RuVarez вне форума Ответить с цитированием
Старый 30.03.2012, 15:20   #9
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию

Мне нужно во весь экран, чтобы пользователь не имел доступа к панели задач и кнопке "Пуск". Можно сделать перехватчик сообщений, но представлялось, что через удаление этих элементов управления легче и проще.
Если прога "вылетает" по ошибке, то система перезагружается, или перезапускает прогу. Можно вообще комп выключить, в общем - не страшно.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
повторю то что уже сказали, чтоб вывести приложение на весь экран работайте как положено через DIrectDraw, а не через одно место.
Пояснить на примере можете?

Последний раз редактировалось Stilet; 30.03.2012 в 17:10.
Aleksandr_59 вне форума Ответить с цитированием
Старый 30.03.2012, 15:47   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Aleksandr_59 Посмотреть сообщение
Мне нужно во весь экран, чтобы пользователь не имел доступа к панели задач и кнопке "Пуск". Можно сделать перехватчик сообщений, но представлялось, что через удаление этих элементов управления легче и проще.
Если прога "вылетает" по ошибке, то система перезагружается, или перезапускает прогу. Можно вообще комп выключить, в общем - не страшно.
такс, какая цель этого?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить кнопку "Поделится" или "мне нравится" в phpbb3 borecc PHP 1 07.03.2011 13:44
Как найти hwnd окна, которое вызывается кнопкой "Пуск"? marina15056 Помощь студентам 0 11.10.2010 17:20
Как сделать кнопку "больше"-"меньше" Clericos HTML и CSS 8 30.09.2009 20:20
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49