Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 056

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Будте добры подскажите пожалуйста, как сделать так, чтобы текст в чужом окне, если там есть курсор для печати, при нажатии кнопки в моей проге, весь текст, который в чужом окне, копировался в моё (например мемо) обрабатовался и уже в обработаном виде заменял текст в том окне из которого мы копировали?

Макаров Игорь Сергеевич Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Макаров Игорь Сергеевич (статус: Посетитель)
Вопрос отправлен: 28 февраля 2011, 16:25
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 1 марта 2011, 15:37; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 28 февраля 2011, 16:49 [#1]:

Почитайте две статьи http://delphiworld.narod.ru/base/other_windows.html и http://delphiworld.narod.ru/base/other_windows2.html
После этого, думаю придет понимание.
Галочка "подтверждения прочтения" - вселенское зло.
Макаров Игорь Сергеевич

Макаров Игорь Сергеевич (статус: Посетитель), 28 февраля 2011, 17:47 [#2]:

Почему мне в примерах пишет Undeclader Identifiar ListBox1? Я его подключал(
Вадим К

Вадим К (статус: Академик), 28 февраля 2011, 18:33 [#3]:

Наверно нужно на форму положить ListBox
Галочка "подтверждения прочтения" - вселенское зло.
Макаров Игорь Сергеевич

Макаров Игорь Сергеевич (статус: Посетитель), 28 февраля 2011, 18:53 [#4]:

Есть на форме листбокс но выдаёт ошибку(

28 февраля 2011, 19:10: Вопрос перемещён из тематического раздела Delphi » Прочее в раздел Delphi » Программирование с помощью API модератором Ерёмин А.А.

Вадим К

Вадим К (статус: Академик), 28 февраля 2011, 21:04 [#5]:

Напрягу телепатические способности.
А если вместо ListBox1 написать form1.Listbox1, скомпилируется?
Галочка "подтверждения прочтения" - вселенское зло.
Макаров Игорь Сергеевич

Макаров Игорь Сергеевич (статус: Посетитель), 1 марта 2011, 14:31 [#6]:

У меня есть такой код и его надо немножко поправить, помогите!!!
При нажатии мыши в какомто поле текст копируется в мою прогу,
но есть одно но, оно копирует и копирует, что надо исправить чтобы оно скопировало всего один раз? timer1.enableD:=false; не подходит!
надо чтобы востанавливался таймер при появлении мишь в другом поле
function GetSysFocus: Integer;
var
hFgWin, FgThreadID, hFocusWin: Integer;
begin
hFgWin := GetForegroundWindow;
FgThreadID := GetWindowThreadProcessID(hFgWin, nil);
if AttachThreadInput(GetCurrentThreadID, FgThreadID, True) then
begin
Result := GetFocus;
AttachThreadInput(GetCurrentThreadID, FgThreadID, False);
end
else
Result := GetFocus;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var ACtrl:HWND;
FgThread:Integer;
FgHwnd:Integer;
begin
ACtrl:=GetSysFocus();
PostMessage(actrl, WM_COPY,0, 0);
Memo1.Perform(WM_PASTE, 0, 0);
timer1.enableD:=false;
end;

Есть ещё такая процедура!
Как сделать, чтобы текст из чужого окна при копировании в мемо1, выполнялась эта процедура и по её окончанию текст заменялся в том окне откуда было скопировано текст?
Помогите пожалуйста!!! может вместо таймера как-то её переделать?

procedure TForm1.Button1Click(Sender: TObject);
var r:string;
begin
R:=memo1.SelText;
R:=EngtoRus(r);
memo1.SelText:=R;
end;
Вадим К

Вадим К (статус: Академик), 1 марта 2011, 14:45 [#7]:

а может вместо таймеров и прочих премудростей просто зарегистрировать горячую клавишу?
Галочка "подтверждения прочтения" - вселенское зло.
Макаров Игорь Сергеевич

Макаров Игорь Сергеевич (статус: Посетитель), 1 марта 2011, 14:55 [#8]:

Как это сделать? у меня есть Action1Execute на форме вместо Button1 а дальше что?
Вадим К

Вадим К (статус: Академик), 1 марта 2011, 15:11 [#9]:

а это не имеет значения.
Вот так вот http://delphidevelop.ru/publ/svoja_gorjachaja_klavisha/26-1-0-322 можно сделать глобальную горячую кнопку. Дальше вызывайте Ваш код.
Галочка "подтверждения прочтения" - вселенское зло.
Макаров Игорь Сергеевич

Макаров Игорь Сергеевич (статус: Посетитель), 1 марта 2011, 15:29 [#10]:

Помоги мне собрать всё до кучи пожалуйста! Буду очень благодарен!
Вадим К

Вадим К (статус: Академик), 1 марта 2011, 15:37 [#11]:

ну не могу же я за Вас все сделать сам. Нужно хоть немного, а сделать самостоятельно.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.02 сек.