AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Konkretes Verzeichnis suchen und Pfad verwenden

Konkretes Verzeichnis suchen und Pfad verwenden

Ein Thema von Elexarie · begonnen am 18. Jan 2012 · letzter Beitrag vom 25. Jan 2012
Antwort Antwort
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#1

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 23. Jan 2012, 15:54
Okay. Ich habe mir jetzt noch einmal Gedanken gemacht und will noch einmal detailliert versuchen, das Problem darzustellen.


Ich möchte bestimmte .cfg - Files in den Ordner X:\***\cstrike importieren. Die zu kopierenden Daten befinden sich in einem relativen Part im gleichen Ordner wie das Programm.

Nun geht es daran, dass ich in meinem Programm den Zielordner lokalisiere, um daraufhin die Files einzufügen.

Jetzt ist meine Frage: Auf welche Weise komme ich an den Pfad? Registry wurde jetzt schon genannt, aber wirklich was gefunden habe ich nicht. Wie kann ich den (unabhängig von der Programmierung) in der Registry den Pfad feststellen. Welche konkrete Datei ist das?

Mit freundlichen Grüßen,

Elexarie.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 23. Jan 2012, 16:00
Schau doch mal nach, ob es unter HKEY_LOCAL_MACHINE\Software\<Hersteller>\<Programm > Einträge gibt. Wenn ja, dann ist da evtl. auch ein Eintrag Uninstallstring vorhanden. Da die meisten Uninstaller m.W.n. im Programmverzeichnis liegen, könnte man dieses auf diese Weise ermitteln.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#3

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 23. Jan 2012, 21:33
Okay.

Ich hab es über TRegistry nun geklärt und hinbekommen.

Jetzt geht es daran, dass ich den relativen Pfad in meinem Programmordner in den bestehenden Pfad kopieren und notfalls ersetzen will!
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 24. Jan 2012, 06:00
Jetzt geht es daran, dass ich den relativen Pfad in meinem Programmordner in den bestehenden Pfad kopieren und notfalls ersetzen will!
Und wo ist da dein Problem? Dateien suchen kannst du ja offenbar schon. Suchst du ForceDirectories um das Zielverzeichnis ggf. anzulegen?

Dann noch zwei allgemeine Punkte:
Denke dran, dass eine relative Verzeichnisangabe "data" oder so nicht auf das Unterverzeichnis deiner Exe zeigt, sondern auf das Arbeitsverzeichnis. Wenn du ein Unterverzeichnis im Verzeichnis deiner Exe ansprechen willst, musst du auch den Pfad aus ParamStr(0) dafür benutzen.

Wenn du in das Verzeichnis eines Programms Daten kopieren willst, brauchst du Adminrechte. Die musst du also vorher anfordern. Entweder bereits beim Start der Exe per Manifest oder sobald du sie zum Kopieren benötigst.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#5

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 24. Jan 2012, 17:16
Hallo und vielen Dank für die Bemerkungen.

Ich habe das Manifest erstellt:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
    <v3:security>
      <v3:requestedPrivileges>
        <v3:requestedExecutionLevel level="highestAvailable" />
      </v3:requestedPrivileges>
    </v3:security>
  </v3:trustInfo>
</assembly>
Es hat auch alles soweit geklappt. Ist es normal, dass ich keine UAC - Anfrage erhalte? Also, ich erkenne nicht, ob es jetzt ein Programm ist, was Adminrechte erfordert. Normalerweise erhält man ja die Anzeige.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#6

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 24. Jan 2012, 17:38
Naja, bei requestedExecutionLevel hast du ja geschrieben highestAvailable, also die höchsten Rechte, die der aktuelle Benutzer hat. Du wolltest aber ja wohl eigentlich eher requireAdministrator, oder?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Elexarie

Registriert seit: 7. Apr 2011
32 Beiträge
 
#7

AW: Konkretes Verzeichnis suchen und Pfad verwenden

  Alt 24. Jan 2012, 17:56
Gibt sich aber kein Unterschied, denn ich bekomme noch immer kein UAC. :S

Also nochmal zusammenfassend:

Project1.rc:

Code:
1 24 "Project1.exe.manifest"
Project1.exe.manifest

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
    <v3:security>
      <v3:requestedPrivileges>
        <v3:requestedExecutionLevel level="requireAdministrator" />
      </v3:requestedPrivileges>
    </v3:security>
  </v3:trustInfo>
</assembly>
Und dann erstelle ich das über den Delphi Compiler und habe dann die Project1.res und diese nenne ich in manifest.res.

Ich binde es über
Code:
{$R manifest.res}
ein.

Was ist der Fehler?
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz