Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikaz trenutno aktivnih aplikacija ?

[es] :: .NET :: Prikaz trenutno aktivnih aplikacija ?

[ Pregleda: 3316 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vertyg01
Banjaluka

Član broj: 39881
Poruke: 41
*.dialup.blic.net.

ICQ: 35878878


Profil

icon Prikaz trenutno aktivnih aplikacija ?13.09.2005. u 13:41 - pre 226 meseci
Zanima me kako da prikazem trenutno aktivne prozore (aplikacije) i da se kao u task manageru mogu prebacivati izmedju aplikacija (switch to) ?
 
Odgovor na temu

makaze
Bosna i Hercegovina

Član broj: 9441
Poruke: 17
*.tpgi.com.au.



Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?14.09.2005. u 15:00 - pre 226 meseci
informacije o trenutno pokrenutim procesima možeš dobiti vrlo lako. VS.NET olakšava posao oko toga...
evo ti primjer (VB kod):

Code:
Dim p As Process
Dim outData As String

For Each p In Process.GetProcesses()
     outData = ""
     outData = outData & p.Id & vbTab
     outData = outData & p.ProcessName & vbTab
     outData = outData & p.Threads.Count & vbTab
     outData = outData & p.BasePriority & vbTab
     outData = outData & p.TotalProcessorTime.ToString() & vbTab
     outData = outData & p.UserProcessorTime.ToString() & vbTab
  
   Console.Write(outData & vbNewLine)
Next p


ovo je samo brza demonstracija kako možeš izlistati info o procesima. potraži malo na netu i mislim da ćeš naći primjer kako da odradiš 'switch to' kod, pokupiš i prikazuješ ikone i ostale sitnice...

woah!
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?14.09.2005. u 15:35 - pre 226 meseci
Malo bolja varijanta. Stedi resurse, brze radi i perciznija je.

Code:
Dim p As Process
Dim Procs() AsProcess
Dim outData As String

Procs = Process.GetProcesses()
For Each p In Procs
     outData = ""
     outData = outData & p.Id & vbTab
     outData = outData & p.ProcessName & vbTab
     outData = outData & p.Threads.Count & vbTab
     outData = outData & p.BasePriority & vbTab
     outData = outData & p.TotalProcessorTime.ToString() & vbTab
     outData = outData & p.UserProcessorTime.ToString() & vbTab
  
   Console.Write(outData & vbNewLine)
Next p

 
Odgovor na temu

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
212.62.55.*



Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?15.09.2005. u 00:25 - pre 226 meseci
Citat:
Shadowed: Malo bolja varijanta. Stedi resurse, brze radi i perciznija je.


Stvarno ne vidim razliku izmedju navedenih primera, osim eksplicitnog deklarisanja promenljive za niz procesa (koja se inace implicitno generise ukoliko se koristi kao u prvom primeru). A ako cemo vec o resursima - da li znate koliko se novih stringova kreiralo u ovim vasim primerima? Ja sam izbrojao 20 u svakoj iteraciji, mozda gresim - neka me neko ispravi... Razmislite malo o tome...

[Ovu poruku je menjao havramm dana 15.09.2005. u 01:30 GMT+1]
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.bstelecom.ba.

ICQ: 238530669


Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?15.09.2005. u 08:38 - pre 226 meseci
Da 20, sta preoprucujes,
StringBuilder?
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12850



+4784 Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?15.09.2005. u 09:58 - pre 226 meseci
Zar se nece Process.GetProcesses() izvrziti svaki put na kraju petlje kada se proverava da li je p stigao do kraja? Zbog toga sam i naveo onaj drugi primer jer ce se tada izvrsiti samo jednom. Mada moguce je da "ispod haube" prvi primer radi isto sto sam ja uradio u drugom.
Sto se stringova tice, u pravu si ali sam ja hteo da ukazem na onaj prvi deo pa sam ostalo ostavio isto.
 
Odgovor na temu

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
212.62.55.*



Profil

icon Re: Prikaz trenutno aktivnih aplikacija ?15.09.2005. u 11:51 - pre 226 meseci
Code:
static void Main(string[] args)
{
    foreach (Process p in Process.GetProcesses())
    {
        Console.WriteLine(p.ProcessName);
    }
}


se prevodi u
Code:
locals init ([0] class [System]System.Diagnostics.Process p,
           [1] class [System]System.Diagnostics.Process[] CS$00000007$00000000,
           [2] int32 CS$00000008$00000001)
  IL_0000:  call       class [System]System.Diagnostics.Process[] [System]System.Diagnostics.Process::GetProcesses() // Poziva se samo jednom
  IL_0005:  stloc.1 // i smesta u CS$00000007$00000000
  IL_0006:  ldc.i4.0
  IL_0007:  stloc.2 // kreira novu promenljivu (CS$00000008$00000001) koju ce da koristi za inkrementiranje
  IL_0008:  br.s       IL_001d // bezuslovno ide na IL_001d - pocetak petlje
  IL_000a:  ldloc.1
  IL_000b:  ldloc.2
  IL_000c:  ldelem.ref // uzima referencu i-tog elementa u nizu procesa
  IL_000d:  stloc.0 // i smesta u p
  IL_000e:  ldloc.0
  IL_000f:  callvirt   instance string [System]System.Diagnostics.Process::get_ProcessName()
  IL_0014:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_0019:  ldloc.2
  IL_001a:  ldc.i4.1
  IL_001b:  add // inkrementira CS$00000008$00000001
  IL_001c:  stloc.2
  IL_001d:  ldloc.2
  IL_001e:  ldloc.1
  IL_001f:  ldlen
  IL_0020:  conv.i4
  IL_0021:  blt.s      IL_000a // poredi CS$00000008$00000001 sa duzinom niza - ukoliko je manje ide na IL_000a
  IL_0023:  ret

Tako da se Process.GetProcesses() izvrsava samo jednom posto se interno sve odvija na neki nacin kao for petlja, tj. - for (int i = 0; i < Process.GetProcesses().Length; i++)...

Pozdrav!
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

[es] :: .NET :: Prikaz trenutno aktivnih aplikacija ?

[ Pregleda: 3316 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.