Главная страница
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.014 c
3-50240
DBDev
2003-05-26 17:18
2003.06.16
Как организовать графический эффект на базе значения в TDBGrid?


14-50497
Школьник
2003-05-28 14:55
2003.06.16
Где можно скачать MSDN, SDK и прочие справочные системы?


1-50338
vlv
2003-06-03 15:12
2003.06.16
Как вычислить разность двух TDateTime в минутах?


4-50570
sosv
2003-04-16 10:30
2003.06.16
Установка своего курсора.


9-50188
Drimmer
2003-01-03 18:36
2003.06.16
бесконечный поворот мыши