Verknüpfung wird nicht gefunden, kein Zugriff möglich [Gelöst]

Anfängerfragen zum Programmieren mit PureBasic.
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Verknüpfung wird nicht gefunden, kein Zugriff möglich [Gelöst]

Beitrag von OlderCoder »

Hallo miteinander,

ich möchte eine Programmverknüpfung kopieren.
Eigentlich eine ganz einfache Sache. Dachte ich jedenfalls.
Aber völlig egal, was ich versuche, die Datei wird nicht gefunden.

Code: Alles auswählen

debug CopyFile("C:\test.lnk","test2.lnk")
liefert 0 als gescheiterten Kopierversuch. Und

Code: Alles auswählen

debug Filesize("C:\test.lnk")
ergibt -1 für Datei nicht gefunden.

Die Datei existiert aber. Und mit einer Textdatei funktioniert es problemlos.
Ich habe auch verschiedene Varianten versucht mit verschiedenen Pfaden, Ordnern (C:\ habe ich hier nur zwecks Vereinfachung gewählt)....habe PureBasic als Administrator gestartet, verschiedene Namen verwendet, die Endung groß geschrieben, weggelassen...was man halt so versucht, wenn man keine Ahnung hat.

Wie funktioniert das mit Verknüpfungen? Die Endung .lnk sollte doch eigentlich korrekt sein, oder?
Leider finde ich im ganzen Internet auch nach langen Suchen bisher keine Antwort auf dieses Problem, was ich nicht verstehe.

Falls sich übrigens einer wundern sollte, warum ich auch noch nach einigen Jahren immer noch solche Anfänger-Fragen stelle - ich programmiere extrem selten. Ein Anfänger werde ich wohl immer bleiben.

Es wäre schön, wenn mir jemand helfen könnte.

Edit: Inzwischen ist das Problem zumindest oberflächlich gelöst. Und hier https://www.purebasic.fr/german/viewtop ... 39#p366139 und in den Posts davor kann man die "Lösung" finden. Das Problem war nur eine Zeit lang vorhanden, und dann plötzlich (bis auf weiteres?) wieder verschwunden.

Gruß OlderCoder
Zuletzt geändert von OlderCoder am 02.06.2024 17:23, insgesamt 6-mal geändert.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von tft »

Um nach C zu kopieren, benötigst du unter W11 Admin Rechte. Alleine schon das einfach Kopieren, mit dem Explorer, wird eine solche Anforderung auslösen (W11). PureBasic hat auch eine Einstellung zum Thema Adminrechte. Das ist bei den Compiler-Einstellungen. Benutze eine externe SSD oder einen Stick für deine Experimente. Und ich glaube !!! Kein Wissen. Mann muss auch im Ziel den vollen Pfad angeben. Ansonsten wird es wahrscheinlich an dem Ort landen. Wo das Programm gestartet wurde. Experimentiere etwas rum.

Gruss TFT

Bild
Zuletzt geändert von tft am 01.06.2024 17:44, insgesamt 3-mal geändert.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von OlderCoder »

Das widerspricht aber der Tatsache, dass test.txt anstelle von test.lnk funktioniert, wie ich oben geschrieben habe.
Außerdem hatte ich auch andere Laufwerke außer C: vergeblich versucht.
Ich habe aber der Vollständigkeit halber trotzdem bei Administratormodus anfordern einen Haken gesetzt.
Gebracht hat es wie erwartet nichts.
Ich habe im übrigen Windows 10, aber das dürfte keinen Unterschied machen.
Das Problem hat direkt mit der Verknüpfung zu tun. test.lnk funktioniert nicht.
Wie kann ich in PureBasic auf eine Verknüpfung zugreifen?
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von tft »

Ja. LNK Dateien lassen sich scheinbar nicht ohne Adminrechte auf C kopieren. Das kann daran liegen. Das die Dinger durchaus auch gefährlich sein können. LinkWürmer, Malware etc.
Ich habe das jetzt mal ausprobiert. Ergebnis: geht nicht. Was auch immer du mit diesen Link Dateien machen möchtest. Du musst die was anderes ausdenken.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von tft »

Ich benutze ChatGPT als Assistent beim Programmieren. Ich habe das Teil mal gefragt. Das war die Antwort.

Das Kopieren von LNK-Dateien (Verknüpfungsdateien) auf bestimmte Bereiche des Laufwerks C oder andere Orte kann durch Berechtigungseinstellungen und Sicherheitsfunktionen von Windows eingeschränkt sein. Hier sind einige häufige Gründe und mögliche Lösungen:

