論理的に関連するいくつかの個別のプロセスがあります(ただし、すべてが個別に開始されます-共通の「親」プロセスはありません)。
それらを Windows タスクバーに 1 つのグループとして表示することはできますか?
作業サンプル
レミーの答えに触発された実用的なコードを次に示します
using System;
using System.Runtime.InteropServices;
using System.Security;
namespace ConsoleApplication1
{
[SuppressUnmanagedCodeSecurity]
internal static class SafeNativeMethods
{
[DllImport("shell32.dll")]
public static extern int SetCurrentProcessExplicitAppUserModelID([MarshalAs(UnmanagedType.LPWStr)] string AppID);
[DllImport("kernel32.dll")]
public static extern bool AllocConsole();
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
}
internal class Program
{
public static int SetApplicationUserModelId(string appId)
{
// check for Windows 7
Version version = Environment.OSVersion.Version;
if ((version.Major > 6) || (version.Major == 6 && version.Minor >= 1))
return SafeNativeMethods.SetCurrentProcessExplicitAppUserModelID(appId);
return -1;
}
[STAThread]
public static void Main(string[] args)
{
int result = SetApplicationUserModelId("Gardiner.Sample1");
SafeNativeMethods.AllocConsole();
// Now we have a console, we can write to it
Console.Title = "Sample 1";
Console.WriteLine("Sample 1 {0}", result);
Console.ReadLine();
SafeNativeMethods.FreeConsole();
}
}
}
これを機能させるには、実行可能ファイルの [出力の種類] を [Windows アプリケーション] に設定し、[スタートアップ オブジェクト] を [ConsoleApplication1.Program] に設定する必要があります (上記のコード サンプルの場合)。