diff --git a/BlockWindow.sln b/BlockWindow.sln new file mode 100644 index 0000000..827d620 --- /dev/null +++ b/BlockWindow.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.33214.272 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlockWindow", "BlockWindow\BlockWindow.csproj", "{F8B23955-F229-47B3-BF71-1F2B080B75F2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8B23955-F229-47B3-BF71-1F2B080B75F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8B23955-F229-47B3-BF71-1F2B080B75F2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8B23955-F229-47B3-BF71-1F2B080B75F2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8B23955-F229-47B3-BF71-1F2B080B75F2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5707D979-1C5D-4301-AFF3-6FB924E830B7} + EndGlobalSection +EndGlobal diff --git a/BlockWindow/App.config b/BlockWindow/App.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/BlockWindow/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/BlockWindow/BlockWindow.csproj b/BlockWindow/BlockWindow.csproj new file mode 100644 index 0000000..6d5daeb --- /dev/null +++ b/BlockWindow/BlockWindow.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {F8B23955-F229-47B3-BF71-1F2B080B75F2} + Exe + BlockWindow + BlockWindow + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BlockWindow/Program.cs b/BlockWindow/Program.cs new file mode 100644 index 0000000..55be6b2 --- /dev/null +++ b/BlockWindow/Program.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace BlockWindow +{ + class Program + { + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + static extern bool EnableWindow(IntPtr hWnd, bool bEnable); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); + + [DllImport("user32.dll")] + private static extern IntPtr GetForegroundWindow(); + static readonly IntPtr HWND_BOTTOM = new IntPtr(1); + + static void Main(string[] args) + { + while (true) + { + IntPtr handle = GetForegroundWindow(); + EnableWindow(handle, false); + SetWindowPos(handle, HWND_BOTTOM, 0, 0, 1, 1, 0x0002); + Thread.Sleep(100); + } + } + } +} diff --git a/BlockWindow/Properties/AssemblyInfo.cs b/BlockWindow/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..44aa068 --- /dev/null +++ b/BlockWindow/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанные с этой сборкой. +[assembly: AssemblyTitle("BlockWindow")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("BlockWindow")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// из модели COM задайте для атрибута ComVisible этого типа значение true. +[assembly: ComVisible(false)] + +// Следующий GUID представляет идентификатор typelib, если этот проект доступен из модели COM +[assembly: Guid("f8b23955-f229-47b3-bf71-1f2b080b75f2")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Номер редакции +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")]