Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Как мне из СВОЕЙ программы послать сообщение ДРУГОЙ программе
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 01 октября 2007 23:59
· Личное сообщение · #1

Здравствуйте.

Собственно к вопросу:

Как мне из СВОЕЙ программы послать сообщение ДРУГОЙ программе на класс компонета TRichViewEdit?
А так же как считать от туда данные?




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 02 октября 2007 00:19
· Личное сообщение · #2

в вопросы новичков иди с такими вопросами. и такими формулировками. а то я б те ответил, как и всем юным дельферам...

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 20.5 (новичок)
Активность: 0.020
Статус: Участник

Создано: 02 октября 2007 00:25 · Поправил: alchemister
· Личное сообщение · #3

http://subscribe.ru/archive/comp.soft.prog.qandacpp/200507/10000511.ht ml#section_arts http://subscribe.ru/archive/comp.soft.prog.qandacpp/200507/10000511.html#section_arts
это описание работы с RichEdit через API




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 02 октября 2007 00:33 · Поправил: Rascal
· Личное сообщение · #4

alchemister
юный кодер пишет на делфе, о си мало что наверное знает, и умеет тока растягивать элементы управления вцл и дважды по ним клацать.
А судя по западающему капслоку он не верит, что можно слать сообщения в чужие приложения и что либо получать.
зы: опять флудотопег начнется...

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 01:25
· Личное сообщение · #5

Rascal Не гони. Раздел я правильный выбрал.

зы: опять флудотопег начнется...

Ну ну, даже знаю кто начел. Не помогать хочешь гуляй....




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 01:27
· Личное сообщение · #6

Если бы это был обыкновенный Edit я бы и не спрашивал




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 02 октября 2007 01:31
· Личное сообщение · #7

и че. ты знаешь про SendMessage? Тогда какая разница, какой контрол. Все равно все дороги ведут сюда
msdn2.microsoft.com/en-us/library/bb773173.aspx

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 65.7 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 02 октября 2007 02:30 · Поправил: Halt
· Личное сообщение · #8

ищи про сообщения как Rascal сказал... посылаешь нужное сообщение с нужными параметрами на хендел твоего ричэдита... и все..

Sendmessage(Rich.handle, wm_enable,1,0) или 0,1 не помню и смотреть лень

а про считывать.. ищи тут на форуме - тема была 100% там из каспера считать пытались... ну или google




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 02 октября 2007 06:18
· Личное сообщение · #9

Halt пишет:
посылаешь нужное сообщение с нужными параметрами на хендел твоего ричэдита...

Ну да, как Rascal и написал. Можешь на крайняк в InqSoft Sign of Misery потренироваться...

-----
Программист SkyNet





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 08:53
· Личное сообщение · #10

У меня есть такая функция:

function ChangeWndFirstEditText(Wnd: HWND; const Text: string):
boolean;
var
EditWnd: HWND;
begin
Result := False;
EditWnd := FindWindowEx(Wnd,0,'TRichViewEdit', nil);
if EditWnd = 0 then
exit; // edit not found
Result := SendMessage(EditWnd, WM_SETTEXT, 0, Integer(PChar(Text))) <> 0;
end;


Не работает, укажите на ошибку.
Еще думаю правильно ли записана FindWindowEx.




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 09:25
· Личное сообщение · #11

В TRichEdit этой функцией я могу послать соообщение, но мне нужно в TRichViewEdit




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 02 октября 2007 10:06
· Личное сообщение · #12

AVE, в какой версии Delphi пишется проект? с офсайта: Processing of WM_GETTEXT, WM_GETTEXTLENGTH, WM_SETTEXT was disabled for Delphi 2005 and 2006, because it conflicted with VCL implementation.

и вообще, читать справку иногда всё-таки полезно




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 16:34
· Личное сообщение · #13

Пишется на 2006. Но ведь я могу же послать в Edit, TRichEdit.

Подскажите как бороься?

про справку верно




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 02 октября 2007 17:20
· Личное сообщение · #14

