mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 18:57:19 +02:00
* WIP Hosts - remove deps * Add consumer app * Move App and MainWindow to Consumer app. Make Hosts dll * Try consume it * Fix errors * Make it work with custom build targets * Dependency injection Refactor Explicit page creation Wire missing dependencies * Fix installer * Remove unneeded stuff * Fix build again * Extract UI and logic from MainWindow to RegistryPreviewMainPage * Convert to lib Change namespace to RegistryPreviewUILib Remove PT deps * Add exe app and move App.xaml and MainWindow.xaml * Consume the lib * Update Hosts package creation * Fix RegistryPreview package creation * Rename RegistryPreviewUI back to RegistryPreview * Back to consuming lib * Ship icons and assets in nuget packages * Rename to EnvironmentVariablesUILib and convert to lib * Add app and consume * Telemetry * GPO * nuget * Rename HostsPackageConsumer to Hosts and Hosts lib to HostsUILib * Assets cleanup * nuget struct * v0 * assets * [Hosts] Re-add AppList to Lib Assets, [RegPrev] Copy lib assets to out dir * Sign UI dlls * Revert WinUIEx bump * Cleanup * Align deps * version exception dll * Fix RegistryPreview crashes * XAML format * XAML format 2 * Pack .pri files in lib/ dir --------- Co-authored-by: Darshak Bhatti <dabhatti@microsoft.com>
39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
// Copyright (c) Microsoft Corporation
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace RegistryPreviewUILib
|
|
{
|
|
// Workaround for File Pickers that don't work while running as admin, per:
|
|
// https://github.com/microsoft/WindowsAppSDK/issues/2504
|
|
public static partial class OpenFilePicker
|
|
{
|
|
[DllImport("comdlg32.dll", SetLastError = true, CharSet = CharSet.Auto)]
|
|
private static extern bool GetOpenFileName(ref FileName openFileName);
|
|
|
|
public static string ShowDialog(IntPtr windowHandle, string filter, string dialogTitle)
|
|
{
|
|
FileName openFileName = default(FileName);
|
|
openFileName.StructSize = Marshal.SizeOf(openFileName);
|
|
|
|
openFileName.HwndOwner = windowHandle;
|
|
openFileName.Filter = filter;
|
|
openFileName.File = new string(new char[256]);
|
|
openFileName.MaxFile = openFileName.File.Length;
|
|
openFileName.FileTitle = new string(new char[64]);
|
|
openFileName.MaxFileTitle = openFileName.FileTitle.Length;
|
|
openFileName.Title = dialogTitle;
|
|
|
|
if (GetOpenFileName(ref openFileName))
|
|
{
|
|
return openFileName.File;
|
|
}
|
|
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|