-
Fototrend

Új hozzászólás Aktív témák
-
Hali!
A kódrészletek Delphi-ben írodtak, de maga a probléma programozási nyelvtől független, szóval bármely topik jó lett volna, erre esett a választásom.
Saját WinPE-t hegesztek, ahol egy amolyan Shell-t írok (sima VCL app), aminek az az egyszerű feladata, hogy adott programokat indítson el/futtasson 1 példányban és várja meg amíg bezárják/kilépnek belőle. Kézenfekvő megoldás a WaitForSingleObject, ami teszi is a dolgát, viszont egy furcsa "mellékhatás" jelentkezett, amikor a futtatott app ablakot mozgatom egérrel és leteszem kicsibe (minimize).
Ez lenne a normális, de ehelyett a parent Form-on ott marad az app felülete...Néhány támpont:
# csak WinPE ISO-ról boot-olva (nem virtuális gépen) jön elő, Windows alatt nem
# CreateProcess és ShellExecuteEx esetén is
# sima (nem felügyelt) futtatásnál WinPE ISO boot és Windows alatt sincs gond (csak ekkor ugye nem tudom, mikor lép ki a progi)sima futtatás
ShellExecute(Handle, 'open','X:\Program Files\DiskGenius.exe', nil, nil, SW_SHOWNORMAL) ;CreateProcess
ZeroMemory(@MyStartupInfo, SizeOf(MyStartupInfo));
ZeroMemory(@MyProcessInfo, SizeOf(TProcessInformation));
MyStartupInfo.cb := SizeOf(TStartupInfo);
MyStartupInfo.wShowWindow := SW_SHOWNORMAL;
CreateOK := CreateProcess(PChar('X:\Program Files\DiskGenius.exe'),
nil,
nil,
nil,
False,
CREATE_NEW_PROCESS_GROUP+NORMAL_PRIORITY_CLASS,
nil,
nil,
MyStartupInfo,
MyProcessInfo
);
if CreateOK then
begin
WaitForSingleObject(MyProcessInfo.hProcess,INFINITE);
ShowMessage('Kilépett a program');
end
else ShowMessage('Gebasz van!');
CloseHandle(MyProcessInfo.hProcess);
CloseHandle(MyProcessInfo.hThread);ShellExecuteEx
ZeroMemory(@MyExecuteInfo, SizeOf(MyExecuteInfo));
with MyExecuteInfo do
begin
cbSize := SizeOf(MyExecuteInfo);
fMask := SEE_MASK_NOCLOSEPROCESS;
lpFile := PChar('X:\Program Files\DiskGenius.exe');
lpVerb:='Open';
nShow := SW_SHOWNORMAL;
end;
CreateOK:=ShellExecuteEx(@MyExecuteInfo);
if CreateOK then begin
WaitForSingleObject(MyExecuteInfo.hProcess, INFINITE);
ShowMessage('Kilépett a program');
end
else ShowMessage('Gebasz van!');Szóval: Ötlet? (meg tudom oldani másképp a dolgot, azon ne agyaljatok, csak érdekelne, hogy mi ennek a matyózásnak az oka...)
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- GEN5!!! 14/12GB/s 1TB Gen5x4 NVMe SSD, 1 év gar
- 192 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5060 (ELKELT)
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Több darab! MacBook Pro 14" M1 16GB RAM 27%-os áfás számla (218)
- IKEA Format lámpák eladóak (Egyben kedvezménnyel vihető!)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


