SITE LOGO
Меню сайта
Категории каталога
Кодинг новичкам [11]
Кодинг в интернете [1]
Локальный кодинг [0]
Прочее [0]
Наш опрос
Что нужно добавить на сайт?

[ Результаты · Архив опросов ]

Всего ответов: 71
Главная » Файлы » Програмирование » Кодинг новичкам

Своя кнопка в Internet Explorer
[ ] 2006-11-06, 10:11 PM
И так сейчас мы с тобой пропатчим всеми любимый Internet Explorer, но патчить будем не на баги, а на кнопку=) Смешно звучит, тем не менее еще много людей сейчас юзают ослик, и я думаю что красивая и функциональная кнопочка не кому не помешает! И так приступим:
Прежде всего скажу что писать мы будем все на Delphi, у меня 6 версии, у тебя незнаю какой=) Но это неважно, главное что мы оба любим Borland. Для начала создадим новый проект! Думаю нестоит обьяснять как это зделать) Создали...Теперь поместим на форму вот что:

Button = 1 штука

RadioButton = 2

Image = 1

и еще можно прилепить один баттон для хелпа или эбаута.
Зделали! Теперь посмотрим кто какие функции будет выполнять
Загланем в код программы...
Первой процедурой у меня идет:

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '4.ico');
end;

//Тоесть когда ты в программе выбереш 1 RadioButton то увидиш иконку, которая будет на кнопке в IE, ведь //пользователь должен видеть, что он выбирает! Но одна иконка тоже как то несолидно, давай добавим еще одну!
//Как и в предыдущей процедуре, что бы вызвать событие OnClick, надо просто 2 раза клацнуть по компоненту, в //данном случае это RadioButton. Клацнули и вписали событие показа второй иконки( Иконки будут выводится в //Image, о чем говорит вот эта процедура :Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + //'6.ico'); здесь мы видим, что иконка имеет номер 6: '6.ico', вот она и будет видна при нажатии RadioButton. //Вот вся процедура:


procedure TForm1.RadioButton2Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '6.ico');
end;

//Дальше, больше... Обрабатываем OnClick у нашей кнопки, назови ее Старт или Patch как у меня=)

procedure TForm1.Button1Click(Sender: TObject);
const
TagID = '{10954C80-4F0F-11d3-B17C-00C0DFE39736}'; // здесь мы прописали в реестр уникальный ID нашей //кнопочки! Да незабудь в uses добавить registry!
//Спускаемся ниже, задаем переменные...
var
Reg: TRegistry;
ProgramPath: string;
RegKeyPath: string;

//И наконецто самое главное - создание кнопки! И так пишем:

begin
ProgramPath := ('http://www.hackzona.ru'); //- тут должно было быть местонахождение нашей программы на диске, //но мы чуть чуть обманули Delphi и вписали URL =)

Reg := TRegistry.Create; //- Создали запись в реестре!

//И создаем саму кнопку....

try
with Reg do begin

RootKey := HKEY_LOCAL_MACHINE;

RegKeyPath := 'SoftwareMicrosoftInternet ExplorerExtensions'; //- прописываем значения в реестр

OpenKey(RegKeyPath + TagID, True);

WriteString('ButtonText', 'www.HackZona.ru'); //- Это название нашей кнопки

WriteString('MenuText', 'www.HackZona.ru'); //- тут понятно =)

WriteString('MenuStatusBar', 'Run Script');

WriteString('ClSid', '{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}'); //ключ реестра, за что то отвечающий(нам это не к чему пока)

WriteString('Default Visible', 'Yes'); //- будет ли наша кнопка видимой

WriteString('Exec', ProgramPath);

if RadioButton1.Checked then //- Если RadioButton1 нажат то...

WriteString('HotIcon', ExtractFilePath(Application.ExeName) + '4.ico'); //получаем
иконку, и запихиваем ее куда надо =)

WriteString('Icon', ExtractFilePath(Application.ExeName) + '2.ico');

if RadioButton2.Checked then - тоже самое, только для RadioButton2...

WriteString('HotIcon', ExtractFilePath(Application.ExeName) + '6.ico');

WriteString('Icon', ExtractFilePath(Application.ExeName) + '2.ico');

end;

finally

Reg.CloseKey; //- Все зделалиЮ закрываем ветку реестра..
Reg.Free;
end;
end;

//И последнее :

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '2.ico');
end;
end.

//В обработчике события OnCreate главной формы прописали картинку, что бы наша Image непустовала до нажатия //RadioButton . Вот и все!!! Теперь рисуй свои кнопки, и лепи их в IE =)
// Да и чуть незабыл :

WriteString('HotIcon', ExtractFilePath(Application.ExeName) + '6.ico'); //- HotIcon означает какая иконка будет //на кнопке при наведении на нее мыши, а Icon когда кнопка находится без действия.

WriteString('Icon', ExtractFilePath(Application.ExeName) + '2.ico');


Еще в ProgramPath := ('http://www.hackzona.ru'); //вместо URL можеш вписать путь к какой нить программе, она будет запускаться при нажатии на твою кнопку=) Все вроде ничего незабыл.....................................
Программу можно скачать отсюда http://slil.ru/22922245 пароль на архив hackzona
............................................................................................................

Это моя первая статья, прошу несудите строго =))
by LEE_ROY
(OverFlow SecuritY TeaM)
............................................................................................................

 

Категория: Кодинг новичкам | Добавил: bshack
Просмотров: 1111 | Загрузок: 0 | Комментарии: 1 | Рейтинг: 5.0/1 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2024Сайт управляется системой uCoz