Форум: "WinAPI";
Текущий архив: 2018.04.22;
Скачать: [xml.tar.bz2];
ВнизЗапуск процесса Найти похожие ветки
← →
Morgan128 (2010-10-27 16:28) [0]Задача: Запустить программу, задав размер и расположение окна.
Запускаю с использованием инишника и CreateProcess.
Ini имеет следующие поля:
[Path]
Path=C:\WINDOWS\EXPLORER.EXE
[DW]
x=100
y=100
xs=100
ys=10
Делаю следующее:with StartUpInfo do
begin
cb := SizeOf(TStartUpInfo);
dwX:=strtoint(INI.ReadString("DW","x",x));
dwY:=strtoint(INI.ReadString("DW","y",y));
dwXSize:=strtoint(INI.ReadString("DW","xs",xs));
dwYSize:=strtoint(INI.ReadString("DW","ys",ys));
dwFlags := STARTF_USESIZE or STARTF_USEPOSITION;
end;
И запускаю процесс:CreateProcess(PChar(P),nil, nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,StartUpInfo, ProcessInfo);
Данные считываются нормально, но! Окно открывается своего произвольного размера, и в том месте, где я его последний раз закрыл.
Подскажите, плиз, что у меня не так?
← →
Игорь Шевченко © (2010-10-28 15:27) [1]процесс может игнорировать позицию при запуске
← →
CrytoGen (2010-10-28 22:31) [2]После запуска получите handle окна и измените его позицию
← →
Morgan128 (2010-11-01 10:10) [3]2 Игорь Шевченко & CrytoGen
Можно ли запустить программу так, чтобы она сразу запускалась в заданном формате, без игнорирования размеров и положения, и без последующего перехвата процесса и его доработки?
← →
Игорь Шевченко © (2010-11-01 10:42) [4]Morgan128 (01.11.10 10:10) [3]
В общем случае нельзя
← →
Morgan128 (2010-11-01 11:02) [5]Ок, сделал как советовал CrytoGen. Работает. Спасибо.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2018.04.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c