AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CreateShortCut

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

n/a Beiträge
 
#1

AW: CreateShortCut

  Alt 2. Mai 2017, 21:13
Soweit ich weiß, wird Published im Objektinspektor angezeigt, Public nicht.

Habe nicht den Eindruck, dass man diese Eigenschaft unbedingt im Objektinspektor benötigt.

Wenn Du das Teil erst zur Laufzeit erstellst, sollte das (meiner Meinung nach) unkritisch sein.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: CreateShortCut

  Alt 2. Mai 2017, 21:15
Soweit ich weiß, wird Published im Objektinspektor angezeigt, Public nicht.

Habe nicht den Eindruck, dass man diese Eigenschaft unbedingt im Objektinspektor benötigt.

Wenn Du das Teil erst zur Laufzeit erstellst, sollte das (meiner Meinung nach) unkritisch sein.
Ok danke.. Habe aber festgestellt das ich diese Unit nicht nutzen kann weil sie keinen ShortCut erstellt.
Ich möchte einen ShortCut erstellen ohne diesen Abspeichern zu müssen.

Na ok muss den Kram umbauen.

gruss

Geändert von EWeiss ( 2. Mai 2017 um 21:37 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
771 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: CreateShortCut

  Alt 2. Mai 2017, 21:39
Zitat:
Ich möchte einen ShortCut erstellen ohne diesen Abspeichern zu müssen.

Hallo EWeiss

Meinst du mit Shortcut eine .lnk Datei? Wenn Ja: Wo soll der Shortcut erstellt werden?

Was meinst du mit "ohne diesen abspeichern zu müssen"?

Wenn du einen Shortcut erstellst, dann wird doch immer eine Datei mit der "Link-Info" gespeichert? Oder gibt es da andere Möglichkeiten, von denen ich nix weiss?
Michael Gasser
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: CreateShortCut

  Alt 2. Mai 2017, 21:40
Suchst Du sowas?

http://stackoverflow.com/questions/7...top-in-windows
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: CreateShortCut

  Alt 2. Mai 2017, 21:54
Zitat:
Was meinst du mit "ohne diesen abspeichern zu müssen"?
Ich meine die Informationen aus der Verknüpfung auslesen.

Bei WShell (Scrip) will ich nicht verwenden muss man die Verknüpfung erst erstellen um daraus die Informationen zu extrahieren.
Bei IShellLink geht das ohne.

Habe deshalb die Funktion hier anpasst.
Ich übergebe die Verknüpfung und den Rest macht die Funktion.

Delphi-Quellcode:
procedure TWin32ShortCut.LoadShortCut(LnkName: WideString);
var
  FP: array[0..MAX_PATH * 2] of Char;
  pfd: TWin32FindDataW;
  showval: integer;
  psfi: TSHFileInfo;
begin
  ClearValues;
  FPersistFile.Load(PWideChar(LnkName), 0);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetPath(FP, Sizeof(FP), pfd, 0);
  FAppPath := String(FP);

  FShellLink.GetIDList(Fpidl);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetWorkingDirectory(FP, Sizeof(FP));
  FWorkDirectory := String(FP);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetArguments(FP, Sizeof(FP));
  FArguments := String(FP);

  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetDescription(FP, Sizeof(FP));
  FDescription := String(FP);

  FShellLink.GetShowCmd(showval);
  FShowCmd := cvtTShowType(showval);

  FShellLink.GetHotkey(FHotKey);
  HotKeyToShortCut(FHotKey, FHotKeyCtrl);


  FillChar(FP, Sizeof(FP), 0);
  FShellLink.GetIconLocation(FP, Sizeof(FP), FIconIndex);
  FIconPath := String(FP);
  // based on icon information tries to load the icon itself into Icon type.
  if FIconPath = 'then // regular explorer association.
    begin
      SHGetFileInfo(PChar(FAppPath), 0, psfi, sizeof(psfi), SHGFI_ICON);
      FIcon.Handle := psfi.hIcon;
    end
  else // specified in file, go get it.
    FIcon.Handle := ExtractIcon(hInstance, PChar(FIconPath), FIconIndex);
end;
Ich brauche die Daten nachher um die Verknüpfung auf der Bar ausführen zu können.

Zitat:
Suchst Du sowas?
Nein Danke hab das richtige schon gefunden muss die nur meinen Vorstellungen entsprechend anpassen.
Ich möchte ja keinen erstellen sondern die Informationen daraus auslesen.
Warum alles neu erfinden

gruss

Geändert von EWeiss ( 2. Mai 2017 um 23:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: CreateShortCut

  Alt 2. Mai 2017, 23:12
Die Published Property können/sollen/müssen "automatisch" ausgelesen und vorallem gesetzt werden können.
Es sind dort also nur statische Typen und gemanagete Typen möglich/erlaubt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: CreateShortCut

  Alt 2. Mai 2017, 23:28
Die Published Property können/sollen/müssen "automatisch" ausgelesen und vorallem gesetzt werden können.
Es sind dort also nur statische Typen und gemanagete Typen möglich/erlaubt.
Ja nu
Aber irgendwann muss das teil mal inklusive Published gelaufen haben.

Nur mit D2010 macht der Compiler ärger..
Er will hier

property ItemIDList: PItemIDList read FPIdl write FPIdl;

das haben

property ItemIDList: TItemIDList read FPIdl write FPIdl;

Nur dann hätte ich alles ändern müssen.
Deshalb ist es jetzt Public.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: CreateShortCut

  Alt 3. Mai 2017, 08:29
Das mag keine Delphi-Version im Published.

Pointer sind dynamisch und nicht gemanaged, also der Speicher wird nicht "automatisch" freigegeben/verwaltet.



TItemIDList geht natürlich nur, wenn PItemIDList nicht zufällig eine "Liste" aus mehreren ItemIDs (TItemIDList) ist, hab da aber grade keine Ahnung.
Ein Therapeut entspricht 1024 Gigapeut.
  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 16:12 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