Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2009, 16:58   #1
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
Восклицание Работа с CreateProcess

Код:
procedure TForm1.Button1Click(Sender: TObject);
var si: TSTARTUPINFO;
    pi: TPROCESSINFORMATION;   
   
begin
 fillchar(si,sizeof(si),#0);
 si.cb:=sizeof(si); 
 if createprocessa(nil,pchar(edit1.Text),nil,nil,false,0,nil,nil,si,pi)  then                   
begin
 piArr[ipi].Fmp:=pi;  // мой тип для хранения возвращенных параметров 
 inc(ipi);            // счетчик

end;  
end;
Вопрос заключается в следущем:
Как полноценно использовать эту функцию?

вроде как и работает неплохо (Однако то же делают WinExec и ShellExecute при том код попроще будет))

Мне же, надо при запуске отловить оконные параметры (дескриптор там... например) чтоб
потом управлять окнами приложений... или , хот бы, просто знать, что они существуют.

Но этот TPROCESSINFORMATION возвращает мне аж четыре параметра, но что это? не хедл точно
Велкам! :D http://radiomedtech.ucoz.ru

Последний раз редактировалось rpy3uH; 18.10.2009 в 17:35.
100GRamm вне форума Ответить с цитированием
Старый 18.10.2009, 18:30   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

CreateProcess - создает новый процесс и его первичный поток: можно установить начальный приоритет первого потока процесса, выставить положение и размер окна приложения, дождаться завершения процесса, завершить процесс/

CreateProcess
(lpApplicationName: PChar, // имя исполняемого модуля
lpCommandLine: PChar, // строка параметров запускаемой программы
lpProcessAttributes: TSecurityAttributes, // структура SECURITY_ATTRIBUTES процесса
lpThreadAttributes: TSecurityAttributes, // структура SECURITY_ATTRIBUTES потока
bInheritHandles: LongBool, // флаг наследования текущего процесса
dwCreationFlags: Longword, // флаги способов создания процесса
lpEnvironment: Pointer, // указатель на блок среды
lpCurrentDirectory: PChar, // текущий диск и каталог
lpStartupInfo:TStartupInfo, // структура STARTUPINFO
lpProcessInformation: TProcessInformation // структура PROCESS_INFORMATION
): LongBool;

читайте- help
...например используя параметр pi, вы можете подождать пока запустится
Код:
Waitforsingleobject(pi.hProcess,2000);
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 18.10.2009, 18:39   #3
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
По умолчанию

Хм... емко) , но значит с ним вместе нельзя использовать функции типа FindWindow или Showwindow? Там нужен дескриптор (HWND)

Беда в том что и нет то вовсе хелпа никакого ... может подскажите где взять? ..Понятно, я просто не врубился зачем эта беда нужна - ПРОЦЕСС. Жал, но значит не там ищу , походу((
Велкам! :D http://radiomedtech.ucoz.ru

Последний раз редактировалось rpy3uH; 18.10.2009 в 18:54.
100GRamm вне форума Ответить с цитированием
Старый 18.10.2009, 18:55   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

ну вот навскидку
http://www.delphirus.com/article32.html
http://www.dotnet247.com/247referenc...29/147615.aspx
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 18.10.2009, 19:04   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от 100GRamm Посмотреть сообщение
Беда в том что и нет то вовсе хелпа никакого ...
Хелп есть! MSDN http://msdn.microsoft.com/en-us/libr...25(VS.85).aspx

Цитата:
Сообщение от 100GRamm Посмотреть сообщение
Мне же, надо при запуске отловить оконные параметры (дескриптор там... например) чтоб
потом управлять окнами приложений... или , хот бы, просто знать, что они существуют.
Функция GetWindowThreadProcessId тебе в помощь
rpy3uH вне форума Ответить с цитированием
Старый 18.10.2009, 19:26   #6
100GRamm
ХРЕНЕЮ с ИНДИ
Пользователь
 
Аватар для 100GRamm
 
Регистрация: 08.02.2009
Сообщений: 92
По умолчанию

Во! классно! оказалось все проще простого! Я просто использовал TerminateProcess, там как раз используется hProcess мне этого вполне достаточно!, но надо еще че нить порыть..... ВСЕМ ОГРМНОЕ СПАСИБО!
Велкам! :D http://radiomedtech.ucoz.ru
100GRamm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CreateProcess() damned20 Win Api 1 18.09.2009 18:38
Работа с CreateProcess() в C++ (Microsoft Visual C++) damned20 Visual C++ 19 12.08.2009 12:52
CreateProcess, С++ MaTBeu Win Api 5 06.10.2008 22:56
CreateProcess() параметры Diman4ik Помощь студентам 8 30.01.2008 03:11
CreateProcess (Delphi 7) Alex.rus Помощь студентам 1 06.12.2007 20:12