Muj Webik MFF Windows - poznámky 8.3.2004
  
Hlavní strana   |      |   Rodina   |   Programování a tvorba   |   Galerie, fotografie, fotomontáže   |   MFF   |   Gympl   |   Vtipy   |   Odkazy   |   Files   |   O webu

 
Windows - poznámky 8.3.2004
Stránka vytvořena: 8. březen 2004 (17:30:58)   |   Poslední změna: 3. květen 2004 (18:52:39)   |   Stránku připravil: Matouš
 
 
Na Obsah   Objekt pro komunikaci s managementem

cmvi - najít si to v helpu
 
 
Na Obsah   Procesy

Spuštění nového procesu

UINT WinExec(CommandLine, uCmdShow) - spustí prostě nový program, parametr CmdShow značí, zda je program/proces videt

BOOL CreateProcess (

  • ImageName
  • CommandLine
  • Environment - řetězec systémových proměnných, které by měly být platné pro právě spuštěnej proces - ziskat string za pomoci funkce GetEnvironmentString a provádět v něm pouze minimální změny
  • StartupInfo - obrovska struktura s hromadou blbosti, nastaveni velikosti okna atd.
  • ProcInfo - důležité informace o procesu

)

CreateProcessAsUser - spustí proces pod jiným účtem ... je třeba ale zadat login a heslo daného účtu

ShellExecute / ShellExecuteEx- použiju chci-li spustit soubor, shell se koukne do registru a podle přípony spustí příslušný program

Ukončení procesu

GetExitCodeProcess - "přirozená smrt"

ExitProcess - sebevrazda -  skok na konec Winmain ... můžou se přeskočit nějaké uvolňování paměti

TerminateProcess - zabije proces, na ktery mame handle. Zabiji se tak procesy, ktere neodpovidaji

 
 
Na Obsah   Podprocesy a Vlákna

Vlákna  (Thread) - sdílejí paměťový adresový prostor

CreateThread - Spustí určitou funkci programu paralelně. Je na uživateli, aby si ochranil sdílenou paměť. Toto vlákno skončí s koncem funkce. Vlákno lze zabít i zvenčí podobnými funkcemi jako v případě procesu.

  • LPTHREAD_START_ROUTINE lpStartAddress,     // pointer to thread function musi byt ve tvaru DWORD WINAPI nazev_fce
  • Priority - 32 hodnot
    • 16 horních hodnot označeno realtime :-)
    • Větší číslo znamená větší šanci na procesor
    • 0 je vyhrazená pro vlákno provádějící ZeroPage (kvůli bezpečnosti)
    • pro každou hodnotu je pak fronta s danou prioritou a vyprazdňují se odzhora
    • Priority jsou měnit pouze o pár jednotek, ale jinak jsou statická. Proto lze několika realtime procesy zablokovat počítač.
    • Klikne-li uživatel na okýnko, musí aplikace víc počítat, kreslit atd. na to dostane více času tím, že se jí zvedne priorita. Čas se přiděluje po kvantech - definovaných v registrech a v předem daných intervalech - tick. Hodnota by měla bých násobkem 3, ale raději by se to vůbec nemělo měnit.

GetPriorityClass, SetPriorityClass - pro procesy nastaví třídu priorit

GetThreadPriority, SetThreadPriority - pro thready nastavi třídu priorit 

 
 
u2b project, stránka spravována systémem MyOIS, webmaster Matouš "Mavo" Voldřich  
Vyhledávání
Mapa Serveru
Tiskni stránku
  
Prohledej Fotografie (3158 položek)
Prohledej Dokumenty (10 položek)
Prohledej Odkazy (62 položek)
Prohledej Události (59 položek)
Prohledej Adresy (1 položek)