Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.045 c
15-1145023037
iamdanil
2006-04-14 17:57
2006.05.07
Глюк винды (фотка)


2-1145105032
Keks
2006-04-15 16:43
2006.05.07
Создание всплывающего сообщения


2-1145190780
Мих
2006-04-16 16:33
2006.05.07
Базы данных


2-1145269028
Leshas
2006-04-17 14:17
2006.05.07
Математическое приложение - разбор формулы


15-1144819407
ps123
2006-04-12 09:23
2006.05.07
Делал ли кто-нибудь на Дельфи аналог ERWin?