видемо нада искать в доках, какие замены для этих сообщений есть для твоего контрола.

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 18:50
· Личное сообщение · #15

Еще вопрос.
То что программа в которую пытаюсь послать сообщение запаковано, как то влияет?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 02 октября 2007 20:48 · Поправил: Archer
· Личное сообщение · #16

AVE
ЗапакованО? О_о Сообщение что ли? Если прога запакована, никак не влияет, вопиющее непонимание.




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 02 октября 2007 21:25
· Личное сообщение · #17

Ну да, я имел ввиду прогу в которую посылаю сообщение



Ранг: 34.1 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 03 октября 2007 02:04
· Личное сообщение · #18

"Учите матчасть, ибо это азы!"
имхо тут добавить нечего...




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 03 октября 2007 08:15
· Личное сообщение · #19

AVE пишет:
Пишется на 2006. Но ведь я могу же послать в Edit, TRichEdit.

я ж вроде ясно написал, что
Processing of WM_GETTEXT, WM_GETTEXTLENGTH, WM_SETTEXT was disabled for Delphi 2005 and 2006, because it conflicted with VCL implementation.
справедливо именно для TRichViewEdit, потому и не работает. Цитата взята с офсайта компонента, запостил автор компонента.
Внимательнее надо быть.

AVE пишет:
Пишется на 2006. Но ведь я могу же послать в Edit, TRichEdit.
Подскажите как бороься?

На D2006 никак. Переходи на 2007, и то я не уверен, что там это исправлено. Читай форум поддержки компонента. А если, ты купил компонент, то обратись в support и тебе всё объяснят.

AVE пишет:
То что программа в которую пытаюсь послать сообщение запаковано, как то влияет?

никак

Rascal прав, ищи в доках или на форуме компонента




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 03 октября 2007 21:21
· Личное сообщение · #20

intro Спасибо буду разбераться дальше



Ранг: 117.1 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 04 октября 2007 10:25
· Личное сообщение · #21

AVE

Не думал создать окно самостоятельно?

-----
Security through obscurity is just an illusion





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 11 октября 2007 21:01
· Личное сообщение · #22

pushick Ты имеешь ввиду создать свой проект с TRichViewEdit и попытаться туда отправить сообщеение???

Если так, тоже не могу.

Думаю здесь нужен какаой либо другой подход нежели SendMessage.

Помогите разобраться




Ранг: 141.4 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 11 октября 2007 21:25
· Личное сообщение · #23

AVE
попробуй сделать так: помести свой текст (который хочешь послать в TRichViewEdit) в буфер обмена винды, а потом пошли контролу TRichViewEdit сообщение PasteFromClipboard.




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 11 октября 2007 22:12
· Личное сообщение · #24

буду пробывать



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 11 октября 2007 22:13 · Поправил: Veliant
· Личное сообщение · #25

Вот посмотри сорцы
http://www.rapidshare.ru/428208 http://www.rapidshare.ru/428208
в общем по f2 считывает в квипе набранный текст и его транслит вбивает на его место...там тоже используется TRichViewEdit.....сорри что комментов нет...так для ради интереса пробывал делать=)




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 11 октября 2007 22:51
· Личное сообщение · #26

Более именее разобрался
SendMessage(EditWnd, WM_Paste, 0, Integer(PChar(Text))) <> 0;
работает.

Скоро появятся новые вопросы




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 11 октября 2007 22:56
· Личное сообщение · #27

AVE в вопросы новичков такие вопросы... задовали уже пятьсиот раз...

-----
StarForce и Themida ацтой!





Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 12 октября 2007 19:28
· Личное сообщение · #28

Теперь остался вопрос как считать от туда данные

Может тоже как то через буфер можно?




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 12 октября 2007 23:52
· Личное сообщение · #29

на форуме delphimaster.ru спрашивал?




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 13 октября 2007 08:19
· Личное сообщение · #30

Пошел спрашивать


. 1 . 2 . >>
 eXeL@B —› Программирование —› Как мне из СВОЕЙ программы послать сообщение ДРУГОЙ программе
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати