callback, bool isManualCheck)
29 | {
30 | WebClient client = new WebClient();
31 | client.Headers.Add(HttpRequestHeader.UserAgent, UserAgent);
32 | ServicePointManager.Expect100Continue = true;
33 | ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
34 | try
35 | {
36 | string data = await client.DownloadStringTaskAsync(URLs.VersionCheck + (DarkModeProvider.IsDark ? "&dark=true" : ""));
37 | callback(data);
38 | }
39 | catch (Exception e)
40 | {
41 | if (isManualCheck)
42 | MessageBox.Show("An error occured while searching for updates:\r\n" + e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
43 | }
44 | client.Dispose();
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/Versions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace CapsLockIndicatorV3
4 | {
5 | public class Versions
6 | {
7 | public static readonly Version SettingsToTabs = new Version(3, 13, 0, 0);
8 |
9 | public static bool IsWindows11 => Environment.OSVersion.Version.Major >= 10 && Environment.OSVersion.Version.Build >= 22000;
10 | }
11 | }
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/ViewOnlyRichTextBox.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 |
8 | namespace CapsLockIndicatorV3
9 | {
10 | public class ViewOnlyRichTextBox : RichTextBox
11 | {
12 | // constants for the message sending
13 | const int WM_SETFOCUS = 0x0007;
14 | const int WM_KILLFOCUS = 0x0008;
15 | const int WM_SETCURSOR = 0x0020;
16 |
17 | protected override void WndProc(ref Message m)
18 | {
19 | if (m.Msg == WM_SETFOCUS) m.Msg = WM_KILLFOCUS;
20 | if (m.Msg == WM_SETCURSOR) return;
21 |
22 | base.WndProc(ref m);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | True
15 |
16 |
17 | True
18 |
19 |
20 | True
21 |
22 |
23 | True
24 |
25 |
26 | True
27 |
28 |
29 | True
30 |
31 |
32 | False
33 |
34 |
35 | False
36 |
37 |
38 | False
39 |
40 |
41 | 500
42 |
43 |
44 | 66, 66, 66
45 |
46 |
47 | White
48 |
49 |
50 | 77, 180, 52
51 |
52 |
53 | 3.11.1.1
54 |
55 |
56 | False
57 |
58 |
59 | Segoe UI, 12pt
60 |
61 |
62 | 66, 66, 66
63 |
64 |
65 | White
66 |
67 |
68 | 180, 52, 77
69 |
70 |
71 | True
72 |
73 |
74 | -1
75 |
76 |
77 | BottomRight
78 |
79 |
80 | 100
81 |
82 |
83 | True
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
52 |
53 |
54 | true
55 |
56 |
57 |
58 |
59 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/bin/Release/pack-lang-files.ps1:
--------------------------------------------------------------------------------
1 | Get-ChildItem -Recurse -Directory | ForEach-Object {
2 | Compress-Archive -Path "$($_.FullName)\*.dll" -DestinationPath ".\$($_.Name).zip"
3 | }
4 |
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.cs.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.cs.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.de.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.de.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.es.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.es.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.fr.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.fr.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.it.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.it.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.ko.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.ko.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.nl.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.nl.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.pt-BR.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.pt-BR.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.pt-PT.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.pt-PT.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.ru.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.ru.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.tr-TR.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.tr-TR.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.zh-CN.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.zh-CN.Designer.cs
--------------------------------------------------------------------------------
/CapsLockIndicatorV3/strings.zh-TW.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jonaskohl/CapsLockIndicator/66eda270a207ff6acdde14862a965ae898cae05b/CapsLockIndicatorV3/strings.zh-TW.Designer.cs
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | CapsLock Indicator is a small utility that indicates the state of the Num lock, Caps lock and Scroll lock key.
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | # Edit & compile source code
34 | You need Microsoft Visual Studio 2019 and the Microsoft .NET 4.7.1 SDK to edit and compile the source code.
35 |
36 | # Contributing
37 | If you have a feature suggestion or a bug to file **and you are able to implement this in the code**, feel free to [open a pull request](https://github.com/jonaskohl/CapsLockIndicator/pulls). If you only want to report a bug or suggest a feature, [open a new issue](https://github.com/jonaskohl/CapsLockIndicator/issues/new).
38 |
--------------------------------------------------------------------------------
/azure-pipelines.yml:
--------------------------------------------------------------------------------
1 | # .NET Desktop
2 | # Build and run tests for .NET Desktop or Windows classic desktop solutions.
3 | # Add steps that publish symbols, save build artifacts, and more:
4 | # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
5 |
6 | trigger:
7 | - master
8 |
9 | pool:
10 | vmImage: 'windows-latest'
11 |
12 | variables:
13 | solution: '**/*.sln'
14 | buildPlatform: 'Any CPU'
15 | buildConfiguration: 'Release'
16 |
17 | steps:
18 | - task: NuGetToolInstaller@1
19 |
20 | - task: NuGetCommand@2
21 | inputs:
22 | restoreSolution: '$(solution)'
23 |
24 | - task: VSBuild@1
25 | inputs:
26 | solution: '$(solution)'
27 | platform: '$(buildPlatform)'
28 | configuration: '$(buildConfiguration)'
29 |
30 | - task: VSTest@2
31 | inputs:
32 | platform: '$(buildPlatform)'
33 | configuration: '$(buildConfiguration)'
34 |
--------------------------------------------------------------------------------