現在アクティブなアプリケーション名(またはプロセス名)を取得しようとしましたが、Microsoft EdgeのようなアプリケーションではApplicationFrameHostという結果になります。タスクマネージャなどのアプリケーション名を取得する方法はありますか?C#を使用してWindows 10で現在のアクティブなアプリケーション名を取得
私の実際のコード:
[DllImport("user32.dll")]
static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);
[DllImport("user32.dll")]
public static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
private string GetActiveProcess()
{
const int nChars = 256;
uint processId;
StringBuilder Buff = new StringBuilder(nChars);
IntPtr handle = GetForegroundWindow();
if (GetWindowText(handle, Buff, nChars) > 0)
{
GetWindowThreadProcessId(handle, out processId);
return Process.GetProcessById((int)processId).ProcessName;
}
return null;
}
次に溶液で答えを作成してください - あなたも、それを自分で受け入れることができます。タイトルに "SOLVED"を入れないでください - 受け入れられた答えはそれが解決されたことを示します。 –
Victor、あなたが好きなら、私が与えた答えをコピーすることができます(編集をクリックし、すべてを選択してください)。私は次に私のものを削除します。自分の答えを自分で受け入れることもできますし、アップアップを取得することさえできます。 – halfer