Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
3-50248
Basic
2003-05-26 00:04
2003.06.16
Как закрыть External file


14-50506
Wonder
2003-05-30 12:50
2003.06.16
Чем у нас торгуют :)))


14-50478
Holy
2003-05-30 13:15
2003.06.16
Литература


1-50368
Инга
2003-06-04 02:23
2003.06.16
как реализовать цикл for..next с шагом отличным от 1?


6-50423
Reals
2003-04-10 15:30
2003.06.16
Нужно подсчитать траффик интернета в выделенке...




   Наверх