Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Вниз

Как скопировать ассемблер из дебаггера Дельфи ?   Найти похожие ветки 

 
Кто---то ©   (2004-11-25 07:06) [0]

Надоело в ручную текст оттуда перепечатывать.
Понятно, что стандартных средств копирования нету. Но подозреваю, что этому окну можно послать соответствующее событие, которое скопирует из него текст. Только вот какое ? Я поэксперементировал, но так пока ничего и не добился. Может кто знает или сможет угадать нужное событие ?


 
Digitman ©   (2004-11-25 07:57) [1]

придется либо найти готовый либо написать собственный эксперт


 
Sha ©   (2004-11-25 10:20) [2]

Используй W32DASM или
http://dennishomepage.gugs-cats.dk/GrabCPUWindowText.zip


 
OneFragLeft ©   (2004-11-25 21:53) [3]

PrintScreen + FineReader.


 
TankMan ©   (2004-11-25 22:48) [4]

Вообще есть программка хорошая такая Kleptomania(вроде правильно написал), так вот она может копировать содержимое экрана сразу как текст, попробуй...


 
Aldor ©   (2004-11-26 02:51) [5]

А есть ли особый смысл в том, что Borland не предусмотрел возможность копирования из CPU window?


 
Кто---то ©   (2004-11-26 07:44) [6]


> Sha ©   (25.11.04 10:20) [2]
> Используй W32DASM или
> http://dennishomepage.gugs-cats.dk/GrabCPUWindowText.zip

Вот так всегда ... Только задумаешь написать чего путное, а тут вдруг оказывается, что кто-то это уже написал.
Кстати, а что за TToolbar97 ? Зачем они ?


> OneFragLeft ©   (25.11.04 21:53) [3]
> PrintScreen + FineReader.

Какие у тебя советы такой ты и мастер Дельфи.


> Aldor ©   (26.11.04 02:51) [5]
> А есть ли особый смысл в том, что Borland не предусмотрел
> возможность копирования из CPU window?

Возможно свои копирайты так охраняют.


 
Digitman ©   (2004-11-26 08:23) [7]


> Кто---то ©   (26.11.04 07:44) [6]
> Вот так всегда ... Только задумаешь написать чего путное,
> а тут вдруг оказывается, что кто-то это уже написал.


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


 
Sha ©   (2004-11-26 14:17) [8]

Digitman ©   (26.11.04 08:23) [7]

Странно.
Я не знал, что это работать не может.
Может, все-таки, стоит попробовать :)


 
Digitman ©   (2004-11-26 14:27) [9]


> Sha ©   (26.11.04 14:17) [8]


да чего там пробовать-то ? и пробовать даже не нужно ..

даже беглый взгляд на этот код дает полное представление о том, что его автор попросту пытается программно эмулировать "ручную" попытку скопировать/вставить

раз "ручное" копирование/вставка не дает ожидаемых рез-тов (и вполне понятно почему). то с какого перепугу то же самое, но сделанное программно, даст иные результаты ?


 
Chlavik ©   (2004-11-26 14:36) [10]

А что трудно самому такую прогу написать ? SendMessage + В delphi ж есть интефейсы для создания Com надстроек её среды - вперёд!


 
Sha ©   (2004-11-26 14:40) [11]

> Digitman ©   (26.11.04 14:27) [9]
> раз "ручное" копирование/вставка не дает ожидаемых рез-тов ...

Почему же не дает. Надо просто знать, где нажимать :)

Дело в том, что копирование кода из окна дебаггера вручную возможно, но очень неудобно (через меню и по одной строке -клавиши см. в тексте программы).

Данная программа значительно упрощает процесс.


 
Sha ©   (2004-11-26 14:53) [12]

через главное окно, конечно


 
Sha ©   (2004-11-26 14:59) [13]

Причем в Борланде люди веселые:
Ctrl-C работает, а Ctrl-Ins - нет.


 
Digitman ©   (2004-11-26 15:19) [14]


> Sha ©   (26.11.04 14:59) [13]


да.

не то слово - остроумные просто !

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

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


 
Sha ©   (2004-11-26 15:25) [15]

> Digitman ©   (26.11.04 15:19) [14]

Их, вроде, просили этот цирк переделать.
Может, сделают когда-нибудь, как надо.

А пока 10-50 операторов копирую этой утилитой,
а большие куски дизассемблирую.


 
Кто---то ©   (2004-11-27 01:48) [16]


