Jak zrobić klucz rejestru win CE żeby aplikacja automatycznie się uruchamiala
HKEY_LOCAL_MACHINE\Init) parę wartości LaunchXX/DependXX, gdzie XX = 00-99.  LaunchXX (REG_SZ) zawiera pełną ścieżkę do pliku EXE Twojej aplikacji.  DependXX (REG_MULTI_SZ) wskazuje numery procesów, które muszą wystartować przed Twoją aplikacją.  Kluczowe punkty
• Najpewniejszy mechanizm: klucz HKLM\Init
• Alternatywy: HKLM\Startup, Run, folder \Windows\Startup, Startup Manager OEM
• Uważaj na trwałość rejestru i kolejność inicjalizacji (SignalStarted)  
Architektura uruchamiania w Windows CE
• Jądro bootuje, ładuje sterowniki → parser rejestru czyta HKLM\Init.
• Wartości LaunchXX (REG_SZ) uruchamiane rosnąco.
• DependXX (REG_MULTI_SZ) to lista słów 16-bitowych odpowiadających wcześniejszym procesom, od których zależy start.
• Po uruchomieniu proces powinien wywołać SignalStarted(n), gdzie n to wartość przekazana w linii poleceń (zwykle liczba), aby odblokować kolejne zależne procesy.  
Wybór numeru XX
• Sterowniki i gwes.dll (menedżer okien) to zwykle Launch10-30.
• Powłoka (explorer.exe lub aplikacja nawigacyjna OEM) bywa Launch50-80.
• Aplikację użytkownika najbezpieczniej dodać jako Launch90-99, np. Launch99.  
Przykładowy plik .reg
REGEDIT4
[HKEY_LOCAL_MACHINE\Init]
; Uruchom moją aplikację jako ostatnią
"Launch99"="\\Storage Card\\MojaApp\\MojaApp.exe 99"
; Zależność: poczekaj na gwes (0x14) i explorer (0x32) – jeśli istnieją
"Depend99"=hex:14,00,32,00,00,00
• Zwróć uwagę na podwójne backslash’e i zakończenie listy NULL-em (00,00).
• Parametr 99 przekazany w linii poleceń to token dla SignalStarted(99).  
Import i utrwalenie
• Skopiuj plik na urządzenie → dotknij, by zaimportować.
• W wielu urządzeniach CE rejestr jest w RAM; uruchom „Save Registry”, RegFlushKey lub analogiczne narzędzie OEM, aby zapis był trwały w Flash/NAND.  
Kodowe dodanie wpisu (C/C++)
BOOL AddAutoStart()
{
HKEY hKey; 
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Init"), 0, KEY_SET_VALUE, &hKey)!=ERROR_SUCCESS)
   return FALSE;
LPCTSTR path = TEXT("\\Storage Card\\MojaApp\\MojaApp.exe 99");
RegSetValueEx(hKey, TEXT("Launch99"), 0, REG_SZ,
             (const BYTE*)path, (lstrlen(path)+1)*sizeof(TCHAR));
WORD deps[] = {0x14, 0x32, 0x00};               // gwes + explorer
RegSetValueEx(hKey, TEXT("Depend99"), 0, REG_MULTI_SZ,
             (const BYTE*)deps, sizeof(deps));
RegCloseKey(hKey);
return TRUE;
}
Alternatywne metody
• HKLM\Startup – OEM-owy mechanizm spotykany np. w Beckhoff, Toradex (łatwiejszy lecz późniejsze uruchomienie).
• HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run – wspierany w niektórych buildach CE 6/7.
• Folder \Windows\Startup ze skrótem .lnk:
25#"\Storage Card\MojaApp\MojaApp.exe"
• Startup Manager (GUI) – obecny w niektórych dystrybucjach (np. Beckhoff).  
Init.  REG_MULTI_SZ w CE to lista słów (2-bajtów), a nie ciągów, dlatego DependXX zapisujemy w formacie hex:.  Launch50 uruchamia powłokę nawigacyjną), możesz zamiast dodawać Launch99 podmienić ścieżkę w istniejącym Launch50. To jednak ryzykownie „brickuje” urządzenie w razie błędu.  Init, zrób kopię klucza HKLM\Init (CeRegEditor, reg save).  .reg w \Windows\Startup i automatycznie importuj przy każdym boot.  Run; zawsze preferuj Init lub mechanizm OEM.  SignalStarted jest wymagany tylko, gdy inne procesy deklarują na nim zależność – ale warto go wywołać dla zgodności.  Init na rejestr RunOnce lub usługę Windows.  Aby uzyskać autostart aplikacji w Windows CE: dodaj w HKLM\Init wpis LaunchXX z pełną ścieżką do programu oraz (opcjonalnie) DependXX definiujący zależności, zapisz rejestr w pamięci trwałej i zresetuj urządzenie. Mechanizm Init działa najwcześniej i najpewniej, ale wymaga ostrożności – błędny wpis może uniemożliwić start systemu. Alternatywy (Startup, Run, narzędzia OEM) są prostsze, lecz aktywują się dopiero po uruchomieniu powłoki.