Текущий архив: 2006.05.07;
Скачать: CL | DM;
ВнизКак узнать, какой процесс активный? Найти похожие ветки
← →
TStas © (2006-03-31 13:26) [0]Есть список процессов, как узнать, у кого фокус и, тоже важно, потом фокус ему вернуть?
← →
Rouse_ © (2006-03-31 14:26) [1]GetForegroundWindow даст хэндл окна, GetWindowThreadProcessId вернет ID потока и процесса, которому принадлежит данное окно
← →
TStas © (2006-03-31 15:41) [2]А как потом его активным опять сделать?
← →
tipman © (2006-03-31 16:29) [3]гы, так SetForegroundWindow и сделает...
← →
TStas © (2006-03-31 17:50) [4]Для чего мне все это нужно. РАспространенная, но неприятная ошибка - набрать текст при другой раскладке клавиатуры.
Есть функция, которая конвертит. Она простенькая совсем. Просто выделить тест, скопировать его, вставить в окно конвртилки и потом все назад - слишком сложно.
Идея такова: ПОлучаю хэндел активного окна и запоминаю его. Выделяю ошибочно набранный текст.
Затем нажимаю на прогу, ккоторую пока не дописал. Она ддолжна послать Ctrl+c, затем конвертировать. Вот тут-то фокус ей и передстся. Теперь надо вернуть его на место и сделать окно, котороебыло активным опять активным. Хендел его запомнем.
Ну и послать Ctrl+v Все. Половину не знаю как делать на дельфи, но скрипт хостиом делается на ура.
Но то, что посоветовали в последний раз никак не выносит окно на передний план.
>tipman К сожлению, не делает
← →
Rouse_ © (2006-03-31 19:52) [5]Юзай пунто свитчер и не забивай ерундой себе голову, или ты хочешь разобраться в данной теме?
← →
TStas © (2006-03-31 19:56) [6]Вообще разобраться интересно, да и удобно
← →
Rouse_ © (2006-03-31 21:32) [7]Тогда ты купил правильную книжку (когда звонил мне на трубу).
Там большая часть всегго этого есть...
← →
TStas © (2006-04-01 12:01) [8]Розыч. Что тут без хуков не обойдешься я понял, заодно надо бы научиться ДЛЛи писать, а то один "программист" объснил мне, что ДЛЛ - вещб лишняя и ненужная.
ТОлько одно в толк не возьму: задача - исправлять кодировку на готовых солидных приложениях типа аськи, дельфей и браузера. Вот к ним-то как я ДЛЛи приделаю, ведь на них надо хуки ставить.
Скачал статью про хуки (давно), сегодня еще и примеры к ней, чтобы с кодом самим разбираться.
Что это возможно - понятно. Уже запоминает хэндел приложения. Только они ведь (хендлы) локальны:(
← →
Leonid Troyanovsky © (2006-04-01 12:39) [9]
> TStas © (01.04.06 12:01) [8]
> бы научиться ДЛЛи писать, а то один "программист" объснил
> мне, что ДЛЛ - вещб лишняя и ненужная.
Может, конечно, и нужная, но вредная.
По поводу проблемы - посмотри
http://groups.google.com/group/borland.public.delphi.winapi/msg/8f29daafee96166a
Когда-то приходилось пользовать для конвертации выделенного текста
(когда Netscape пользовал).
--
Regards, LVT.
← →
TStas © (2006-04-01 18:18) [10]Скачал Вашу программу, она не компилируется в строке
prefix := ParamStr(1); говорит, что левая чать не может быть присвоена правой, что не так. на сасмом деле
← →
Leonid Troyanovsky © (2006-04-01 19:06) [11]
> TStas © (01.04.06 18:18) [10]
> быть присвоена правой, что не так. на сасмом деле
Сделай ее var.
--
Regards, LVT.
← →
TStas © (2006-04-02 23:01) [12]К сожалению ничего не понял в ВАшем коде.
Скачал у Керка прогу, которая выдает список адресов процесоов. Как бы получить список заголовков
← →
Leonid Troyanovsky © (2006-04-02 23:36) [13]
> TStas © (02.04.06 23:01) [12]
> К сожалению ничего не понял в ВАшем коде.
А чего там.
При запуске оного приложения (нпаример, по Ctrl+Alt+Z - быстрый вызов
ярлыка из меню Пуск) ищется имеющий фокус ввода потомок (Windows)
EDIT с содержимым, подлежащим преобразованию.
Которое (содержимое) собс-но, и преобразуется.
--
Regards, LVT.
← →
TStas © (2006-04-03 00:55) [14]Leonid Troyanovsk Это я догвадался, а в чем это конкретно выражается. Чего-то я преобразования не заметил. А нельзя как-то имя окошечка или просто объясните подробнее. Там же даже самой функции преобразования нет.
Странно, что консольные дельфи не хотели типизированную константу понимать.
← →
Leonid Troyanovsky © (2006-04-03 01:24) [15]
> TStas © (03.04.06 00:55) [14]
> выражается. Чего-то я преобразования не заметил. А нельзя
> как-то имя окошечка или просто объясните подробнее. Там
> же даже самой функции преобразования нет.
Как же нет? InsertPrefixToLines - вставляет префикс в каждую строку,
_активного_ поля EDIT.
> Странно, что консольные дельфи не хотели типизированную
> константу понимать.
Начиная с D4+, IMHO, типизированные константы, по умолчанию,
изменять нельзя. See also {$J-} compiler directive.
--
Regards, LVT.
← →
TStas © (2006-04-03 02:56) [16]НЕ консольными точно можно 7-ми
← →
Leonid Troyanovsky © (2006-04-03 10:33) [17]
> TStas © (03.04.06 02:56) [16]
> НЕ консольными точно можно 7-ми
У тебя настройки в IDE и DCC32.CFG различаются.
Т.е., видимо, установлена галка Assignable Typed Constants
на закладке Compiler.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2006-04-03 10:46) [18]
> Leonid Troyanovsky © (03.04.06 01:24) [15]
> InsertPrefixToLines - вставляет префикс в каждую строку
В каждую выделенную строку, sorry.
--
Regards, LVT.
← →
TStas © (2006-04-03 12:56) [19]Не вставляет, правда. На на [12] не ответите?
← →
Leonid Troyanovsky © (2006-04-03 17:58) [20]
> TStas © (03.04.06 12:56) [19]
> Не вставляет, правда.
Все очень замечательно вставляет.
Пускаем Блокнот, выделяем строки, жмем ctrl+alt+z (или что там
назначено на ярлык из главного меню).
> На на [12] не ответите?
Дык, это к Керку, видимо.
Или про что?
--
Regards, LVT.
Страницы: 1 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.013 c