Files
Pilz/Pilz.IO/Extensions.cs
2024-06-05 19:15:32 +02:00

24 lines
589 B
C#

using Pilz.Runtime;
using System;
using System.Diagnostics;
using System.Text;
namespace Pilz.IO;
public static class Extensions
{
static readonly int MAX_PATH = 255;
public static string GetExecutablePath(bool checkRealOS = false)
{
if (RuntimeInformationsEx.IsOSPlatform(OSType.Windows, checkRealOS))
{
var sb = new StringBuilder(MAX_PATH);
Kernel32.GetModuleFileName(IntPtr.Zero, sb, MAX_PATH);
return sb.ToString();
}
else
return Process.GetCurrentProcess().MainModule.FileName;
}
}