Winify – Diff between revs 30 and 38
?pathlinks?
Rev 30 | Rev 38 | |||
---|---|---|---|---|
Line 15... | Line 15... | |||
15 | { |
15 | { |
|
16 | #region Public Methods |
16 | #region Public Methods |
|
Line 17... | Line 17... | |||
17 | |
17 | |
|
18 | public static bool LaunchOnBootSet(bool enable) |
18 | public static bool LaunchOnBootSet(bool enable) |
|
19 | { |
19 | { |
|
20 | using var key = Registry.CurrentUser.OpenSubKey |
20 | using (var key = Registry.CurrentUser.OpenSubKey |
|
- | 21 | ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) |
||
- | 22 | { |
||
Line 21... | Line 23... | |||
21 | ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); |
23 | if (key == null) return false; |
|
- | 24 | |
||
- | 25 | switch (enable) |
||
- | 26 | { |
||
- | 27 | case true: |
||
- | 28 | key.SetValue(Constants.AssemblyName, Assembly.GetEntryAssembly().Location); |
||
- | 29 | break; |
||
- | 30 | default: |
||
- | 31 | key.DeleteValue(Constants.AssemblyName, false); |
||
Line 22... | Line -... | |||
22 | |
- | ||
23 | if (key == null) return false; |
- | ||
24 | |
32 | break; |
|
25 | switch (enable) |
- | ||
26 | { |
- | ||
27 | case true: |
- | ||
28 | key.SetValue(Constants.AssemblyName, Assembly.GetEntryAssembly().Location); |
- | ||
29 | break; |
- | ||
30 | default: |
33 | } |
|
31 | key.DeleteValue(Constants.AssemblyName, false); |
- | ||
32 | break; |
- | ||
33 | } |
34 | |
|
Line 34... | Line 35... | |||
34 | |
35 | return true; |
|
35 | return true; |
36 | } |
|
36 | } |
37 | } |
|
37 | |
38 | |
|
38 | public static bool LaunchOnBootGet() |
39 | public static bool LaunchOnBootGet() |
|
39 | { |
40 | { |
|
- | 41 | using (var key = Registry.CurrentUser.OpenSubKey |
||
40 | using var key = Registry.CurrentUser.OpenSubKey |
42 | ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) |
|
Line 41... | Line 43... | |||
41 | ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); |
43 | { |
|
42 | |
44 | return key?.GetValue(Constants.AssemblyName) != null; |
|
43 | return key?.GetValue(Constants.AssemblyName) != null; |
45 | } |
|
Line 62... | Line 64... | |||
62 | } |
64 | } |
|
Line 63... | Line 65... | |||
63 | |
65 | |
|
64 | public static async Task<Icon> CreateIconFromResource(string resource) |
66 | public static async Task<Icon> CreateIconFromResource(string resource) |
|
65 | { |
67 | { |
|
66 | var iconBytes = await LoadResource(resource); |
68 | var iconBytes = await LoadResource(resource); |
|
- | 69 | using (var iconMemoryStream = new MemoryStream(iconBytes)) |
||
67 | using var iconMemoryStream = new MemoryStream(iconBytes); |
70 | { |
|
68 | var bitmap = (Bitmap)Image.FromStream(iconMemoryStream); |
71 | var bitmap = (Bitmap)Image.FromStream(iconMemoryStream); |
|
69 | var bitmapIntPtr = bitmap.GetHicon(); |
72 | var bitmapIntPtr = bitmap.GetHicon(); |
|
70 | var icon = Icon.FromHandle(bitmapIntPtr); |
73 | var icon = Icon.FromHandle(bitmapIntPtr); |
|
- | 74 | return icon; |
||
71 | return icon; |
75 | } |
|
Line 72... | Line 76... | |||
72 | } |
76 | } |
|
73 | |
77 | |
|
74 | public static async Task<byte[]> LoadResource(string resource) |
78 | public static async Task<byte[]> LoadResource(string resource) |
|
Line 75... | Line 79... | |||
75 | { |
79 | { |
|
76 | var assembly = Assembly.GetExecutingAssembly(); |
80 | var assembly = Assembly.GetExecutingAssembly(); |
|
77 | |
81 | |
|
Line 78... | Line 82... | |||
78 | using var manifestResourceStream = assembly.GetManifestResourceStream(resource); |
82 | using (var manifestResourceStream = assembly.GetManifestResourceStream(resource)) |
|
Line 79... | Line 83... | |||
79 | |
83 | { |
|
Line 80... | Line 84... | |||
80 | if (manifestResourceStream == null) return null; |
84 | if (manifestResourceStream == null) return null; |
|
Line 81... | Line 85... | |||
81 | |
85 | |
|
- | 86 | var memoryStream = new MemoryStream(); |
||
82 | var memoryStream = new MemoryStream(); |
87 | |
|
Line 83... | Line 88... | |||
83 | |
88 | await manifestResourceStream.CopyToAsync(memoryStream); |
|
84 | await manifestResourceStream.CopyToAsync(memoryStream); |
89 | |
|
85 | |
90 | memoryStream.Position = 0L; |