Сейчас на форуме: ==DJ==[ZLO], Dart Raiden, Alf (+6 невидимых)

 eXeL@B —› Основной форум —› help
Посл.ответ Сообщение


Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 12 сентября 2004 01:25
· Личное сообщение · #1

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

-----
Пиво, сиськи, транс




Ранг: 31.0 (посетитель), 1thx
Активность: 0.040
Статус: Участник

Создано: 12 сентября 2004 02:53 · Поправил: sanniassin
· Личное сообщение · #2

Хехе, ты нарушил п. 5 правил форума:
Название темы должно быть чётким и ясным. Запрещается создавать темы с заголовками типа "Помогите!", "HELP!" и т.п. Подобные темы будут удаляться.




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 12 сентября 2004 03:00
· Личное сообщение · #3

sanniassin пишет:
Хехе, ты нарушил п. 5 правил форума:
Название темы должно быть чётким и ясным. Запрещается создавать темы с заголовками типа "Помогите!", "HELP!" и т.п. Подобные темы будут удаляться.

Самовольное модерирование разве не карается законом?

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 сентября 2004 03:16
· Личное сообщение · #4

любым шпионом, хотя бы этим
hxtp://tsrh.us/wspyf.zip



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

Создано: 12 сентября 2004 05:22
· Личное сообщение · #5

-= ALEX =-
Если програмно, то сначала FindWindow для окна родителя, потом, для TMemo т.е. указываешь TMemo как класс для поиска на окне родителе.

-----
Crack your mind, save the planet





Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 12 сентября 2004 06:02 · Поправил: Модератор
· Личное сообщение · #6

Styx по подробнее можно как искать на родителе...
sanniassin умничать не нуно. я тут впервые
Funbit мне нужно самому программулю сделать...

-----
Пиво, сиськи, транс




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

Создано: 12 сентября 2004 06:15
· Личное сообщение · #7

у меня есть рабочий исходник для делфи, в IRC спроси
Здесь не втыкается хз почему




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 13 сентября 2004 04:01
· Личное сообщение · #8

нифига не выходит. есть еще предложения ?

-----
Пиво, сиськи, транс




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

Создано: 13 сентября 2004 04:12 · Поправил: RideX
· Личное сообщение · #9

-= ALEX =-
const
NewText: PChar = 'Some text...';
var
wndParent, wndChild: HWND;
buff: array [0..1024] of Char;
begin
//handle Memo
wndParent := FindWindow('TfmMain', 'fmCaption');
wndChild := FindWindowEx(wndParent, 0, 'TMemo', nil);
if wndChild = 0 then begin
MessageBoxA(handle, '...not found', 'Error', MB_ICONERROR);
Exit;
end;
//из Memo
SendMessage(wndChild, WM_GETTEXT, 1023, integer(@buff));
MessageBoxA(handle, buff, 'WM_GETTEXT', MB_ICONINFORMATION);
//в Memo
SendMessage(wndChild, WM_SETTEXT, 0, integer(NewText));
MessageBoxA(handle, NewText, 'WM_SETTEXT', MB_ICONINFORMATION);
end;




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 13 сентября 2004 04:50
· Личное сообщение · #10

-= ALEX =- пишет:
мне необходимо полчить текст содержащийся в TMemo в чужом окне и записать новый текст... как найти хэндл этого Мемо ?

Алекс я тебя не узнаю - то протекторы пишешь, то такие вопросы задаешь...

-----
Всем не угодишь




Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 сентября 2004 06:15
· Личное сообщение · #11

-= ALEX =- пишет:
sanniassin умничать не нуно. я тут впервые

В смысле... в первые ?




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 13 сентября 2004 08:11
· Личное сообщение · #12

Bad_guy да вот понимаешь, долбался все также как тут написано, делал подобный пример, что и RideX написал (спасибо ему), но вот нифига не выходит... вот и задал вопрос.
Che подгон нах ))

-----
Пиво, сиськи, транс




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

Создано: 13 сентября 2004 08:27
· Личное сообщение · #13

-= ALEX =-

В принципе есть такая прога Sing0fMistery она генерит скрипты, как раз для твоего случая, попробуй ее, а потом просто нужное вынь и вставь в свой проект, будет правда на asm'e




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 13 сентября 2004 09:30
· Личное сообщение · #14

-= ALEX =-,здесь имхо так можно сделать:сперва FindWindow для получения хэндла родительского окна,
затем FindWindowEx - получить хэндл Memo.



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

Создано: 14 сентября 2004 03:38
· Личное сообщение · #15

-= ALEX =- пишет:
что и RideX написал (спасибо ему), но вот нифига не выходит...

Хм, странно, должно работать... Ну а так попробуй:
.data
wndParent dd 0
wndChild dd 0

