private string CreateRdpFile(Client c) { List<string> contents = new List<string>() { "screen mode id:i:2", "use multimon:i:0", "session bpp:i:16", "compression:i:1", "keyboardhook:i:2", "audiocapturemode:i:0", "videoplaybackmode:i:1", "connection type:i:4", "displayconnectionbar:i:1", "disable wallpaper:i:1", "allow font smoothing:i:0", "allow desktop composition:i:0", "disable full window drag:i:1", "disable menu anims:i:1", "disable themes:i:0", "disable cursor setting:i:0", "bitmapcachepersistenable:i:1", "audiomode:i:0", "redirectprinters:i:1", "redirectcomports:i:0", "redirectsmartcards:i:1", "redirectclipboard:i:1", "redirectposdevices:i:0", "redirectdirectx:i:1", "autoreconnection enabled:i:1", "authentication level:i:2", "prompt for credentials:i:0", "negotiate security layer:i:1", "remoteapplicationmode:i:0", "alternate shell:s:", "shell working directory:s:", "gatewayhostname:s:", "gatewayusagemethod:i:4", "gatewaycredentialssource:i:4", "gatewayprofileusagemethod:i:0", "promptcredentialonce:i:1", "use redirection server name:i:0", "drivestoredirect:s:" }; contents.Add("winposstr:s:" + WindowPosition()); contents.Add("desktopwidth:i:" + SystemParameters.VirtualScreenWidth.ToString()); contents.Add("desktopheight:i:" + SystemParameters.VirtualScreenHeight.ToString()); contents.Add("full address:s:" + FullAddress(c, c.GetUrl())); contents.Add("username:s:" + c.GetUserName()); contents.Add("password 51:b:" + RdpPassword.EncryptPassword(c.GetPassword())); string rdpFile = Path.Combine(Path.GetTempPath(), UniqueConnectionFileName(c.GetSafeTitle(), c.GetUrl())); try { File.WriteAllText(rdpFile, String.Join(Environment.NewLine, contents.ToArray())); } catch (Exception e) { System.Windows.MessageBox.Show(e.Message); throw e; } return rdpFile; }