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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 21:36   #1
Dr.Badnezz
Ученик
Форумчанин
 
Регистрация: 19.09.2008
Сообщений: 119
По умолчанию Положение кнопки пуск

Всем привет. Кнопка пуск - это форма? Если да, то можно ли как то изменить ее расположение? например сдвинуть в лево на 200пикселей?
Dr.Badnezz вне форума Ответить с цитированием
Старый 22.12.2008, 21:56   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Да. И делается это очень просто.
Находим окно (зовут его 'shell_traywnd'), а в нем кнопку 'button'.
Потом двигаем - MoveWindow(...).
Маленькая подсказка: FindWindow, FindWindowEx.
Да, еще забыл - потом нужно послать ему сообщение, чтоб оно положение изменило SendMessage().

Последний раз редактировалось mihali4; 22.12.2008 в 22:33.
mihali4 вне форума Ответить с цитированием
Старый 22.12.2008, 22:20   #3
Dr.Badnezz
Ученик
Форумчанин
 
Регистрация: 19.09.2008
Сообщений: 119
По умолчанию

mihali4 спасибо, постараюсь разобраться
Dr.Badnezz вне форума Ответить с цитированием
Старый 23.12.2008, 12:48   #4
D!zel
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 74
По умолчанию

с пуском можно пошалить)) код взят из журнала "Хакер":
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Width:=51;//Установить ширину окна
Height:=21;//Установить высоту
Left:=-100;//Убрать окно за левую границу экрана.
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
i:Integer; 
h:THandle;
begin
//Сделать окно видимым.
Visible:=true;
//Установить верхнюю позицию окна в левый нижний угол экрана.
Top:=Screen.Height-Height;
Left:=1;
//Создаю пустой указатель h, который буду использовать для задержки.
h:=CreateEvent(nil, true,false, 'et');
//Сейчас будем подымать кнопку
// От 1 до 80 выполнять действия от begin до end
for i:=1 to 80 do
begin
//Увеличить значение верхней позиции окна с кнопкой.
Top:=Screen.Height-Height-i*5;
Repaint; //Перерисовать окно
WaitForSingleObject(h,15);//Задержка в 5 миллисекунд.
end;
//Дальше идет опускание кнопки. Алгоритм тот же, 
//просто выполнение идет в обратном порядке
for i:=80 downto 1 do
begin
Top:=Screen.Height-Height-i*5;
Repaint;
WaitForSingleObject(h,15);
end;
//Уничтожаю указатель h
Closehandle(h);
//Прячу окно.
Visible:=false;
end;
код наглядно показывает как манипулировать кнопкой "Пуск"...
D!zel вне форума Ответить с цитированием
Старый 23.12.2008, 12:56   #5
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Да ладно вам. Почитайте книгу "Делфи глазами хакера", там над "пуском" как только не издевались . но мне правдо это было неинтересно...
фЁдОр вне форума Ответить с цитированием
Старый 23.12.2008, 15:36   #6
Dr.Badnezz
Ученик
Форумчанин
 
Регистрация: 19.09.2008
Сообщений: 119
По умолчанию

фЁдОр, я как раз читаю эту книжку...
Dr.Badnezz вне форума Ответить с цитированием
Старый 23.12.2008, 16:36   #7
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Код:
var
h: HWND;
begin
   h := findWindow('shell_traywnd', nil);
   h := FindWindowEx(h, 0, 'button', nil);
   MoveWindow(h, 2, 2, 200, 20, true);
   SendMessage(h, WM_MOVE, 0, 0);
end;
Altera вне форума Ответить с цитированием
Старый 23.12.2008, 18:54   #8
Dr.Badnezz
Ученик
Форумчанин
 
Регистрация: 19.09.2008
Сообщений: 119
По умолчанию

А как узнать начальные координаты кнопки
Dr.Badnezz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Caption кнопки ПУСК (START) - изменить надпись на кнопке Пуск в Windows XP Altera Win Api 19 29.12.2011 15:49
UCOZ: Кнопки кнопки на изображении ReDuX HTML и CSS 19 25.04.2008 02:39
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 17:35
Безвыходное положение BETONOMESHALKA Общие вопросы Delphi 2 03.11.2007 19:06
положение курсора mishel Общие вопросы Delphi 9 30.01.2007 21:37