> Digitman ©   (26.11.04 08:23) [7]
> не работает этот пример по ссылке.
> и работать не может, даже не пробуй.

Работает. Я его подправил. Задержку сделал побольше и возвращение курсора назад. Правда он копирует только ассемблер без дельфийского кода, который там же отображается.


> потому что все что там делается - программно эмулируется
> последовательность нажатия клавиш, соответствующих копированию
> в клипборд и вставке из него

Ну да.


> Chlavik ©   (26.11.04 14:36) [10]
> А что трудно самому такую прогу написать ?

Да, трудно написать. А если скажите, что нет, то напишите, да выложите тут.


> SendMessage +
> В delphi ж есть интефейсы для создания Com надстроек её
> среды - вперёд!

Не пугайте. Мало ли чего на свете есть, только кто это знает ?


 
Andy BitOff ©   (2004-11-27 07:01) [17]

Я этим (копированием) редко пользуюсь, но когда приспичит, то конечно Kleptomania(http://www.structurise.com/kleptomania/), поскольку ее использую не только для этого.
Вот, например, что только что получилось:

Main.pas.159: begin
004EBBA8 55               push ebp
004EBBA9 8BEC             mov ebp,esp
004EBBAB 83C4F0           add esp,-$10
004EBBAE 53               push ebx
004EBBAF 56               push esi
004EBBB0 57               push edi
004EBBB1 33D2             xor edx,edx
004EBBB3 8955F0           mov [ebp-$10],edx
004EBBB6 8BD8             mov ebx,eax
004EBBB8 33C0             xor eax,eax
004EBBBA 55               push ebp
004EBBBB 6858BC4E00       push $004ebc58
004EBBC0 64FF30           push dword ptr fs:[eax]
004EBBC3 648920           mov fs:[eax],esp
Main.pas.160: a:=0;
004EBBC6 33C0             xor eax,eax
004EBBC8 8945F8           mov [ebp-$08],eax
Main.pas.161: TRzComboBox(Sender).Canvas.Font.Assign(TRzComboBox(Sender).Font);
004EBBCB 8BF3             mov esi,ebx
004EBBCD 8B5668           mov edx,[esi+$68]
004EBBD0 8B8608020000     mov eax,[esi+$00000208]
004EBBD6 8B400C           mov eax,[eax+$0c]
004EBBD9 8B08             mov ecx,[eax]
004EBBDB FF5108           call dword ptr [ecx+$08]
Main.pas.162: for i:=0 to TRzComboBox(Sender).Count-1 do begin
004EBBDE 8BC6             mov eax,esi
004EBBE0 E8CF88F9FF       call TRzCustomComboBox.Count
004EBBE5 48               dec eax
004EBBE6 85C0             test eax,eax
004EBBE8 7C3C             jl +$3c
004EBBEA 40               inc eax
004EBBEB 8945F4           mov [ebp-$0c],eax
004EBBEE C745FC00000000   mov [ebp-$04],$00000000
Main.pas.163: b:=TRzComboBox(Sender).Canvas.TextWidth(TRzComboBox(Sender).Items.Strings[i]);
004EBBF5 8D4DF0           lea ecx,[ebp-$10]
004EBBF8 8BF3             mov esi,ebx
004EBBFA 8B863C020000     mov eax,[esi+$0000023c]
004EBC00 8B55FC           mov edx,[ebp-$04]
004EBC03 8B38             mov edi,[eax]
004EBC05 FF570C           call dword ptr [edi+$0c]
004EBC08 8B55F0           mov edx,[ebp-$10]
004EBC0B 8B8608020000     mov eax,[esi+$00000208]


Помоему лучше и не надо.


 
Кто---то ©   (2004-11-29 02:14) [18]


> Andy BitOff ©   (27.11.04 07:01) [17]

А можно всю мою программу в таком же виде получить ?



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

Форум: "Потрепаться";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.035 c
1-1101988376
X-gen
2004-12-02 14:52
2004.12.19
Бегущая строка


3-1101129616
Прямой
2004-11-22 16:20
2004.12.19
BLOB считать в TImage не могу = прикол


14-1101666074
OneFragLeft
2004-11-28 21:21
2004.12.19
Net Send


3-1100713958
Fin
2004-11-17 20:52
2004.12.19
Траффик между клиентом и сервером.


1-1101965710
Анатолик
2004-12-02 08:35
2004.12.19
Господа! Кто нибудь подскажите идею, как можно генерировать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский