Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
3-50219
Vladimir S Hudyakov
2003-05-24 09:35
2003.06.16
Вывод для печати в QuickRep выборки из базы


3-50255
AGAMEMNUM
2003-05-19 13:39
2003.06.16
Как лучше вставить дату


1-50286
alik_os
2003-06-04 14:31
2003.06.16
Запись CD-R более 700 метров


1-50344
Wernut
2003-06-01 08:46
2003.06.16
Вывод информации на печать


14-50469
ZORGON
2003-05-30 11:04
2003.06.16
Site





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский