Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

Create Proccess   Найти похожие ветки 

 
Style ©   (2003-05-30 09:11) [0]

Уважаемые мастера!
Можно ли заставить какую нибудь процедуру выполнятся в другом процессе.. Т.е. мне нужна не нить а именно процесс со своим primary Thread.
Это все через CreateProcess делается??

А вообще задача следующая..

Зделать Hook всей системы, без использования DLL
SetWindowsHookEx есть два параметра hMod, и ThreadID
Вот если ThreadID = 0 то Hook охватывает всю систему но для этого должен быть указан hMod -> DLLки в которой находится LRESULT CALLBACK функция.
т.е. я подумал завести отдельный процесс и получить от него Handle который использовать в Hookе?

Можеть я че не так думаю??


 
Юрий Зотов ©   (2003-05-30 09:17) [1]

> Это все через CreateProcess делается??

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


> Зделать Hook всей системы, без использования DLL

Не получится. Глобальность хука обеспечивается тем, что его DLL система подгружает к КАЖДОМУ процессу. Поэтому он и должен сидеть в DLL.


 
Style ©   (2003-05-30 09:28) [2]

2 Юрий Зотов>>

Нельзя :(

Ну все равно Спасибо...

А еще вопрос???
А что же такое Child process и почему я его не могу в Delphi создать??
Мож я со сруктурами чего напутал..


procedure CreateChildProc;
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;
begin

ZeroMemory( @si, sizeof(si) );
si.cb := sizeof(si);

if(not CreateProcess( nil, // No module name (use command line).
"MyChildProcess", // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.

nil, // Use parent"s environment block.
nil, // Use parent"s starting directory.
si, // Pointer to STARTUPINFO structure.
pi ) // Pointer to PROCESS_INFORMATION structure.
) then
ShowMessage( "CreateProcess failed." );

// Wait until child process exits.
WaitForSingleObject( pi.hProcess, INFINITE );

// Close process and thread handles.
CloseHandle( pi.hProcess );

CloseHandle( pi.hThread );

end;


 
Style ©   (2003-05-30 09:41) [3]

Вот еще такой пример я нашел в win32s.hlp
[Creating a Child Process with Redirected Input and Output]

Создают child Proccess и как-то присваивают ему main.



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

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-50324
Song
2003-06-03 10:23
2003.06.16
Хочу сделать архивирование по расписанию


3-50211
paxer
2003-05-26 11:31
2003.06.16
Переход с Zeos 5.0 на 6.0


14-50521
Zlo_Inside
2003-05-31 13:11
2003.06.16
Две программы в одном файле (вирус)


14-50483
Term
2003-05-28 11:42
2003.06.16
Где можно найти RxLIB для 7-й делфи, поделитесь ссылочкой :)))


1-50354
Stelius
2003-05-31 17:33
2003.06.16
Delphi + Word & Excel