Quelle: ChatGPT
Beispiel-Script (C#) – Schreibrecht prüfen
using System;
using System.IO;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Desktop;
public class ProjektSchreibschutzCheck
{
[Start]
public void CheckProjektSchreibschutz()
{
// Aktives Projekt ermitteln
ProjectManager pm = new ProjectManager();
string projektPfad = pm.Path;
if (string.IsNullOrEmpty(projektPfad))
{
MessageBox.Show("Kein Projekt geöffnet.");
return;
}
// Test: Können wir eine Datei im Projektverzeichnis schreiben?
string testDatei = Path.Combine(projektPfad, "Schreibtest.tmp");
try
{
File.WriteAllText(testDatei, "Test");
File.Delete(testDatei);
MessageBox.Show("Projekt ist NICHT schreibgeschützt.");
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("Projekt ist SCHREIBGESCHÜTZT (kein Schreibzugriff).");
}
catch (Exception ex)
{
MessageBox.Show("Fehler beim Prüfen des Schreibschutzes: " + ex.Message);
}
}
}
📝 Hinweise:
Der Pfad pm.Path liefert den vollständigen Pfad des aktuell geöffneten Projekts.
Der Schreibversuch auf eine temporäre Datei prüft effektiv, ob das Projektverzeichnis beschreibbar ist.
Falls das Projekt z. B. aus dem Netzwerk "Read Only" geöffnet wurde oder ein Schreibschutz gesetzt ist (Windows-Dateiattribut, Benutzerrechte), wird die Ausnahme ausgelöst.
------------------
Grüße, Moe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP