Click here to Skip to main content
15,887,746 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr22-Sep-15 1:36
Benjamin.Buhr22-Sep-15 1:36 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen22-Sep-15 2:12
professionalEddy Vluggen22-Sep-15 2:12 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr24-Sep-15 1:09
Benjamin.Buhr24-Sep-15 1:09 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen24-Sep-15 1:20
professionalEddy Vluggen24-Sep-15 1:20 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr24-Sep-15 2:23
Benjamin.Buhr24-Sep-15 2:23 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen24-Sep-15 3:46
professionalEddy Vluggen24-Sep-15 3:46 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr25-Sep-15 0:08
Benjamin.Buhr25-Sep-15 0:08 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr28-Sep-15 1:39
Benjamin.Buhr28-Sep-15 1:39 
My corrections didn't work Frown | :( ...

So I will now try this way:

Now my MainWindow.xaml.cs is coded this way:
C#
using System;
using System.Diagnostics;
using System.Windows;
using System.Runtime.InteropServices;

namespace Technewlogic.Samples.WpfModalDialog
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>

    public partial class MainWindow : Window
	{
        // 28.09.2015: C# Check If Application Is Already Running Then Set Focus
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        [DllImport("user32.dll")]
        private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
        [DllImport("user32.dll")]
        private static extern bool IsIconic(IntPtr hWnd);
            /*
            const int SW_HIDE = 0;
            const int SW_SHOWNORMAL = 1;
            const int SW_SHOWMINIMIZED = 2;
            const int SW_SHOWMAXIMIZED = 3;
            const int SW_SHOWNOACTIVATE = 4;
            const int SW_RESTORE = 9;
            const int SW_SHOWDEFAULT = 10;
            */
        const int swRestore = 9;

        // 25.09.2015: Timer fiering
        System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
        private void dispatcherTimer_Tick(object sender, EventArgs e)
        {
            //MessageBox.Show("Popup: MainWindow_TimerTick");
            // 28.09.2015: C# Check If Application Is Already Running Then Set Focus
            var me = Process.GetCurrentProcess();
            var arrProcesses = Process.GetProcessesByName(me.ProcessName);

            if (arrProcesses.Length > 1)
            {
                for (var i = 0; i < arrProcesses.Length; i++)
                {
                    if (arrProcesses[i].Id != me.Id && arrProcesses[i].SessionId == me.SessionId)
                    {
                        // get the window handle
                        IntPtr hWnd = arrProcesses[i].MainWindowHandle;
                        // if iconic, we need to restore the window
                        if (IsIconic(hWnd))
                        {
                            ShowWindowAsync(hWnd, swRestore);
                        }
                        // bring it to the foreground
                        SetForegroundWindow(hWnd);
                        break;
                    }
                }
            }
        }

        // Main Window
        public MainWindow()
		{
			
			//Alt-Tab preventing
			Window w = new Window(); // Create helper window
        	w.Top = -100; // Location of new window is outside of visible part of screen
        	w.Left = -100;
        	w.Width = 1; // size of window is enough small to avoid its appearance at the beginning
        	w.Height = 1;
        	w.WindowStyle = WindowStyle.ToolWindow; // Set window style as ToolWindow to avoid its icon in AltTab 
        	w.Show(); // We need to show window before set is as owner to our main window
        	this.Owner = w; // Okey, this will result to disappear icon for main window.
        	w.Hide(); // Hide helper window just in case

            // 25.09.2015: Timer settings
            dispatcherTimer.Tick += dispatcherTimer_Tick;
            dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
            dispatcherTimer.Start();
            //Initialisierung der Komponenten
            InitializeComponent();
			ModalDialog.SetParent(ModalDialogParent);
		}

        // ModalDialog
        private void ShowModalDialog_Click(object sender, RoutedEventArgs e)
    	{
            var res = ModalDialog.ShowHandlerDialog(MessageTextBox.Text);
			var resultMessagePrefix = "Result: ";
			if (res)
				ResultText.Text = resultMessagePrefix + "OK";
			else
				ResultText.Text = resultMessagePrefix + "Break";
		}
	}
	
}

GeneralRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen28-Sep-15 5:38
professionalEddy Vluggen28-Sep-15 5:38 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr28-Sep-15 22:49
Benjamin.Buhr28-Sep-15 22:49 
QuestionRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen29-Sep-15 1:25
professionalEddy Vluggen29-Sep-15 1:25 
AnswerRe: How to remain WPF Window always on top of all windows? Pin
Benjamin.Buhr14-Oct-15 0:37
Benjamin.Buhr14-Oct-15 0:37 
GeneralRe: How to remain WPF Window always on top of all windows? Pin
Eddy Vluggen15-Oct-15 4:38
professionalEddy Vluggen15-Oct-15 4:38 
QuestionMemory leak deterioration in performance in working with weight in rs232 Win-CE Pin
goldsoft21-Sep-15 21:20
goldsoft21-Sep-15 21:20 
AnswerRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
OriginalGriff21-Sep-15 21:40
mveOriginalGriff21-Sep-15 21:40 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
goldsoft21-Sep-15 23:04
goldsoft21-Sep-15 23:04 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
Pete O'Hanlon21-Sep-15 23:08
mvePete O'Hanlon21-Sep-15 23:08 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
OriginalGriff21-Sep-15 23:30
mveOriginalGriff21-Sep-15 23:30 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
goldsoft23-Sep-15 22:28
goldsoft23-Sep-15 22:28 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
OriginalGriff23-Sep-15 22:37
mveOriginalGriff23-Sep-15 22:37 
GeneralRe: Memory leak deterioration in performance in working with weight in rs232 Win-CE Pin
goldsoft24-Sep-15 0:49
goldsoft24-Sep-15 0:49 
QuestionI want to perform a similiar operation on 100 VMs open in my Remote Desktop Connection Manager; Can I Automate it? Pin
AshiSh RaNa21-Sep-15 19:35
AshiSh RaNa21-Sep-15 19:35 
AnswerRe: I want to perform a similiar operation on 100 VMs open in my Remote Desktop Connection Manager; Can I Automate it? Pin
Pete O'Hanlon21-Sep-15 21:06
mvePete O'Hanlon21-Sep-15 21:06 
GeneralRe: I want to perform a similiar operation on 100 VMs open in my Remote Desktop Connection Manager; Can I Automate it? Pin
AshiSh RaNa21-Sep-15 23:51
AshiSh RaNa21-Sep-15 23:51 
QuestionHow to get the user defined method Pin
vijay kumar20-Sep-15 23:27
vijay kumar20-Sep-15 23:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.