summaryrefslogtreecommitdiffstats
path: root/samples/OpenIdOfflineProvider/NativeMethods.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2009-04-26 20:45:41 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2009-04-26 20:45:41 -0700
commitc11245ecfb73eedfff090fb97d0e63057ac1898f (patch)
tree476436eb803c4e35bcc6ce63e0a221a9e72d5257 /samples/OpenIdOfflineProvider/NativeMethods.cs
parentf77192604369c558fdae939a80f5dd32e404b359 (diff)
parent21b31d2ca3882c3fdefb48c2604f4a5952900fc6 (diff)
downloadDotNetOpenAuth-c11245ecfb73eedfff090fb97d0e63057ac1898f.zip
DotNetOpenAuth-c11245ecfb73eedfff090fb97d0e63057ac1898f.tar.gz
DotNetOpenAuth-c11245ecfb73eedfff090fb97d0e63057ac1898f.tar.bz2
Merge branch 'offlineapp'
Diffstat (limited to 'samples/OpenIdOfflineProvider/NativeMethods.cs')
-rw-r--r--samples/OpenIdOfflineProvider/NativeMethods.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/samples/OpenIdOfflineProvider/NativeMethods.cs b/samples/OpenIdOfflineProvider/NativeMethods.cs
new file mode 100644
index 0000000..ec12819
--- /dev/null
+++ b/samples/OpenIdOfflineProvider/NativeMethods.cs
@@ -0,0 +1,36 @@
+//-----------------------------------------------------------------------
+// <copyright file="NativeMethods.cs" company="Andrew Arnott">
+// Copyright (c) Andrew Arnott. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+namespace DotNetOpenAuth.OpenIdOfflineProvider {
+ using System;
+ using System.Runtime.InteropServices;
+ using System.Windows;
+ using System.Windows.Interop;
+
+ internal static class NativeMethods {
+ /// <summary>
+ /// Gets the HWND of the current foreground window on the system.
+ /// </summary>
+ /// <returns>A handle to the foreground window.</returns>
+ [DllImport("user32.dll")]
+ internal static extern IntPtr GetForegroundWindow();
+
+ [DllImport("user32.dll")]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ internal static extern bool SetForegroundWindow(IntPtr hWnd);
+
+ [DllImport("user32.dll")]
+ private static extern IntPtr SetActiveWindow(IntPtr hWnd);
+
+ internal static bool SetForegroundWindow(Window window) {
+ return SetForegroundWindow(new WindowInteropHelper(window).Handle);
+ }
+
+ internal static void SetActiveWindow(Window window) {
+ SetActiveWindow(new WindowInteropHelper(window).Handle);
+ }
+ }
+}