Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.03.20;
Скачать: CL | DM;

Вниз

Передать текстовые данные в поле сторонней программы   Найти похожие ветки 

 
Den   (2010-12-25 17:32) [0]

Привт. У нас на работе используется Microsoft Communicator (картинка вот -> http://savepic.org/1004075.jpg). Есть также некая программа-справочник с сотрудниками (ФИО, тел, E-Mail? кабинет и т.д.). В Communicator можно выполнить поиск человека введя в соответствующее поле фамилию или E-Mail. Задача из программы-справочника скопировать например двойным кликом по строке с сотрудником его ФИО или мыло, не важно, в в строку поиска Communicator.

Сначала видимо нужно скопировать в буфер значение определенной ячейки (ФИО например), потом вставить это значение в Communicator (предварительно запустив его если он не запущен). Вот тут и возникает вопрос как произвести вставку?


 
Rouse_ ©   (2010-12-25 21:00) [1]


> Вот тут и возникает вопрос как произвести вставку?

WM_SETTEXT


 
Den   (2010-12-25 21:23) [2]


> Rouse_ ©   (25.12.10 21:00) [1]

А как определить какой именно программе предать содержимое? Ведь может еще что-то быть открыто у пользователя


 
Rouse_ ©   (2010-12-25 21:26) [3]

Ну тут уже сам думай как ты будешь детектировать нужное именно тебе приложение...


 
Den   (2010-12-25 21:44) [4]

Я нашел такой пример:

h:= FindWindow(nil, "Оffice Communicator"); // Ищем окно
SendMessage(h,WM_SETTEXT,0,LPARAM(PChar(Edit1.Text))); // сообщение


Но в примере написано что это приведет к изменению заголовка найденного окна на содержимое эдита. А мне нужно вставить содержимое в эдит найденного овно а не менять его заголовок. Попробовать негде, на этом компе нет Дельфи


 
Rouse_ ©   (2010-12-25 21:55) [5]

Так ты найдешь просто окно программы, а не нужный тебе EDIT - почитай MSDN, там написано о организации окон...


 
tippa   (2010-12-25 22:08) [6]

Den, тебе нужна програмка SPY++, через функции FindWindow и FindWindowEx ищешь хэндл нужного эдита и посылаешь в него текст через WM_SETTEXT.


 
Den   (2010-12-25 22:34) [7]


> tippa   (25.12.10 22:08) [6]

Не очень понял для чего мне SPY++, мне нужно все это реализовать в свой программе. Пока не могу разобраться как найти хендл контрола (эдита) нужного....


 
Германн ©   (2010-12-26 03:32) [8]


> Не очень понял для чего мне SPY++


>  Пока не могу разобраться как найти хендл контрола (эдита)
> нужного....
>

2+2 = 4
В начинающие! :)


 
sniknik ©   (2010-12-26 15:51) [9]

> Не очень понял для чего мне SPY++
это инструмент помогающий разобраться в структуре чужого приложения. грубо, в том, что на чем лежит.

> мне нужно все это реализовать в свой программе.
а посылать текст будешь на "деревню дедушке"?

> Пока не могу разобраться как найти хендл контрола (эдита) нужного....
сказали уже как...
> через функции FindWindow и FindWindowEx ищешь хэндл нужного эдита ...


 
Curse ©   (2010-12-27 07:47) [10]


> Den, тебе нужна програмка SPY++, через функции FindWindow
> и FindWindowEx ищешь хэндл нужного эдита и посылаешь в него
> текст через WM_SETTEXT.


Сейчас этот хэндл один, а после следующего запуска - другой. И Спай++ не поможет.


 
Palladin ©   (2010-12-27 08:09) [11]

и дейстивительно... на кой его придумали...


 
sniknik ©   (2010-12-27 09:22) [12]

точно! вслепую "тыкаться" гораздо интереснее... и в духе форумов, а то еще спрашивать не о чем будет.


 
Curse ©   (2010-12-27 09:33) [13]

Сорри, глупость сказал. Пойду читать Руссиновича, что о дескрипторах пишет.



Страницы: 1 вся ветка

Текущий архив: 2011.03.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
2-1293407915
Тимоха111
2010-12-27 02:58
2011.03.20
динамический pagecontol и событие к нему


15-1291753225
Полвторого
2010-12-07 23:20
2011.03.20
Инъективный хэш для pascal-строк?


1-1249657830
ягость
2009-08-07 19:10
2011.03.20
Удалить строки из RichEdit


15-1290453194
ProgRAMmer Dimonych
2010-11-22 22:13
2011.03.20
Книга по ADO для не совсем чайника


15-1291269391
oxffff
2010-12-02 08:56
2011.03.20
Буржуи воруют наши идеи.