1. **Berechtigungen**:
- **Administratorrechte**: Manche Verzeichnisse auf dem Laufwerk C, wie das Stammverzeichnis (C:\) oder bestimmte Systemordner, erfordern Administratorrechte zum Kopieren oder Ändern von Dateien. Um eine LNK-Datei zu kopieren, können Sie versuchen, den Datei-Explorer als Administrator zu starten:
- Klicken Sie mit der rechten Maustaste auf das Datei-Explorer-Symbol und wählen Sie „Als Administrator ausführen“.
- **Ordnerberechtigungen**: Stellen Sie sicher, dass Ihr Benutzerkonto die notwendigen Berechtigungen hat, um in das Zielverzeichnis zu schreiben. Sie können die Berechtigungen eines Ordners überprüfen, indem Sie mit der rechten Maustaste auf den Ordner klicken, „Eigenschaften“ auswählen, dann zur Registerkarte „Sicherheit“ gehen und dort die Berechtigungen überprüfen und ggf. anpassen.

2. **Benutzungssteuerung (UAC)**:
- Die Benutzerkontensteuerung (User Account Control, UAC) in Windows kann das Kopieren von Dateien in bestimmte Verzeichnisse verhindern, um das System vor unerwünschten Änderungen zu schützen. Eine Erhöhung der Benutzerrechte (wie oben beschrieben) kann helfen, diese Einschränkungen zu umgehen.

3. **Antivirensoftware**:
- Einige Antivirensoftwareprogramme oder Sicherheitstools können das Kopieren von LNK-Dateien blockieren, um das System vor potenziellen Bedrohungen zu schützen. Überprüfen Sie die Einstellungen Ihrer Antivirensoftware und stellen Sie sicher, dass keine Regeln vorhanden sind, die das Kopieren von Verknüpfungsdateien blockieren.

4. **Geschützte Systemverzeichnisse**:
- Windows schützt bestimmte Verzeichnisse und Dateien vor Änderungen, um die Integrität des Systems zu bewahren. Das Kopieren von Dateien in diese geschützten Bereiche kann eingeschränkt oder blockiert sein. Zu diesen geschützten Bereichen gehören z.B. C:\Windows und C:\Program Files.

### Lösungen

1. **Kopieren als Administrator**:
- Versuchen Sie, die Datei als Administrator zu kopieren. Öffnen Sie den Datei-Explorer als Administrator (wie oben beschrieben) und führen Sie die Kopieraktion erneut durch.

2. **Berechtigungen anpassen**:
- Überprüfen und ändern Sie gegebenenfalls die Berechtigungen des Zielordners:
- Rechtsklick auf den Zielordner > Eigenschaften > Sicherheit > Bearbeiten > Ihr Benutzerkonto auswählen > „Vollzugriff“ aktivieren > Änderungen übernehmen.

3. **Antivirensoftware-Einstellungen überprüfen**:
- Stellen Sie sicher, dass Ihre Antivirensoftware das Kopieren von LNK-Dateien nicht blockiert. Sie können dies vorübergehend deaktivieren, um zu überprüfen, ob dies das Problem löst.

4. **UAC-Einstellungen anpassen**:
- Sie können die UAC-Einstellungen vorübergehend herabsetzen, um zu überprüfen, ob dies das Problem löst:
- Gehen Sie zu „Systemsteuerung“ > „Benutzerkonten“ > „Einstellungen der Benutzerkontensteuerung ändern“ > Schieben Sie den Regler auf eine niedrigere Einstellung > OK.

Bitte beachten Sie, dass das Ändern von UAC-Einstellungen oder das Deaktivieren von Sicherheitssoftware Risiken mit sich bringt. Führen Sie diese Änderungen nur vorübergehend durch und setzen Sie die ursprünglichen Einstellungen nach dem Kopieren der Datei wieder zurück.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von OlderCoder »

Vielen Dank für Deine Mühe. ChatGPT habe ich vor kurzem erstmalig entdeckt. Erstaunlich, was damit möglich ist.

Filesize liest nur. Geschrieben wird dadurch überhaupt nichts. Und auch hier wird die Verknüpfung nicht gefunden. So als würde irgendetwas mit der Syntax nicht stimmen. Oder greift sogar beim Lesen schon die Frage der Zugriffsrechte? Kann ich mir nicht vorstellen.
Alle Tipps von ChatGPT beziehen sich auf das Schreiben.

