![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать процедуру из чужой программы [D6, Win2k]
Max003 © (2004-01-19 14:46:00)Как, зная имя процедуры, вызвать её из чужой программы. В чужой программе есть процедура Button1Click. Возможно ли вызвать её и как?
slym99 (2004-02-04 16:25:00) [1]Технология такая...
пример: Прога использует MS Word... печатает, свойства меняет всякие кнопочки нажимает.
Прогу в которой кнопку нажать надо заделываешь в COM с методом Click;
а в проге из которой надо нажать
v:=CoApp1.Create;
v.Click;
GrayFace (2004-02-04 16:11:00) [2]Че такое COM?!
panov, т.е. только ты в этом месте модеришь?
sniknik (2004-02-04 16:09:00) [3]> COM?!
весело то как. :о))))) порнотетрис сделанный как COM сервер, сервер автоматизации .... чего? ;о) с встроенной внутрь себя же функцией кряка непройденного уровня. ;о))
надо подкинуть идею комунибудь на реализацию. ;)
Slym (2004-02-04 13:27:00) [4]COM?!
panov (2004-02-03 13:17:00) [5]>GrayFace © (03.02.04 13:10) [21]
Конвертик справа вверху.
GrayFace (2004-02-03 13:10:00) [6]>Разборки с модератором почтой
А как ее узнать?
GrayFace (2004-02-01 13:05:00) [7]Удалено модератором
Примечание: Разборки с модератором почтой
Woodpecker (2004-01-26 14:58:00) [8]>>Max003 (24.01.04 14:19) [17]
Порнотетрис или что-то такое...
XenonXX (2004-01-26 04:48:00) [9]Дык распакуй!
Max003 (2004-01-24 14:19:00) [10]Если у меня получится сделать этот пункт активным, то дальше все пойдет нормально. Это не демоверсия, а такая защита, чтобы в игре к следующему туру перейти. Как только выйгрываешь, он становится активным, а мне охота сделать его активным без выигрыша. А редактором ресурсов покапаться не получится. Программа сжата aspack'ом.
GrayFace (2004-01-24 13:35:00) [11]Удалено модератором
GrayFace (2004-01-23 18:28:00) [12]Удалено модератором
GrayFace (2004-01-23 18:18:00) [13]>Проще программу купить будет...
Обычно программы не стоят требуемых за них денег.
jack128 (2004-01-22 10:27:00) [14]
> В демо-программах зачастую некоторые функции запрещены...
Мне кажется если программа действительно стоящая, то так не только блокировали пункт меню, но и, условными дерективами вырезали код при нажатии меню :-)
> Его надо сначала сделать доступным (enabled=true) , а потом
> эмитировать нажатие. Со вторым проблем нет, а вот сделать
> доступным - проблема. Прочел, что есть такая процедура EnabledMenuItem.
А как ты узнал, что с нажатием у тебя проблем нету? Меню ведь дизеблено ;-)
GrayFace (2004-01-22 08:23:00) [15]Удалено модератором
AKul (2004-01-21 09:57:00) [16]
> NiaSoft (20.01.04 20:53) [8]
Сделать вызов какой-то процедуры можно, даже без проблем (если знаешь ее адрес и имеешь доступ к адресному пространству процесса - а это можно сделать из специально написанной DLL), но вот работать это не всегда будет!
Представь, например, что вызываеся метод Button1Click формы которая еще не создана, и внутри этого метода происходит обращение к полям формы. И что тогда? - думаю ты меня понял.
Это можно делать в том случае, если есть возможность контролировать выполнение процесса...
> Max003
Если тебе нужно разрешить какой-то пункт меню, то покопайся в ресурсах, меню описываются там (если программист, конечно, не решил создавать его в рантайме - маловероятно).
Но на вряд ли разрешение пункта меню решит твою проблему - в Demo-версиях, обычно, все "ненужные" процедуры не вставляются в екзешник!
panov (2004-01-21 09:32:00) [17]>sniknik © (21.01.04 08:38) [9]
Я ж говорю, что программу, в которой надо это сделать, проще купить.
В демо-программах зачастую некоторые функции запрещены...
sniknik (2004-01-21 08:38:00) [18]> Это пункт меню. Его надо сначала сделать доступным (enabled=true), а потом эмитировать нажатие.
интересно что это даст, в моих прогах к примеру неактинвы те пункты на которые нельзянажимать... и не из вредности а действительно нельзя. ну к примеру две задачи работают с одними данными запускаются в потоках ... продолжать? если сделать активным то что я закрываю при их старте ни к чему хорошему это не приведет, скорее всего вылетит по AV. в лутшем случае неправильно посчитает (хотя это как раз худший случай :).
я бы мог конечно сделать по другому чтобы не вешалось при паралельном запуске, но в данном случае так удобнее задачи строго последовательны данные передавать из процесса в процесс не нужно... а на разных начинающих хакеров расчета нет... думаю и другие закрывают пункты по похожим причинам, а на хакеров всем плевать.
NiaSoft (2004-01-20 20:53:00) [19]> AKul
Да нет, даже примеры видел на каком то хакерском сайте. Правда объяснялось там весьма пространно и пример был не полным (отсутствовали некоторые процедуры, видно чтобы всякие неопытные хакеры не сделали чего нить :) )
MAxiMum (2004-01-20 20:51:00) [20]Возьми хендл от пункта меню или хотя бы всего меню.... от этого и отталкивайся...
Посмотри как работает Spy32 от Krichmar Kobi.
Удачи!