Autor Téma: "Kiosková" aplikace - problém se SignalStarted  (Přečteno 726 krát)

khitomer

  • Host
"Kiosková" aplikace - problém se SignalStarted
« kdy: 03-03-2022, 12:25:18 »
Dobrý den,

pokouším se v Delphi 7 "uplácat" tzv. "kioskovou" aplikaci pro Windows 11. Tzn., že nespouštím explorer.exe, ale volám vlastní věc. To řeším tak (ne pro systém jako celek, ale pro konkrétního uživatele), že do HKEY_USERS\%UserName%\Software\Microsoft\Windows NT\CurrentVersion\Winlogon doplním hodnotu Shell a nastavím ji na aplikaci, kterou chci spustit. V důsledku tedy, pokud se přihlásím jako administrátor, mám normální Windows 11, pokud se přihlásím jako (daný) uživatel, tak mám "kiosek" místo exploreru.exe (žádná plocha, ikonky atd.).

Problém je v tom, že z této "kioskové" aplikace potřebuji spustit rasdial pro připojení VPN.

Když Microsoft spouští GUI exploreru, tak ještě na pozadí startuje spousta věcí, aby to vypadalo rychleji. Pokud explorer.exe nahradím vlastní aplikací, pak se mi start systému zastaví na této mé aplikaci a načítání systému nepokračuje. Vygooglil jsem, že je to proto, že má aplikace musí odeslat systému informaci o tom, že už nastartovala, a pokud tak neučiní, tak to na ní stojí a zbytek systému se nenačte. Jedná se o volání SignalStarted - viz článek:

https://stackoverflow.com/questions/4620528/does-rasdial-work-in-kiosk-mode-explorer-not-started

Bohužel autor to nepopsal konkrétněji. Strejda Google mi na vyhledávání "Delphi SignalStarted" taky nenajde vůbec nic, tak to zkouším tady.

Navíc nejsem žádný programátor (poslední dva roky jsem na to ani nešáhl) a k Delphi se uchyluji, když potřebuji udělat něco, na co jsem nenašel jiné přijatelné řešení - viz tento případ.

Pokud by mi chtěl někdo pomoci, tak bych potřeboval na rovinu řečeno, kus funkční kódu použitelného v těch sedmičkových Delphi, který bych jen patřičně umístil do aplikace, nejlíp i s odkazem na potřebné unity. Mám obavu, že odpověď "se koukni na API" by mě úplně nezachránila. To bych sem nepsal...

Kdyby se někdo odhodlal - myslíte, že by to šlo na e-mail khitomer@email.cz?

Předem moc děkuji

S úctou

Khitomer


« Poslední změna: 03-03-2022, 12:38:41 od khitomer »