mstsc és tsclient

Ha az ember a windows beépített terminál szerverét használja (msts) akkor módja van arra, hogy a kapcsolódó gép fájlrendszerét elérje a bejelentkezés ideje alatt, ha ezt engedélyezi. Ezen elérés látszik explorer alatt, ellenben total commander alatt nem.
Ahhoz, hogy ezt a meghajtót el tudjuk érni, nem kell mást tennünk mint beírni ezt a parancsot total commanderbe:

cd \\tsclient

És már látszanak is a kliens oldali megosztot meghajtók ügyesen.

Alkalmazás kimenete log fájlba

Aki sokat használ konzolos alkalmazásokat, gyakran beleütközhet abba, hogy szüksége van az alkalmazás outputjára egy fájlban. Ez elég egyszerű feladat, és az alábbi módon lehet megoldani:
test.exe > out.log

Ha nem csak a sima kimenetet szeretnénk látni a fájlban, hanem a hibacsatornára kerülő dolgokat is, az alábbit kell tennünk:
test.exe 2>&1 > out.log

Egy picit elegánsabb megoldás, ha a kimenetet kiírjuk fájlba, ugyanakkor kiírjuk a képernyőre is:
test.exe 2>&1 | tee out.log

A log fájlok nézegetésére egy jó megoldás a less utasítás. Amennyiben úgy szeretnénk nézni a napló fájlt, hogy az új bejegyzéseket is azonnal lássuk, azt az alábbi módon tehetjük meg egyszerűen:
less +M out.log

WinDirStat

Régen egy barátomnál láttam egy programot, ami megmutatta, hogy a merevlemezen mi mennyit helyet is foglal. Égre-földre kerestem az alkalmazást annak idején. Most teljesen véletlenül találtam rá, érdemes vetni rá egy pillantást, mindenkinek aki szereti.
WinDirStat

Windows Service

Mai kis írásom a windows szolgáltatásokról fog szólni, mégpedig a .Net és a Windows Services kapcsolatáról. Mint tudjuk lehet .Netben szolgáltatást csinálni, nem nagy trükk.
Amit nem reklámoznak, hogy lehet olyan szolgáltatást is csinálni, ami ha szolgáltatás módban indul az alkalmazás akkor szolgáltatás módban indul el, ha pedig csak úgy elindítják akkor normális windows gui alkalmazásként. Ez hasznos lehet pl. ha fejlesztünk és normális teszt környezetet szeretnénk kialakítani, vagy logot, vagy bármi mást.
Ezt az alábbi módon tudjuk megvalósítani:

static void Main()
{
if (System.Environment.UserInteractive)
{
System.Windows.Forms.Application.Run(new Form1());
}
else
{
ServiceBase[] ServicesToRun = new ServiceBase[] { new Service1() };
ServiceBase.Run(ServicesToRun);
}

}

Ahol Service1 a szolgáltatás osztály, és Form1 a windows formunk.
Természetesen a szolgáltatás nem indul el magától ha a formot indítjuk el, de a szolgáltatás elindítása triviális:
Service1 service=new Service1();
service.OnStart(null);