diff --git a/Icon.ico b/Icon.ico new file mode 100644 index 0000000..d0fed42 Binary files /dev/null and b/Icon.ico differ diff --git a/LICENSE b/LICENSE index ef6b399..e71d8fb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,19 @@ -MIT License - -Copyright (c) 2021 kenclaron - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2021 Dmitry Britov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..7807be8 --- /dev/null +++ b/Program.cs @@ -0,0 +1,33 @@ +using System; +using System.Runtime.InteropServices; + +namespace StartMenuAlternativeApp +{ + class Program + { + [DllImport("user32.dll")] + static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, + UIntPtr dwExtraInfo); + const byte KEY_CTRL = 0x11; + const byte KEY_ESC = 0x1B; + const uint KEYEVENTF_KEYUP = 0x02; + + public static void OpenStartMenu() + { + keybd_event(KEY_CTRL, 0, 0, UIntPtr.Zero); + keybd_event(KEY_ESC, 0, 0, UIntPtr.Zero); + + keybd_event(KEY_CTRL, 0, KEYEVENTF_KEYUP, UIntPtr.Zero); + keybd_event(KEY_ESC, 0, KEYEVENTF_KEYUP, UIntPtr.Zero); + + return; + } + + static void Main() + { + OpenStartMenu(); + + return; + } + } +} diff --git a/Properties/PublishProfiles/FolderProfile.pubxml b/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 0000000..0966de1 --- /dev/null +++ b/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,17 @@ + + + + + Release + Any CPU + bin\Release\net5.0\publish\ + FileSystem + net5.0 + win-x86 + false + False + False + + \ No newline at end of file diff --git a/Properties/PublishProfiles/FolderProfile.pubxml.user b/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 0000000..f5b8ae6 --- /dev/null +++ b/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,9 @@ + + + + + True|2021-06-11T16:04:48.1836389Z;True|2021-06-11T12:11:10.2766566+03:00;True|2021-06-11T12:10:07.9574109+03:00;True|2021-06-11T12:07:28.3588198+03:00; + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..c16dc6a --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +Start Menu - Alternative App +============================ + +About +----- +This application can be pinned to the taskbar and open the Windows Start Menu. +To get a better quality of use, I recommend using it together with [CenterTaskbar by mdhiggins](https://github.com/mdhiggins/CenterTaskbar) + +Usage +-------------------------- +1. Press the Right Mouse Button on the application "Start Menu - Alternative App.exe"; +2. Click "Pin to taskbar". + +Requirements +------------ +* Windows 10 1903 (build 18362) or newer; +* [.NET 5.0](https://dotnet.microsoft.com/download/dotnet/5.0) or newer. + +License +------- +Licensed under the MIT license. +> Microsoft Windows, Logo are trademarks of the Microsoft group of companies \ No newline at end of file diff --git a/Start Menu - Alternative App.csproj b/Start Menu - Alternative App.csproj new file mode 100644 index 0000000..560a973 --- /dev/null +++ b/Start Menu - Alternative App.csproj @@ -0,0 +1,26 @@ + + + + WinExe + net5.0 + Icon.ico + + Start Menu - Alternative App + Start Menu - Alternative App + Dmitry Britov + + Start Menu + + LICENSE + DmitryBritov.StartMenuAlternativeApp + This application can be pinned to the taskbar and open the Windows start menu. + + + + + True + + + + + diff --git a/Start Menu - Alternative App.csproj.user b/Start Menu - Alternative App.csproj.user new file mode 100644 index 0000000..afbe132 --- /dev/null +++ b/Start Menu - Alternative App.csproj.user @@ -0,0 +1,6 @@ + + + + <_LastSelectedProfileId>C:\Users\kenclaron\source\repos\WindowsStartMenu\Properties\PublishProfiles\FolderProfile.pubxml + + \ No newline at end of file diff --git a/Start Menu - Alternative App.sln b/Start Menu - Alternative App.sln new file mode 100644 index 0000000..2825658 --- /dev/null +++ b/Start Menu - Alternative App.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31321.278 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Start Menu - Alternative App", "Start Menu - Alternative App.csproj", "{DF2B194F-92F5-4EF5-8598-097F97A46583}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DF2B194F-92F5-4EF5-8598-097F97A46583}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF2B194F-92F5-4EF5-8598-097F97A46583}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF2B194F-92F5-4EF5-8598-097F97A46583}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF2B194F-92F5-4EF5-8598-097F97A46583}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5546F2E6-37F8-49D0-BDEA-9D86B4830EB6} + EndGlobalSection +EndGlobal