Files
Quasar/Client/Core/Helper/Helper.cs
T
MaxXor ceb5bc52fd Added option to remove completed file transfers
- File Manager shows more information about drives
2015-07-24 01:58:02 +02:00

73 lines
2.4 KiB
C#

using System;
using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;
namespace xClient.Core.Helper
{
public static class Helper
{
private const string CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
private static readonly Random _rnd = new Random(Environment.TickCount);
public static string GetRandomFilename(int length, string extension)
{
StringBuilder randomName = new StringBuilder(length);
for (int i = 0; i < length; i++)
randomName.Append(CHARS[_rnd.Next(CHARS.Length)]);
return string.Concat(randomName.ToString(), extension);
}
public static string GetRandomName(int length)
{
StringBuilder randomName = new StringBuilder(length);
for (int i = 0; i < length; i++)
randomName.Append(CHARS[_rnd.Next(CHARS.Length)]);
return randomName.ToString();
}
public static Bitmap GetDesktop(int screenNumber)
{
var bounds = Screen.AllScreens[screenNumber].Bounds;
var screenshot = new Bitmap(bounds.Width, bounds.Height, PixelFormat.Format32bppArgb);
using (Graphics graph = Graphics.FromImage(screenshot))
{
graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy);
return screenshot;
}
}
public static bool IsWindowsXP()
{
var osVersion = Environment.OSVersion.Version;
return osVersion.Major == 5 && osVersion.Minor >= 1;
}
public static string FormatMacAddress(string macAddress)
{
return (macAddress.Length != 12)
? "00:00:00:00:00:00"
: Regex.Replace(macAddress, "(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})", "$1:$2:$3:$4:$5:$6");
}
public static string DriveTypeName(DriveType type)
{
switch (type)
{
case DriveType.Fixed:
return "Local Disk";
case DriveType.Network:
return "Network Drive";
case DriveType.Removable:
return "Removable Drive";
default:
return type.ToString();
}
}
}
}