Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2009, 10:20   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Взаимодействие приложений

Не получается вставить текст в окно чужого приложения . Использую этот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 h,sh:HWND;
begin
 h:=FindWindow('Калькулятор Плюс',nil);
 sh:=FindWindowEx(h,0,'Edit',nil);
 SendMessage(sh,WM_SETTEXT,0,LParam(PChar('Мой текст')));
end;
Но, ничего не происходит. Текст не вставляется . Как быть?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.08.2009, 12:03   #2
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Проверь чему равны h и sh, возможно ты неправильно указываешь заголовок окна или класс едита.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 01.08.2009, 12:36   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вот! Переделал
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 h,sh:HWND;
begin
 h:=FindWindow('SciCalc', 'Калькулятор Плюс');
 sh:=FindWindowEx(h,0,'Edit',nil);
 SendMessage(sh,WM_SETTEXT,0,LParam(PChar('Мой текст')));
end;
А вот вопрос: что значит вот это слово
Код:
h:=FindWindow('SciCalc', 'Калькулятор Плюс');
???
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.08.2009, 12:40   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Имя класса
psycho-coder вне форума Ответить с цитированием
Старый 01.08.2009, 12:40   #5
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А вот вопрос: что значит вот это слово
Код:
h:=FindWindow('SciCalc', 'Калькулятор Плюс');
???
Найти окно с классом "SciCalc" и заголовком "Калькулятор Плюс" возможно до этого у тебя был открыт explorer и в окне тоже было "Калькулятор Плюс" поэтому ты находил не то окно.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 01.08.2009, 13:17   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если мне нужно вставить текст в окно приложения от 1С? Как там определить класс?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.08.2009, 13:22   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Попробуй WinSight
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 01.08.2009, 13:38   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Попробуй WinSight
Это класс такой?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.08.2009, 13:41   #9
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Это программа отображающая все окна (вроде) в системе.
Пуск -> Все программы -> Borland Delphi 7 -> WinSight32
psycho-coder вне форума Ответить с цитированием
Старый 01.08.2009, 13:52   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А как мне ее закинуть на компьютер где не установлен Delphi?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
uTorrent - взаимодействие SoulReaver Win Api 1 21.06.2009 20:06
Взаимодействие с пользователем Alone_Wolf Общие вопросы Delphi 19 23.12.2008 09:34
Межпроцессное взаимодействие ilham Win Api 5 16.12.2008 13:01
Взаимодействие flash и C#? mrakaziabra Общие вопросы .NET 3 16.07.2008 07:16