PDA

Prikaži potpunu verziju : PomoĆ Za My Little-toolbox (c#)


bozabaksuz
27.3.2007, 13:47
Pozdrav svima na forumu. Ja evo već se godinu dana igram ozbiljnog programiranja i imam par problemčića. Naslov programa je u titlu, kasnije ga možda i postujem negde za one zainteresovane da ga koriste... Naime u pitanju je program koji prikuplja recimo (prvi deo programa) imena svih fajlova u jednom folderu i zapisuje ih ili u text fajl ili u html (u tabelu), što je kao malo lepše jer je preglednije ... idealno za one koji imaju gomile serija na diskovima i žele da napišu spisak epizoda bez da se muče.... može i za nešto drugo :D .... Ili multi rename .....(drugi deo programa).... Znači za ispisivanje lista. Interesuju me sledeće stvari :icon_scra :icon_stud

Problem #1
interesuje me kako da dodjem do veličine pojedinačnih fajlova
koristim foreach petlju


Problem #2
Jedan od delova programa bi trebao da exportuje listu (u txt ili html) instaliranih programa pa me interesuje kako da povežem C# sa (takođe pomoću foreach petlje) registry bazom iz vindowsa i gde da nađem UNinstall listu? Jel ovo prava lokacija
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall]

Hvala unapred i pozdrav svima :D

Deimos
27.3.2007, 16:54
Problem #1
interesuje me kako da dodjem do veličine pojedinačnih fajlova
koristim foreach petlju

Na početku fajla dodaš
using System.IO;

Sledeći kod ti ispisuje u konzoli dužine fajlova (u bajtovima) koji se nalaze u direktorijumu path (u ovom slučaju "C:\")


string path = @"c:\";
DirectoryInfo dirInfo = new DirectoryInfo(path);

foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
Console.WriteLine(fileInfo.Length);
}


Nadam se da će ti ovo pomoći.

voodoo_
27.3.2007, 17:11
Problem 2:

using Microsoft.Win32;

...

RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstal l");
if (reg == null)
{
Console.WriteLine(@"Unable to access registry.");
return;
}
String[] s1 = reg.GetSubKeyNames();
reg.Close();

foreach (String s in s1)
{
reg = Registry.LocalMachine.OpenSubKey(String.Concat(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstal l\", s));
try
{
Console.WriteLine(reg.GetValue(@"DisplayName").ToString());
}
catch (NullReferenceException ex) { }
reg.Close();
}



Exception se hvata zato što neki ključevi (najčešće deinstaliranih programa) ne sadrže DisplayName vrednost, pa da program ne bi pucao bezveze...