Из holy-war-ветки: интеграция приложений

Marinavo_0507

Вот какой гипотетический вопрос меня мучает, про способы интеграции приложений в Windows.
Я хочу, чтоб в моём любимом браузере (предположим, это IE) можно было для ввода текста
использовать мой любимый редактор (предположим, это vim). Что мне нужно для этого дописать?
vim для win32 даже поддерживает какое-то OLE, так на сайте написано, но в любом случае IE обязан поддерживать
все прогрессивные технологии, а vim распространяется в исходниках, так что можно и там дописать всё что нужно.
Может есть редактор получше встроенного в IE, который это уже умеет?

Dasar

По идее надо написать плагин, который будет висеть на загрузке html-я и заменять все text-box-ы на твой редактор

Marinavo_0507

html парсить придётся самому или будет доступен результат встроенного парсера?
будет ли Save As нормально сохранять документ, будет ли View Source показывать правильные исходники?
правильно ли я понимаю, что встроенный редактор - это некий стандартный компонент Windows?
если да, то как бы вместо него подставить свой, с возможностью настройки
для отдельных пользователей, и для отдельных процессов, чтобы пользователи могли управлять тем,
какой из компонентов когда использовать?

Dasar

> html парсить придётся самому или будет доступен результат встроенного парсера?
будет доступен
> будет ли Save As нормально сохранять документ, будет ли View Source показывать правильные исходники?
если эти команды перехватить, то да.
> встроенный редактор - это некий стандартный компонент Windows?
в некотором смысле - да, в некотором смысле - нет.
> если да, то как бы вместо него подставить свой, с возможностью настройки
> для отдельных пользователей, и для отдельных процессов, чтобы пользователи могли управлять тем
честными способами сделать не получиться, можно попробовать через dll-inject-ион подменить компонент.

Marinavo_0507

А я-то после твоей рекламы на чудо надеялся...

voronina

про внедрение
Windows\Win32API\Рихтер Windows для профессионалов 4е издание engish/Richter 4 ru\head22.htm
Претвопяться надо textbox или richedit (если в поле можно вставлять форматированный текст с картинками)
но это какое-то нискоуровневое решение получается: таким образом можно попытаться поменять вид любых полей ввода во всех программах

Dasar

> А я-то после твоей рекламы на чудо надеялся...
чудес, также как и серебрянных пуль, не бывают.
бывают только более эффективные пути или менее эффективные пути.

Marinavo_0507

Ну вот я и хотел посмотреть на более эффективный путь, предоставляемый хвалёными технологиями от MS.
Плагин и для Мозиллы можно написать, безо всякого COM, думаю и html не придётся подменять, хотя хз.
А книжку рекомендованную имеет смысл смотреть? Или там я только найду объяснение, почему то, что я спрашиваю, невозможно?

Dasar

> книжку рекомендованную имеет смысл смотреть? Или там я только найду объяснение, почему то, что я
спрашиваю, невозможно?
AFAIK, там как раз низкоуровневые хаки рассматриваются типа того же dll-inject-иона.

kokoc88

Ну вот я и хотел посмотреть на более эффективный путь, предоставляемый хвалёными технологиями от MS.
Эти хвалёные технологии никакого отношения к замене текстового поля в уже готовом программном продукте (в данном случае речь именно об ИЕ) не имеют. Если написать браузер, который поддерживает замену компонента, тогда всё заработает. Я вообще видел мало программ, которые позволяют заменить свой текстовый редактор (в данном случае речь идёт именно о текст-боксах).

Ivan8209

Тогда открой для себя переменные окружения EDITOR и VISUAL.
Я видел достаточно программ, которые используют их по назначению.
---
...Я работаю антинаучным аферистом...

kokoc88

Тогда открой для себя переменные окружения EDITOR и VISUAL.
Очень рад за эти программы. Я уже написал, что есть софт, который позволяет заменять компоненты.

Ivan8209

Только почему-то у последователей униксов его больше.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

Ещё одна задачка.
Вот подумал, что было бы клёво, если бы при копировании HTML из браузера в поле ввода сообщения на форум
HTML-ная разметка заменялась бы на ubb-code.
Ну для начала самые простые штуки - выделение жирным и курсивом, списки.
Как это сделать?

evgen5555

>Только почему-то у последователей униксов его больше.
Потому что в униксах программные комплексы отсутствуют как класс. Интеграция на базе кансоль-фасоль-потоки-пайпы уже изжыла себя.

Dasar

через JavaScript - причем это должно работать в любом браузере.
Идею реализации можно подсмотреть в том же FreeTextBox-е.

evgen5555

Javascript+shaller
oncopy, onselectstart и т.п.

Marinavo_0507

> Идею реализации можно подсмотреть в том же FreeTextBox-е.
Они за исходники денег хотят, как посмотреть?
И его нужно ставить на сервер.
Короче я не понял, как это связано с моим вопросом.

Dasar

> Они за исходники денег хотят, как посмотреть?
Это же .Net, значит через Reflector, скорее всего, можно все интересное увидеть.
> И его нужно ставить на сервер.
Это Asp.Net-контрол - соответственно у него есть часть кода, которая работает на сервера, а часть, которая, на клиенте.
Тебе нужна та, которая на клиенте.
ps
Тем более тебе нужно смотреть только клиентские скрипты - соответственно скрипты можно прямо с их сайта посмотреть.

