Форум: "Потрепаться";
Текущий архив: 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