Сейчас на форуме: tyns777, zombi-vadim, zds (+4 невидимых) |
eXeL@B —› Программирование —› Получить результат выполнения функции в памяти |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 12 июля 2015 13:43 · Поправил: Uz_ · Личное сообщение · #1 Есть значит функция(она в другом процессе, вызываю ее из его памяти): Code:
Вызываю ее на Delphi вот так: Code:
Вопрос:как получить результат этой самой функции? т.е переданное число+3 и вывести его например через MessageBox |
|
Создано: 13 июля 2015 15:15 · Личное сообщение · #2 |
|
Создано: 13 июля 2015 15:43 · Личное сообщение · #3 Uz_ пишет: ShowMessage(IntToStr(Integer(code))); Code:
----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 13 июля 2015 15:59 · Личное сообщение · #4 |
|
Создано: 13 июля 2015 17:11 · Поправил: kid · Личное сообщение · #5 |
|
Создано: 13 июля 2015 18:17 · Личное сообщение · #6 |
|
Создано: 13 июля 2015 18:40 · Личное сообщение · #7 |
|
Создано: 13 июля 2015 19:03 · Личное сообщение · #8 Uz_ пишет: То я рандомные цифры привел, сейчас - 14155779 14155779 = 0xD80003 Это есть ни что иное как новая страница памяти которая была выделена командой VirtualAlloc , после к ней добавили 0х3 . Отсюда логично предположить что функция берет из стека переменную сразу , а не указатель на нее . сделайте так : Code:
|
|
Создано: 13 июля 2015 19:22 · Личное сообщение · #9 |
|
Создано: 13 июля 2015 19:32 · Личное сообщение · #10 Uz_ пишет: kid, тож самое. а так ? Code:
| Сообщение посчитали полезным: Uz_ |
|
Создано: 13 июля 2015 20:50 · Личное сообщение · #11 |
|
Создано: 13 июля 2015 20:52 · Личное сообщение · #12 |
|
Создано: 13 июля 2015 20:53 · Личное сообщение · #13 |
|
Создано: 13 июля 2015 22:20 · Личное сообщение · #14 #define STILL_ACTIVE 0x103 Сколько ещё страниц топика понадобится, чтобы прочитать мсдн и 1 единственную функу вызвать? | Сообщение посчитали полезным: SReg |
|
Создано: 13 июля 2015 23:00 · Личное сообщение · #15 |
|
Создано: 13 июля 2015 23:08 · Поправил: dosprog · Личное сообщение · #16 ----------------------------------------------- The ExitThread function ends a thread. VOID ExitThread( DWORD dwExitCode // exit code for this thread ); Parameters: dwExitCode Specifies the exit code for the calling thread. Use the GetExitCodeThread function to retrieve a thread's exit сode. ------------------------------------------------------------ The GetExitCodeThread function retrieves the termination status of the specified thread. BOOL GetExitCodeThread( HANDLE hThread, // handle to the thread LPDWORD lpExitCode // address to receive termination status ); ------------------------------------------------------------ Ветка должна завершиться так: ExitThread( CallFunc3( 1 ) ); // например, 1, или что там другое.. Тогда: GetExitCodeThread( hThread, &retcode ); retcode - будет равно (1+3) = 4. ajax пишет: phucking hosting--> Link <-- | Сообщение посчитали полезным: Uz_ |
|
Создано: 13 июля 2015 23:19 · Личное сообщение · #17 |
|
Создано: 14 июля 2015 01:02 · Поправил: ajax · Личное сообщение · #18 phucking hosting ----- От многой мудрости много скорби, и умножающий знание умножает печаль |
<< . 1 . 2 . |
eXeL@B —› Программирование —› Получить результат выполнения функции в памяти |