AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Computername abhängig von der Sprache
Thema durchsuchen
Ansicht
Themen-Optionen

Computername abhängig von der Sprache

Ein Thema von EWeiss · begonnen am 15. Mai 2017 · letzter Beitrag vom 15. Mai 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Computername abhängig von der Sprache

  Alt 15. Mai 2017, 08:18
Ich lese den Namen des Computer auf diese weise aus.

if Lnk = ShortCutDisplayName(CSIDL_DRIVES) then
Delphi-Quellcode:
function TShortCut.ShortCutDisplayName(CSIDL: Integer): string;
var
  pidl: PItemIDList;
  sfi: TSHFileInfo;
  Allocator: IMalloc;
begin

  if SHGetSpecialFolderLocation(0, CSIDL, pidl) = S_OK then
    if SHGetFileInfo(PWideChar(pidl), 0, sfi, sizeof(sfi), SHGFI_PIDL or SHGFI_DISPLAYNAME)
      <> 0 then
      Result := sfi.szDisplayName;

  if Succeeded(SHGetMalloc(Allocator)) then
    Allocator.Free(pidl);
end;
Ich möchte abhängig vom übergebenen Link ein Default Icon übergeben.
Sagen wir mal ich erstelle eine Verknüpfung vom Computer dann ist der Name im Link logischerweise "Computer". (Deutsch halt)
Wenn ich den jedoch mit meiner Funktion ShortCutDisplayName gegenprüfe bekomme ich nicht Computer sondern My Computer.

Das hat dann zur folge das ich das vordefinierte Icon nicht laden kann.
Wie komme ich denn jetzt an den Realen Namen wie er in der verwendeten Sprache auch benutzt wird?

gruss

Geändert von EWeiss (15. Mai 2017 um 08:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:19
Die Lokalisierung steht in der Desktop.ini im jeweiligen Verzeichnis.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:23
Hallo,
und was ist mit
GetComputerName?

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:23
Die Lokalisierung steht in der Desktop.ini im jeweiligen Verzeichnis.
OK danke muss ich mir mal anschauen.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:26
Es geht ja nicht nur darum

MyComputer = Computer
MyDocuments = Dokumente
MyMusic = Musik
MyVideo = Video
NetworkNeighborhood = Netzwerk

usw.. Die gängigen Dinge halt.
Ich habe eigentlich angenommen das man hier die korrekten Namen erhält
wenn man eine Verknüpfung davon erstellt und diese gegen prüft.

Wenn man eine Verknüpfung erstellt dann heißt die ja auch nicht MyComputer sondern korrekt in Deutscher Sprache Computer.


gruss

Geändert von EWeiss (15. Mai 2017 um 09:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:31
Ich habe eigentlich angenommen das man hier die korrekten Namen erhält
wenn man eine Verknüpfung davon erstellt und diese gegen prüft.
Nein. Programme bekommen immer erstmal nur die "realen" Namen, denn dass ist es ja, was einen beim Zugriff auf Dateien/Verzeichnisse wirklich interessiert.

Wie wäre SHGetFileInfo von dem Zielverzeichnis, anstatt von der Verlinkung?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Computername abhängig von der Sprache

  Alt 15. Mai 2017, 09:39
Zitat:
Wie wäre SHGetFileInfo von dem Zielverzeichnis, anstatt von der Verlinkung?
Hmmm ich wüsste jetzt nicht wie ich von der Verknüpfung Netzwerk ein Zielverzeichnis ermitteln sollte.

Bei mir steht dann in der Config.
Zitat:
"explorer.exe, Netzwerk, @PATH@UserIcon\48x48\network.png, @PATH@, /N;::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}, 1'"
Das ist Bedingung bei System.lnk Dateien denn sonst lassen sich die Verknüpfungen nicht starten.
Die Verknüpfung hat den Namen Netzwerk und die lese ich mit der vergebenen CSID aus die da wäre CSIDL_NETWORK.
Nur was bringt das wenn ich da NetworkNeighborhood zurück geliefert bekomme.

Ich benötige den Sprachabhängigen Namen um das Parsen/Vergleichen zu können.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz