Fix CA 1060 by moving PInvokes to a common NativeMethodsClass

Severity Code Description Project File Line Suppression State
Warning CA1060 Move pinvokes to native methods class PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs 24 Active
This commit is contained in:
ryanbodrug-microsoft
2020-06-18 12:56:12 -07:00
parent b89d6d78ef
commit 165ffed9e6
11 changed files with 106 additions and 69 deletions

View File

@@ -7,6 +7,7 @@ using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Windows;
using FancyZonesEditor.Models;
using ManagedCommon;
namespace FancyZonesEditor
{
@@ -24,7 +25,7 @@ namespace FancyZonesEditor
private void OnStartup(object sender, StartupEventArgs e)
{
WaitForPowerToysRunner();
RunnerHelper.WaitForPowerToysRunner(Settings.PowerToysPID);
LayoutModel foundModel = null;
@@ -62,27 +63,5 @@ namespace FancyZonesEditor
overlay.Show();
overlay.DataContext = foundModel;
}
[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr OpenProcess(uint processAccess, bool bInheritHandle, int processId);
[DllImport("kernel32.dll", SetLastError = true)]
private static extern uint WaitForSingleObject(IntPtr hHandle, uint dwMilliseconds);
private void WaitForPowerToysRunner()
{
Task.Run(() =>
{
const uint INFINITE = 0xFFFFFFFF;
const uint WAIT_OBJECT_0 = 0x00000000;
const uint SYNCHRONIZE = 0x00100000;
IntPtr powerToysProcHandle = OpenProcess(SYNCHRONIZE, false, Settings.PowerToysPID);
if (WaitForSingleObject(powerToysProcHandle, INFINITE) == WAIT_OBJECT_0)
{
Environment.Exit(0);
}
});
}
}
}

View File

@@ -258,5 +258,11 @@
<ItemGroup>
<Resource Include="images\FancyZonesEditor.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\common\ManagedCommon\ManagedCommon.csproj">
<Project>{4AED67B6-55FD-486F-B917-E543DEE2CB3C}</Project>
<Name>ManagedCommon</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>