lpParentClassName db "TForm1",0 ;здесь пиши класс твоей формы
lpParentWindowName db "Form1",0 ;здесь её заголовок
lpChildClassName db "TMemo",0

szMsgGetCapt db "WM_GETTEXT",0
szMsgSetCapt db "WM_SETTEXT",0
szMsgErrCapt db "Error",0
szMsgError db "...not found",0

szNewText db "Some text...",0
buff db 1024 dup (0)

.code
invoke FindWindow, addr lpParentClassName, addr lpParentWindowName
.if eax == NULL
invoke MessageBoxA, hWnd, addr szMsgError, addr szMsgErrCapt, MB_ICONERROR + MB_OK
jmp EndWork
.endif
mov wndParent, eax
invoke FindWindowEx, wndParent, NULL, addr lpChildClassName, NULL
.if eax == NULL
invoke MessageBoxA, hWnd, addr szMsgError,addr szMsgErrCapt, MB_ICONERROR + MB_OK
jmp EndWork
.endif
mov wndChild, eax

invoke SendMessage, wndChild, WM_GETTEXT, 1023, addr buff
invoke MessageBoxA, hWnd, addr buff, addr szMsgGetCapt, MB_ICONINFORMATION + MB_OK

invoke SendMessage, wndChild, WM_SETTEXT, 0, addr szNewText
invoke MessageBoxA, hWnd, addr szNewText, addr szMsgSetCapt, MB_ICONINFORMATION + MB_OK




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 14 сентября 2004 04:16
· Личное сообщение · #16

Дело в том, что у меня хэндл мемо не находится, вот главная трабла. юзаю тот же мс спай, он пишет класс TMemo.. но вот хендл не ловится...
RideX чет ты загнул с szMsgGetCapt по-моему ) там же константы обычные, а не строки...

-----
Пиво, сиськи, транс




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

Создано: 14 сентября 2004 04:30
· Личное сообщение · #17

-= ALEX =- пишет:
чет ты загнул с szMsgGetCapt

Это у меня Caption'ы MessageBox'ов, просто для контроля, когда WM_GETTEXT, а когда WM_SETTEXT В общем не принципиально...
Если прога не большая, можешь мне скинуть, могу посмотреть.




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 14 сентября 2004 05:42
· Личное сообщение · #18

млин, моё пред сообщение не отпостилось короче разобрался я. просто мой мемо был на панеле, тот еще не панеле, а тот в свою очередь тоже на панеле )

-----
Пиво, сиськи, транс




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 14 сентября 2004 06:21
· Личное сообщение · #19

Если тема ещё актуальна, то вот что я тут набросал:

.386
.model flat, stdcall

includelib kernel32.lib
includelib user32.lib

include C:\masm32\include\windows.inc
include C:\masm32\include\kernel32.inc
include C:\masm32\include\user32.inc

.data
WndName db 'Form1',0
WndClass db 'TForm1',0
MemoClass db 'TMemo',0
Caption db 'Текст из мемо:',0
TextBuffer dd 16 dup (0)
ClassBuffer dd 4 dup (0)
hParentWnd dd 0

.code
EnumW proc
push ebp
mov ebp, esp

push offset TextBuffer
push [16*4-1]
push WM_GETTEXT
push dword ptr [ebp+08h] ; Эт хендл Мемы
call SendMessage

push [4*4-1]
push offset ClassBuffer
push dword ptr [ebp+08h]
call GetClassName

push offset ClassBuffer
push offset MemoClass
call lstrcmpi
test eax, eax
jnz @@NiHrenaNet

push 0
push offset Caption
push offset TextBuffer
push 0
call MessageBoxA

@@NiHrenaNet:
mov eax, 1
pop ebp
ret 8
EnumW endp

start:
push offset WndName
push offset WndClass
call FindWindow
mov hParentWnd, eax

push 1
push offset EnumW
push eax
call EnumChildWindows

push 0
call ExitProcess
nop
end start

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 14 сентября 2004 06:22
· Личное сообщение · #20

Думаю, что выставить текст сможешь сам. Т.к. этот пример успешно берёт текст из МЕМО и выводит в МесагБоХе. Всё работает. Проверено!
Если мемы или окна с классом TForm1 нет, то просто выход.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 14 сентября 2004 06:26
· Личное сообщение · #21

Ну вот. Как обычно, я опоздал.. Пока набивал пример, всё сделали...

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 14 сентября 2004 08:56
· Личное сообщение · #22

угу ) тока не так вообще как ты написал. но за старания - респект !!!

-----
Пиво, сиськи, транс




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 14 сентября 2004 10:58
· Личное сообщение · #23

-= ALEX =-
Я тут потестил этот пример: работает без внесения изменений, даже если memo находится на др. компонентах.

-----
Я медленно снимаю с неё UPX... *FF_User*



 eXeL@B —› Основной форум —› help
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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