How to register OpenChromeToolcsharp
public sealed class OpenChromeTool : ApplicationOpenTool{ public const string Name = "open_chrome"; public static void Register(ToolRegistry registry) => ApplicationOpenTool.Register<OpenChromeTool>(registry); public override string ToolName => Name; protected override string ApplicationName => "Google Chrome"; protected override string GetExecutable() { if (OperatingSystem.IsWindows()) { return ResolveWindowsChromePath() ?? "chrome"; } if (OperatingSystem.IsMacOS()) { return "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"; } return "google-chrome"; } private static string? ResolveWindowsChromePath() { string localAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); string programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); string programFilesX86 = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86); string[] candidates = [ Path.Combine(localAppData, "Google", "Chrome", "Application", "chrome.exe"), Path.Combine(programFiles, "Google", "Chrome", "Application", "chrome.exe"), Path.Combine(programFilesX86, "Google", "Chrome", "Application", "chrome.exe"), ]; return candidates.FirstOrDefault(File.Exists); }}