Marinavo_0507

Осталось непонятным, можно ли это сделать, если ни исходная страница, ни код форума не в курсе, что я собираюсь такое странное дело делать.
Нужно как-то javascript заставить работать с обоими страничками.

Marinavo_0507

!
В моём блокнотике 2 вопроса, оставшихся без ответа.
Напоминаю:
1. Как в интуитивно-понятном интерфейсе MS IIS настроить обработку файла без расширения как CGI-скрипта?
2. Как в интуитивно-понятном интерфейсе Windows Explorer раскрасить список файлов?

IvladV71

>Как в интуитивно-понятном интерфейсе Windows Explorer раскрасить список файлов?
в папку вроде надо поместить какой то ини-файлик

Marinavo_0507

1. это не интуитивно-понятный способ
2. хочется такое для всех папок, аналогично ls --color
3. где почитать про этот ини-файлик?

IvladV71

>3. где почитать про этот ини-файлик?
как где?
на всяческих форумах

Dasar

Повеситься на событие загрузки страницы - и добавлять свой javascript
но это уже, по идее, только из кода можно сделать
ps
Если свой экземпляр IE создавать, то будет что-то такое:

void Qq
{
axWebBrowser1 = new AxSHDocVw.AxWebBrowser;
axWebBrowser1.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(OnDocComplete);
}
void OnDocComplete (object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
{
mshtml.IHTMLDocument3 doc3 = (mshtml.IHTMLDocument3)axWebBrowser1.Document;
//doc3.что-то там.AddJavaScript("xvfxc");
}


evgen5555

1. Щас IIS поставлю - покопаюсь.
2. Я вот FAR пользуюсь для быстрого отличия файлов друг от друга по цвету имени, насчет раскраски в Explorer'e не знаю - зачем это, когда есть иконки типа Thumbnails?

Marinavo_0507

Хорошо, я почти доволен ответом.
По-видимому, задачка как-то решается.
Точнее сказать не могу, так как, судя по всему, только опытный программер сможет понять все необходимые
тонкости за разумное время.

Dasar

> 1. Как в интуитивно-понятном интерфейсе MS IIS настроить обработку файла без расширения как CGI-скрипта?
а в чем проблема?

Dasar

> 2. Как в интуитивно-понятном интерфейсе Windows Explorer раскрасить список файлов?
за 5 копеек никак - explorer используют стандартный контрол ListView, который не умеет выводить строки разным цветом.

Marinavo_0507

Иконки маленькие (большие не предлагать - слишком мало их влезет в окно) и их много разных, фиг поймёшь сразу.
Вот если бы цветом несколько типов файлов.

Marinavo_0507

> а в чем проблема?
Я полазил по менюшкам - не нашёл.
Потом поискал в MSDN - нашёл табличку соответствия расширений и обработчиков.
По поводу файлов без расширения за полчаса не смог ничего найти
Интуиция у меня неправильная, иначе я б сразу бы догадался, как это сделать.

evgen5555

>большие не предлагать - слишком мало их влезет в окно
В текстовом режиме 80x25 в ls влезает 50 файлов - примерно столько же в больших иконках на 1280х1024 и будет.
А еще разноцветные имена не будут смотреться на белом фоне, по-моему.

Marinavo_0507

> В текстовом режиме 80x25 в ls влезает 50 файлов
Мы используем терминальные окошки в иксах, так что эта проблема не возникает.
Текстовый режим нужен, только когда сломается что-то, и нужно чинить, его надо сравнивать с recovery console от microsoft.
> А еще разноцветные имена не будут смотреться на белом фоне, по-моему.
Это точно, поменять фон тоже стоило бы.

Marinavo_0507

> Я вот FAR пользуюсь для быстрого отличия файлов друг от друга по цвету имени
FAR получает +1 балл: я сумел найти там настройки цветов.
: плохо в Windows без него (или аналога).

Dasar

> опытный программер
обычно (и в данном случае тоже) достаточно голову, прямые руки, уметь читать msdn, уметь пользоваться google-ом и иметь под рукой правильный форум.

Marinavo_0507

ну да
всё это вместе сложить - получается опытный программер

sergey_m

> Интеграция на базе кансоль-фасоль-потоки-пайпы уже изжыла себя.
Аргументы против этого голословного утверждения были неоднократо высказаны. Читай старые холивары.

bastii

такое (раскраска файлов по расширениям) в этом интуитивно понятном интерфейсе не предусмотрено, хотя если руки не кривые, есть свободное время и умеешь прогать под шел и COM, то можно запрогать решение

Vladislav177Rus

Раскраска файлов по расширениям есть не только в FAR, но и в TC

bastii

Раскраска файлов по расширениям есть не только в FAR, но и в TC
что не мешает сделать ее в эксплорере, хотя с другой стороны эту функцию частично заменяют иконки

rosali

2. Как в интуитивно-понятном интерфейсе Windows Explorer раскрасить список файлов?
Где читать интуитивно понятный man ls, чтобы научить ls выводить иконки?
Оставить комментарий
Имя или ник:
Комментарий: