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

Вниз

Функция из чужого процесса   Найти похожие ветки 

 
_toltec   (2003-02-17 14:48) [0]

Как вызвать функцию из чужого процесса?


 
Digitman   (2003-02-17 14:58) [1]

создай в целевом процессе свой код.поток и в нем вызывай ф-цию


 
_toltec   (2003-02-17 15:11) [2]

Sorry, наверное нетак задал вопрос. Мне нужно из чужого exe-ника


 
Anatoly Podgoretsky   (2003-02-17 15:20) [3]

Запустишь этот чужой exe-ник он и станет чужим процессом


 
_toltec   (2003-02-17 15:35) [4]

В чужой программе есть функция Func1(); stdcall; .
Мне надо из своей программы вызвать эту функция. Как мне это сделать???


 
Digitman   (2003-02-17 16:11) [5]


> В чужой программе есть функция Func1(); stdcall; .


Ее может вызвать кодовый поток


> Мне надо из своей программы вызвать эту функция


Создай в своей программе процедуру, создающую в чужом процессе доп.код.поток (см.например, CreateRemoteThread), вызови эту процедуру, и она сделает "свое черное дело" - запустит в чужом процессе код.поток, который будет вызывать Func1


 
_toltec   (2003-02-17 17:26) [6]

1. Что такое кодовый поток
2. Можно каккой-нибудь пример использования функции СreateRemoteThread


 
Digitman   (2003-02-17 17:46) [7]

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

а почитать для начала самостоятельно про Read/WriteProcessMemory() и CreateRemoteThread - не приходило в голову ?


 
_toltec   (2003-02-17 18:03) [8]

Прочел. Впринцепе все понятно кроме параметра LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function.

Как его получить?


 
Внук   (2003-02-18 10:03) [9]

:)))
Его не получить, а передать надо


 
Digitman   (2003-02-18 10:12) [10]

объяви и реализуй у себя в программе ф-цию с прототипом TThreadStartRoutine = function(lpThreadParameter: Pointer): Integer stdcall;

в теле ф-ции вызывай Func1()

адрес точки входа в нее и передавай параметром в lpStartAddress


 
_toltec   (2003-02-18 12:33) [11]

Спасибо. Вроде все понятно. Единственное такой вопрос как вызвать Func1 если она является методом какогото класс?


 
Digitman   (2003-02-18 13:56) [12]

точно так же, как и в своем процессе - зная ссылку на класс вызываешь его метод)


 
_toltec   (2003-02-18 14:09) [13]

А как получить эту ссылку в ф-ции с прототипом TThreadStartRoutine = function(lpThreadParameter: Pointer): Integer stdcall;?


 
Digitman   (2003-02-18 14:25) [14]

ты вообще о каком "чужом" приложении речь-то ведешь ? О Делфи-приложении ?) Что за блажь такая - копаться в "чужом" коде без исходников ? Объясни)))


 
gsu   (2003-02-18 14:44) [15]

читы ищет (-:|~


 
_toltec   (2003-02-18 16:37) [16]

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


 
gsu   (2003-02-18 16:42) [17]

сунь функции в dll


 
Digitman   (2003-02-18 16:59) [18]


> препод сказал чтоб сделал


препода нужно слушать внимательно)

наверняка, он (препод) не ограничил тебя никак в изобретательности и не имеет ничего против, если приложение с Func1() кроме всего прочего будет принимать и обрабатывать некое оконное сообщение (посылаемое другим приложением), обработчик которого легко и просто вызовет в текущем адр.пространстве все что угодно)


 
_toltec   (2003-02-18 18:55) [19]

В том то и дело что без сообщений.


 
Suntechnic   (2003-02-18 19:39) [20]

_toltec (18.02.03 18:55)
Под такую постановку задачи как ты написал всё что угодно подогнать можно. Чем, например, твоего препода не устроит COM outproc сервер с клиентом, который пишется за 3 мин. на Делфи?


 
_toltec   (2003-02-18 23:55) [21]

Com его неустороит.


 
Digitman   (2003-02-19 11:14) [22]

если целевое приложение построено в той же версии, что и вызывающее, и использует объект класса TApplication, то получить доступ к объекту Application через глобальный атом


 
_toltec   (2003-02-19 14:18) [23]

Можно мне тупому примерчик, пожалуйста.


 
Digitman   (2003-02-19 14:23) [24]

Нельзя)... примерчик перед тобой - модуль controls


 
_toltec   (2003-02-19 14:55) [25]

Это типа функция FindControl ???


 
Digitman   (2003-02-19 15:24) [26]

да, копай отсюда


 
_toltec   (2003-02-19 17:16) [27]

Спасибо.


 
Meshalo   (2003-02-21 10:09) [28]

Удалено модератором
Примечание: Заблудился?


 
Digitman   (2003-02-21 10:13) [29]


> Meshalo



> Но подразумевалось всего лишь вызов процедуры через DLL


"Через") Что значит "через" ?! ... Чушь несусветная !



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

Форум: "WinAPI";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.016 c
3-67119
Вит
2003-04-02 17:45
2003.04.21
Delphi+Query+Fox


14-67455
TAN_K
2003-04-03 13:51
2003.04.21
DELPFI 6


6-67418
OutSidEr
2003-02-13 09:32
2003.04.21
Broadcasting


1-67278
Serj
2003-04-11 15:27
2003.04.21
ComboBox


1-67196
Анатлоий
2003-04-08 16:59
2003.04.21
Как скрыть иконку в систем трее?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский