diff options
Diffstat (limited to 'ShiftOS.Engine/Tools.cs')
| -rw-r--r-- | ShiftOS.Engine/Tools.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ShiftOS.Engine/Tools.cs b/ShiftOS.Engine/Tools.cs new file mode 100644 index 0000000..eca7b59 --- /dev/null +++ b/ShiftOS.Engine/Tools.cs @@ -0,0 +1,32 @@ +using System; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Runtime.InteropServices; +using ImageMagick; + +namespace ShiftOS.Engine +{ + /// <summary> + /// Random class full of unassorted [but also uncategorizable] tools. + /// </summary> + public static class Tools + { + public static Random Rnd = new Random(); + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public extern static bool DestroyIcon(IntPtr handle); + + public static Icon ToIcon(this Bitmap bm) + { + Icon tempicon = Icon.FromHandle(bm.GetHicon()); + + Icon newIcon = tempicon.Clone() as Icon; + + //for some reason this exists + DestroyIcon(tempicon.Handle); + + return newIcon; + } + } +} |
