- IFA 2025: Telepcsere kikapcsolás nélkül
- Dobja a SIM foglalatot az iPhone Európában?
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Milyen okostelefont vegyek?
- IFA 2025: Nem is látszik, hogy strapatelefon
- Apple iPhone 15 Pro Max - Attack on Titan
- Samsung Galaxy A52s 5G - jó S-tehetség
- Bemutatta második generációs harmonikamobilját a Huawei
- Apple Watch
- Xiaomi 15 - kicsi telefon nagy energiával
-
Mobilarena
Ú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!
- Kedvenc zene a mai napra
- World of Tanks - MMO
- Gaming notebook topik
- Amlogic S905, S912 processzoros készülékek
- Melyik tápegységet vegyem?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Reklámblokkolók topikja
- Autós topik
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- PayPal
- További aktív témák...
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 94% Akkumulátor
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Bomba ár! Dell Latitude 7420 - i7-1185G7 I 16GB I 1TBSSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- Extra olcsó! HP 230 Vezetéknélküli USB-s Billentyűzet
- Fém, összecsukható és kihúzható fotó állvány eladó
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest