Форум: "Потрепаться";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c