Produce beautiful notes, quickly and easily. Share them with friends and colleagues to work on your ideas together.
Sign Up NowOr take a look at the Coggle Gallery for inspiration.
Use Coggle to map out your processes, systems and algorithms using our powerful new flowcharting features.
Sign Up NowCoggle makes it easy to create and share mindmaps and flowcharts. It works in your browser: there's nothing to download or install, and everything you need to create great mindmaps is free, forever!
Whether you're taking notes, brainstorming, planning, or doing something awesomely creative, it is super simple to visualise your ideas with Coggle. Share with as many friends or colleagues as you like. Changes you make will show up instantly in their browser, wherever they are in the world.

Invite your friends and colleagues to work with you, at the same time, on your diagrams.

Look through all the changes to a diagram and make a copy from any point to revert to a previous version.

Drag-and-drop images right from your desktop to your diagrams. There's no limit to the number of images you can add.

Add text labels and images that aren't part of the diagram tree to annotate parts of your map.

Join branches and create loops to create more powerful and flexible diagrams representing process flows and other advanced things.

Add multiple central items to your diagrams to map related topics in a single workspace.

Create as many private diagrams as you like. If you do ever cancel your subscription they stay private, and you keep access.

Pick from a range of shapes to create expressive, powerful flowcharts, process maps, and other diagrams.

Allow any number of people to edit a diagram simply by sharing a secret link with them. No login required.
if (!System.IO.File.Exists(ssmsPath)) { ssmsPath = @"C:\Program Files\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"; } if (System.IO.File.Exists(ssmsPath)) { var startInfo = new ProcessStartInfo { FileName = ssmsPath, Arguments = string.IsNullOrEmpty(serverName) ? "" : $"-S {serverName} -d {databaseName ?? "master"}" }; Process.Start(startInfo); } } } using System; using System.IO; using System.Xml; public class SSMSRecentConnections { public static void ReadRecentConnections() { // SSMS stores recent connections in user's AppData string recentConnectionsPath = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Microsoft\SQL Server Management Studio\18.0\SqlStudio.bin" );
foreach (var path in paths) { if (File.Exists(path)) return true; } // Check registry using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SQL Server Management Studio\18.0")) { return key != null; } } ssms 18
public static string GetSSMS18Version() { string exePath = @"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"; if (File.Exists(exePath)) { var versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(exePath); return $"SSMS Version: {versionInfo.FileVersion}"; } return "SSMS 18 not found"; } } using System.Diagnostics; public class SSMSLauncher { public static void LaunchSSMS18(string serverName = null, string databaseName = null) { string ssmsPath = @"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"; Since your request is broad, I'll provide a
I'll help you develop a feature that looks at or interacts with SQL Server Management Studio (SSMS) 18. Since your request is broad, I'll provide a few common approaches depending on what you want to accomplish: using Microsoft.Win32; using System; using System.IO; public class SSMSDetector { public static bool IsSSMS18Installed() { // Check typical SSMS 18 installation paths string[] paths = { @"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe", @"C:\Program Files\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" }; Since your request is broad
if (File.Exists(recentConnectionsPath)) { // Parse MRU (Most Recently Used) connections Console.WriteLine("Recent connections file found at: " + recentConnectionsPath); // Note: SqlStudio.bin is a binary file; you may need to parse it specifically } // Alternative: Check Registered Servers string registeredServersPath = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Microsoft\\SQL Server Management Studio\\18.0\\RegisteredServers.xml" ); if (File.Exists(registeredServersPath)) { ReadRegisteredServers(registeredServersPath); } }
private static void ReadRegisteredServers(string xmlPath) { XmlDocument doc = new XmlDocument(); doc.Load(xmlPath); XmlNodeList servers = doc.SelectNodes("//ServerInstance"); foreach (XmlNode server in servers) { Console.WriteLine($"Registered Server: {server.InnerText}"); } } } using System; using System.Runtime.InteropServices; public class SSMSAutomation { public static void ConnectToDatabase() { Type ssmsType = Type.GetTypeFromProgID("SqlServerManagementStudio.SsmsApplication");
if (ssmsType != null) { dynamic ssms = Activator.CreateInstance(ssmsType); // Connect to server dynamic connection = ssms.ConnectionManager; dynamic serverConnection = connection.NewConnection(); serverConnection.ServerName = "localhost"; serverConnection.LoginSecure = true; serverConnection.Connect(); Console.WriteLine("Connected to SQL Server via SSMS"); // Note: COM interop with SSMS has limited support Marshal.ReleaseComObject(ssms); } } } using System.Diagnostics; using System.Linq; public class SSMSMonitor { public static bool IsSSMS18Running() { var processes = Process.GetProcessesByName("Ssms"); return processes.Any(p => p.MainModule.FileName.Contains("Management Studio 18")); }

Open up Coggle in a meeting, during your revision or wherever inspiration strikes to create beautiful, structured notes.

Take the start of an idea, water it with Coggle and watch it grow into a fully fledged plan, clearly laid out and ready to share.

Distill your topic into a Coggle, include all the details and share with your team, your classmates or the world!