Ich kann mir nicht vorstellen, dass es keinen Weg geben soll, Verknüpfungen mit PureBasic zu kopieren.
Und das mit den kopierten Verknüpfungen ist bereits eine (letzte?) Alternative zu anderen Lösungswegen meines eigentlichen Problems. Wenn das nicht klappt, ist die Sache sowieso vom Tisch.
Eigentlich wollte ich (und auch das war schon eine Alternative.....) Verknüpfungen mittels RunProgram starten. Aber das ist leider nicht möglich. Das wär eine feine Sache gewesen.....da in Verknüpfungen schon eine Menge an Möglichkeiten steckt für den Start verschiedenster Programme und Spiele, die man nur mit größerem Aufwand komplett ersetzen kann, da es viele Sonderfälle gibt.
Und so wollte ich mit der Verknüpfungskopiererei mittels eines simulierten Doppelklicks aus PureBasic heraus die Verknüpfungen starten (jaja, ich weiß ... von hinten durch die Brust ins Auge, wie man sagt oder so....aber es hätte garantiert funktioniert und wär besonders transparent gewesen, was ich mag.)
Parallel dazu hatte ich angefangen .bat-Dateien (für Steam, und Ubisoft-Spiele, da funktioniert das) und kleine PB-Exes (für Epic-Spiele u.a.) anzulegen und diese dann per PB-Programm zu starten, aber der Aufwand ist groß. Und die Verknüpfungen sind schon vorhanden und leicht händelbar.
Ich hatte früher mal eine Komplettlösung mit PureBasic zu diesem Zweck programmiert. Aber der Aufwand war mir einfach viel zu groß geworden und hat mich genervt.
Es geht letztlich um mehrere hundert Programme und Spiele. Und da wäre die Verwendung von Verknüpfungen ziemlich bequem.
Ich wollte diese Hintergrundgeschichte eigentlich nicht erwähnen. Aber da es irgendwie auch wieder nicht funktioniert....

Gruß OlderCoder
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von OlderCoder »

Die Rechteeinstellungen einer Textdatei und einer Verknüpfung scheinen auch die gleichen zu sein. Ich habe kurz mal in den Eigenschaften/Sicherheit nachgeschaut.
Ich werde das Gefühl nicht los, dass das Problem woanders zu suchen ist.
PureBasic sollte doch wenigstens lesend auf die Verknüpfung zugreifen können!
Ich hatte diesbezüglich nach einer existierenden Lösung gesucht, aber keine gefunden. Da muss es doch aber etwas geben, oder?
Immer geht es nur um das Erstellen von Verknüpfungen.
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von OlderCoder »

Ich habe das Problem lösen können.
Durch ein Programm aus der Hilfe, das einen Ordnerinhalt darstellt, habe ich herausgefunden, dass die Dateiendung einer Verknüpfung nicht .lnk, sondern .url ist. Zumindest in PureBasic.
Mit dieser Endung ist das Kopieren der Verknüpfung gar kein Problem. Auch nicht im Laufwerk C.
Mit Rechten hat das offensichtlich überhaupt nichts zu tun. Es war, wie ich schon überlegt hatte, tatsächlich ein Syntaxproblem.
Soviel Zeit investiert wegen so einer Kleinigkeit.
Jetzt hätte mich tatsächlich noch interessiert, mit welchem Input Du, tft, ChatGPT gefüttert hattest. Er hat das jedenfalls auch nicht gewusst. PureBasic hat vermutlich keine Rolle bei der Anfrage gespielt. In Windows wird .url nur für Internet-Verknüpfungen verwendet. In PureBasic für jede Art von Verknüpfung, wie es aussieht.

(Weiteres Vorgehen: aus Thumbnailmenü Spiel/Programm per Klick auswählen. Name aus Feld entnehmen, Verknüpfung in einen leeren Ordner kopieren, diesen maximiert öffnen und per simulierten Doppelklick Programm starten. Verknüpfung wieder löschen, Ordner schließen. Fertig. So mein Plan.Wenn es denn nicht anders einfach geht, dann eben so. Damit lässt sich jedenfalls ein viel schönerer und komfortablerer Zugang zur Programm- und Spielesammlung realisieren als nur über den Windows-Explorer. Wenn auch mit einem Schönheitsfehler, da kurz der Ordner zu sehen ist.)

Thema erledigt.

Gruß OlderCoder
Zuletzt geändert von OlderCoder am 02.06.2024 00:10, insgesamt 2-mal geändert.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von tft »

Also ich freue mich darüber, dass du das Problem selber ermittelt hast. Mach doch am ersten Post einen Link zu deinem Letzten und ändere den Namen der Überschrift in [Gelöst]...... Das würde anderen beim Suchen sicher helfen.

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
OlderCoder
Beiträge: 134
Registriert: 18.03.2013 12:30
Wohnort: Bayerland
Kontaktdaten:

Re: Verknüpfung wird nicht gefunden, kein Zugriff möglich

Beitrag von OlderCoder »

Das hätte ich schon getan, wenn ich eine Möglichkeit dafür gefunden hätte. Also gibt es eine. Ich suche nochmal (Edit: Ok, das war einfach, ich hatte nur schlampig gesucht). Und dann bräuchte ich noch eine Möglichkeit, einzelne Posts zu verlinken. Gab es da nicht mal irgendwo eine Möglichkeit mit # oder so?
Danke.

Gruß OlderCoder
Antworten