-
Привт. У нас на работе используется Microsoft Communicator (картинка вот -> http://savepic.org/1004075.jpg). Есть также некая программа-справочник с сотрудниками (ФИО, тел, E-Mail? кабинет и т.д.). В Communicator можно выполнить поиск человека введя в соответствующее поле фамилию или E-Mail. Задача из программы-справочника скопировать например двойным кликом по строке с сотрудником его ФИО или мыло, не важно, в в строку поиска Communicator. Сначала видимо нужно скопировать в буфер значение определенной ячейки (ФИО например), потом вставить это значение в Communicator (предварительно запустив его если он не запущен). Вот тут и возникает вопрос как произвести вставку?
-
> Вот тут и возникает вопрос как произвести вставку?
WM_SETTEXT
-
> Rouse_ © (25.12.10 21:00) [1]
А как определить какой именно программе предать содержимое? Ведь может еще что-то быть открыто у пользователя
-
Ну тут уже сам думай как ты будешь детектировать нужное именно тебе приложение...
-
Я нашел такой пример:
h:= FindWindow(nil, 'Оffice Communicator'); SendMessage(h,WM_SETTEXT,0,LPARAM(PChar(Edit1.Text)));
Но в примере написано что это приведет к изменению заголовка найденного окна на содержимое эдита. А мне нужно вставить содержимое в эдит найденного овно а не менять его заголовок. Попробовать негде, на этом компе нет Дельфи
-
Так ты найдешь просто окно программы, а не нужный тебе EDIT - почитай MSDN, там написано о организации окон...
-
Den, тебе нужна програмка SPY++, через функции FindWindow и FindWindowEx ищешь хэндл нужного эдита и посылаешь в него текст через WM_SETTEXT.
-
> tippa (25.12.10 22:08) [6]
Не очень понял для чего мне SPY++, мне нужно все это реализовать в свой программе. Пока не могу разобраться как найти хендл контрола (эдита) нужного....
-
> Не очень понял для чего мне SPY++
> Пока не могу разобраться как найти хендл контрола (эдита) > нужного.... >
2+2 = 4 В начинающие! :)
-
> Не очень понял для чего мне SPY++ это инструмент помогающий разобраться в структуре чужого приложения. грубо, в том, что на чем лежит.
> мне нужно все это реализовать в свой программе. а посылать текст будешь на "деревню дедушке"?
> Пока не могу разобраться как найти хендл контрола (эдита) нужного.... сказали уже как... > через функции FindWindow и FindWindowEx ищешь хэндл нужного эдита ...
-
> Den, тебе нужна програмка SPY++, через функции FindWindow > и FindWindowEx ищешь хэндл нужного эдита и посылаешь в него > текст через WM_SETTEXT.
Сейчас этот хэндл один, а после следующего запуска - другой. И Спай++ не поможет.
-
и дейстивительно... на кой его придумали...
-
точно! вслепую "тыкаться" гораздо интереснее... и в духе форумов, а то еще спрашивать не о чем будет.
-
Сорри, глупость сказал. Пойду читать Руссиновича, что о дескрипторах пишет.
|