とりあえず起動時にアクティブ化しないようにします。
WPF アプリケーションで起動時にウィンドウをアクティブ化しないようにする
次に、Loadedイベントでウィンドウスタイルを変更します。適用しているウィンドウスタイルの意味については細かく説明しませんので、MSのページで確認してください。
Extended Window Styles
C#
1using System;
2using System.Windows;
3using System.Runtime.InteropServices;
4
5namespace WpfApp1
6{
7 public partial class MainWindow : Window
8 {
9 [DllImport("user32.dll")]
10 private static extern IntPtr GetWindowLongPtr(IntPtr hwnd, int index);
11
12 [DllImport("user32.dll")]
13 private static extern IntPtr SetWindowLongPtr(IntPtr hwnd, int index, IntPtr newValue);
14
15 private int GWL_EXSTYLE = -20;
16
17 private enum WS_EX : long
18 {
19 TOOLWINDOW = 0x00000080,
20 NOACTIVATE = 0x08000000,
21 }
22
23 public MainWindow()
24 {
25 InitializeComponent();
26 }
27
28 private void Window_Loaded(object sender, RoutedEventArgs e)
29 {
30 var helper = new System.Windows.Interop.WindowInteropHelper(this);
31 var hwnd = helper.Handle;
32 var oldStyle = GetWindowLongPtr(hwnd, GWL_EXSTYLE);
33 var newStyle = new IntPtr(oldStyle.ToInt64() | (long)WS_EX.NOACTIVATE | (long)WS_EX.TOOLWINDOW);
34 SetWindowLongPtr(hwnd, GWL_EXSTYLE, newStyle);
35 }
36 }
37}
タスクバーを押したらアクティブになりますが、タスクバー消したり出来るかは自分で調べてみてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/14 05:29