| Bokul |
16.09.2006 19:07
Сообщение
#1
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Опишу, что мне надо:
надо, что бы при нажатию на комбинацию клавиш моя прога, которая раньше сидела в трее (можна даже без трея, просто чтобы она могла среагировать на нажатия клавиш. Вроде хук для этого надо ставить...), могла проанализировать код поточной Html страницы в браузере( Internet Explorer), вытянуть нужные ссылки, и скинуть в буфер обмена, реализованный в предыдущей теме . Трей и хуки можно оставить на потом, а сейчас же хотелося бы разобраться с браузером. Основная сложность это узнать Html. Я знаю, что все просматриваемое в браузерах сохраняется на винд, но определить, где он сохраняет все эти данные невозможно, так как Internet Explorer постоянно генерирует новые папки в Temporary Internet Files - система безопасности. Честно говоря, я просто не знаю куда тыкаться и что для этого надо знать. Может меня спасет WinApi? Покажите, пожалуйста, мне путь. Сообщение отредактировано: Bokul - 18.09.2006 7:41 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
| Bokul |
17.09.2006 21:41
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Вот нашел в Drkb тему "Как добавить кнопку в панель инструментов IE?", подумал может это будет лучше чем HotKey, а может можна сделать то и то. Сейчас питаюсь перевести пример на Fpc.
Вот сам пример: Цитата 1. ButtonText = Всплывающая подсказка к кнопке 2. MenuText = Текст, который будет использован для пункта в меню "Сервис" 3. MenuStatusbar = *Ignore* 4. CLSID = Ваш уникальный classID. Для создания нового CLSID (для каждой кнопки) можно использовать GUIDTOSTRING. 5. Default Visible := Показать ей. 6. Exec := Путь к Вашей программе. 7. Hoticon := иконка из shell32.dll когда мышка находится над кнопкой 8. Icon := иконка из shell32.dll Код 1 -------------------------------------------------------------------- procedure CreateExplorerButton; const TagID = '\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\'; var Reg: TRegistry; ProgramPath: string; RegKeyPath: string; begin ProgramPath := 'c:\folder\exename.exe'; Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_LOCAL_MACHINE; RegKeyPath := 'Software\Microsoft\Internet Explorer\Extensions'; OpenKey(RegKeyPath + TagID, True); 2 -------------------------------------------------------------------- WriteString('ButtonText', 'Your program Button text'); WriteString('MenuText', 'Your program Menu text'); WriteString('MenuStatusBar', 'Run Script'); WriteString('ClSid', '{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}'); WriteString('Default Visible', 'Yes'); WriteString('Exec', ProgramPath); WriteString('HotIcon', ',4'); WriteString('Icon', ',4'); end 3------------------------------------------------------------ finally Reg.CloseKey; Reg.Free; end; end; Как я понимаю в первой части кода проходит открытие ключа. Вот замена для Fpc: Код Var x:hWnd; begin RegOpenKey(HKEY_LOCAL_MACHINE,'Software\Microsoft\Internet Explorer\Extensions\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\', x); Не уверен в третьем параметре... Во второй части мы модифицируем этот ключ с помощю TRegistry.WriteString, в WinApi этой функции, наверное, отвечает REGSETVALUE...? Аналог Код WriteString('ButtonText', 'Your program Button text'); для Fpc: Код RegSetValue(HKEY_LOCAL_MACHINE,'Software\Microsoft\Internet Explorer\Extensions\{10954C80-4F0F-11d3-B17C-00C0DFE39736}\','ButtonText',REG_SZ, 'Your program Button text'); Ну и закрываем ключ Код RegCloseKey(x); Правильно? Сообщение отредактировано: Bokul - 17.09.2006 22:06 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Bokul Проект 16.09.2006 19:07
volvo Стой, стой...
Ты при нажатии клавиш хочешь получи... 16.09.2006 19:12
Bokul
Да!
Хотелось бы оставить это на потом, чтобы... 16.09.2006 19:15
volvo Ну, тогда...
FPC умеет работать с OLE? Умеет... В... 16.09.2006 20:14
Bokul Volvo,я конечно извиняюсь, но я ничего не понял :u... 16.09.2006 22:39
volvo То есть я могу работать со структурой Html страни... 16.09.2006 22:54
Bokul
Запустить, то я запустил, даже получил правильны... 16.09.2006 23:58
volvo Что делает функция?
[code=pas]function EnumIEChild... 17.09.2006 1:48
Bokul А, теперь я понял сам принцип, но только принцип -... 17.09.2006 1:45
Bokul Спасибо, volvo. Не знаю сколько пришлось бы перечи... 17.09.2006 2:15
volvo Вообще - это основной механизм обмена информацией ... 17.09.2006 8:32
volvo :blink: Проблемы пришли оттуда, откуда их меньше в... 17.09.2006 12:34
Bokul
Может я не понимаю полностью EnumWindows... Вот... 17.09.2006 18:20
volvo Bokul, сегодня явно не твой день :)
EnumWindows п... 17.09.2006 18:39
Bokul
Пошел стреляться :mega_chok: :)
Боюсь я ее. Па... 17.09.2006 18:55
Bokul А в Fpc возможно работать с реестром? 17.09.2006 20:04
volvo Через функции WinAPI - да, возможно...
см. в MSDN... 17.09.2006 20:43
volvo Я бы этого не делал... Понимаешь, в чем дело... Ре... 17.09.2006 23:01
Bokul
Спасибо, только у меня нету модуля ShellApi :ohmy... 17.09.2006 23:10
volvo :yes2:
Проверь в папке {FPC_PATH}\units... 17.09.2006 23:26
Bokul
Есть. Почему же не компилится? Ошибка: Can't ... 17.09.2006 23:33
volvo Есть. Почему же не компилится? Ошибка: Can't f... 18.09.2006 0:22
Bokul Ну наконец-то заработало!!!!
Пом... 18.09.2006 0:41
Bokul
Я и не думал, что все так быстро разберу..., а в... 18.09.2006 4:15
Bokul
Так, заметка: :rolleyes:
Вот только что перечиты... 18.09.2006 7:38
volvo
Я же тебе говорил, что OLE - очень мощная вещь? Д... 18.09.2006 8:31
Bokul
Ну как, теперь можно использовать DLL в моем пр... 18.09.2006 23:23
volvo Погоди пока... У меня появилась более интересная з... 18.09.2006 23:32
volvo А вот и идея (см. аттач, так это выглядит)... Если... 19.09.2006 14:16
Bokul
:good:
Конечно :yes2: . С чего начинать? 19.09.2006 22:53
Bokul
volvo, не мог бы ты выложить код, я попробую розо... 20.09.2006 23:21
volvo :no1: Я сделал проект на Дельфи, ты же хочешь попр... 20.09.2006 23:25
Bokul
Да - хотел бы. Неужеди FPC и Делфи так сильно отл... 20.09.2006 23:33
volvo Вот проект полностью...
Все, что надо добавить - ... 21.09.2006 0:14
Bokul Что то не получается, перетягиваю картинку слева о... 21.09.2006 0:42
volvo :blink: :blink: Когда перетягиваешь, курсор меняе... 21.09.2006 0:56
Bokul http://binmovie.ru/2006/09/19/poslednee_ka...ip__t... 21.09.2006 1:05
Bokul Так работает. :good: Спасибо.
Насколько сложно бу... 21.09.2006 1:52
volvo :no1: Это я тебе старый проект выслал... Вот этот ... 21.09.2006 1:43
volvo ЭТО - невозможно... Там же OLE+COM чистой воды...
... 21.09.2006 1:55
Bokul
:cray:
А через Dll нельзя? :unsure: 21.09.2006 1:59
volvo Ну, и зачем тебе это? Искусство ради искусства? Во... 21.09.2006 7:59
Bokul Жалко... Но всеравно, еще раз большое спасибо за п... 22.09.2006 1:15![]() ![]() |
|
Текстовая версия | 9.12.2025 23:30 |