İpucu

Birçok lisanslama modelinde lisanslar kullanıcı veya bilgisayar bazı verilmektedir. Tek bir bilgisayara kurulan uygulamanın remote desktop bağlantısı ile birden fazla kullanıcı tarafından kullanılması bu modelde geliştirdiğimiz bir uygulamanın lisanslama modelinin kötü niyetli kullanıcılar tarafından kolayca aşılabileceği anlamına gelmektedir. Bunu engellemek için uygulamamızda Environment.GetEnvironmentVariable("SESSIONNAME") metodunu kullanarak kullanıcının Session ismini alabiliriz. Bu değer Bilgisayarda direkt bağlı kullanıcılarda Console Remote Desktop ile bağlı kullanıcılarda ise Rdp-Tcp#XX şekinde gelecektir. Bizim uygulamamızın açılışında yazmamız gereken örnek kod ise if (Environment.GetEnvironmentVariable("SESSIONNAME").ToLower() != "console") { Application.Exit(); } şeklinde olmalıdır. Bir diğer kullanım ise SystemInformation class'ı altında bulunan TerminalServerSession propertysi ile kontrol etmektir. Örneği ise, if(SystemInformation.TerminalServerSession) { Application.Exit(); }