Delphi-PRAXiS
Seite 7 von 8   « Erste     567 8      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Ordnung muss sein (LaunchBar) (https://www.delphipraxis.net/192767-ordnung-muss-sein-launchbar.html)

API 16. Aug 2018 12:59

AW: Ordnung muss sein (LaunchBar)
 
Die LaunchBar wird beim Öffnen immer in der Mitte des Bildschirms angezeigt. Vermutlich liegt es daran, dass meine Taskleiste links positioniert ist.

EWeiss 16. Aug 2018 13:29

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von Sherlock (Beitrag 1410857)
Windows 10 Pro (Version 1803 [Build 17134.228]

Hab OTTB.zip in meinem Download Ordner entpackt und von dort aus ausgeführt. Funktioniert ohne Fehlermeldung und sieht gefällig aus.
Ich brauche es allerdings nicht und habs wieder geschlossen und gelöscht.

Schöne Arbeit aber!

Sherlock

Danke für das Feedback.

Zitat:

Die LaunchBar wird beim Öffnen immer in der Mitte des Bildschirms angezeigt. Vermutlich liegt es daran, dass meine Taskleiste links positioniert ist.
Du meinst sicherlich Zentriert auf dem Bildschirm denn mittig ist er immer.
Hmm.. wie soll ich das gegen prüfen.

Zitat:

ich wollte Dich nur rasch Wissen lassen das die "Cleanup" Fenster nun allesamt bei mir ihr Werk ohne Probleme verrichten!
Fein ;)
Hoffe die Änderung mit dem Button ist ok das er erst sichtbar wird beim drüberfahren.
Er macht mir sonst das Gesamtbild kaputt.
Zitat:

Komisch. Damit liest der Windows Explorer das Icon aber selbst aus (und zeigt es ja vermutlich richtig an).
Egal bei welcher .lnk Datei ich das teste, es klappt, wenn ich die direkt dort angebe.
Die frage ist wie bekomme ich den Installer weg.
Ich möchte gern das Originale Icon anzeigen lassen.

Problem Dokumentiert mit Bildern. (Bei allen Windows Versionen)
Der Explorer zeigt es doch richtig an..

gruss

API 16. Aug 2018 13:43

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von EWeiss (Beitrag 1410867)
Zitat:

Die LaunchBar wird beim Öffnen immer in der Mitte des Bildschirms angezeigt. Vermutlich liegt es daran, dass meine Taskleiste links positioniert ist.
Du meinst sicherlich Zentriert auf dem Bildschirm denn mittig ist er immer.
Hmm.. wie soll ich das gegen prüfen.

Ja genau, vertikal zentriert.

So prüfen: Taskleiste links andocken und deine Exe starten.

EWeiss 16. Aug 2018 13:47

AW: Ordnung muss sein (LaunchBar)
 
Jo bei mir das gleiche. Danke..
Muss mal sehen wie ich das gegenprüfe am besten auf die weite der TaskLeiste hin prüfen, anschließend die Y\Top Position zur höhe des Desktop berechnen.

Zitat:

Bin zu faul zum Suchen: in welcher Unit legt man das gräßliche Grün des Menüs fest?
Sage mir die Farbe die du gerne anstelle des grün verwenden möchtest.
Dann ändere ich es für dich ab.

Dann benötige ich natürlich noch die Font Farbe für die Schrift der Seitenbar und die der Text Button.
Im Format RGB

gruss

EWeiss 16. Aug 2018 14:55

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

@API Ja genau, vertikal zentriert.

So prüfen: Taskleiste links andocken und deine Exe starten.
Hier der Fix..
Danke für die Meldung.

gruss

jaenicke 16. Aug 2018 16:29

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von EWeiss (Beitrag 1410867)
Problem Dokumentiert mit Bildern. (Bei allen Windows Versionen)
Der Explorer zeigt es doch richtig an..

Dort liest du den Iconpfad aus. Den bekommst du in der Tat nicht. Du kannst nur das Handle holen. Ich habe es gerade auch mit SnagIt getestet, auch das klappt problemlos.

EWeiss 16. Aug 2018 16:43

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von jaenicke (Beitrag 1410886)
Zitat:

Zitat von EWeiss (Beitrag 1410867)
Problem Dokumentiert mit Bildern. (Bei allen Windows Versionen)
Der Explorer zeigt es doch richtig an..

Dort liest du den Iconpfad aus. Den bekommst du in der Tat nicht. Du kannst nur das Handle holen. Ich habe es gerade auch mit SnagIt getestet, auch das klappt problemlos.

Kleines Beispiel wie du das meinst?
bzw. an Hand meines Quell Textes fixen?

Ich behaupte das es nicht funktioniert.
Denn warum geht es bei dir und auf meinen Systemen nicht.
Man achte auf die Feinheiten.

Zitat:

Du kannst nur das Handle holen
Von was wenn der Pfad zur EXE nicht bekannt ist.

gruss

old7 16. Aug 2018 20:22

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

OTTB\bin\SkinResource\PopUpWindow\OTTB.ske
Mit Notepad öffnen und den Eintrag editieren mit der Schriftfarbe die dir am liebsten ist.
"ACTIVECAPTION, 255,255,255,0" ' Active caption text color. // wäre Gelb (SideMenu)
"BTNTEXTCOLOR, 255,255,255,0" ' Push button ARGB text color. // wäre Gelb (ButtonText)
Danke, das hatte ich noch vermisst, um grün endgültig wegzubekommen ;-)

In der Zip-Datei von #1 sind übrigens zwei uGlobal.pas drin. Absicht oder Versehen?

jaenicke 16. Aug 2018 20:30

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von EWeiss (Beitrag 1410887)
Kleines Beispiel wie du das meinst?
bzw. an Hand meines Quell Textes fixen?

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);

  SHGetFileInfo(PChar(LnkName), 0, psfi, sizeof(psfi), SHGFI_ICON);
  FIcon.Handle := psfi.hIcon;
end;
Wobei es natürlich Sinn macht auch den Rückgabewert auszuwerten.

EWeiss 16. Aug 2018 20:32

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

In der Zip-Datei von #1 sind übrigens zwei uGlobal.pas drin. Absicht oder Versehen?
War ein update und kannst du löschen im Ordner _unit

gruss

EWeiss 16. Aug 2018 20:42

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Wobei es natürlich Sinn macht auch den Rückgabewert auszuwerten.
Mag ja sein..
Aber nein deine Funktion bzw. Änderungen haben den gleichen Effekt wie den von mir einige Seiten vorher geschickten Screenshot.

Keine Ahnung was du machst aber es funktioniert nicht!
Ich bekomme das Icon des Installer.

Ok ich muss das selber richten. :) Danke für deine Unterstützung.

gruss

EWeiss 16. Aug 2018 21:58

AW: Ordnung muss sein (LaunchBar)
 
Habe das Problem gefixt.. aber nichts an meiner Funktion verändert.
Delphi-Quellcode:
procedure TWin32ShortCut.LoadShortCut(LnkName: WideString);


Anbei ein Update..
Für die, die es testen wollen.

gruss

KodeZwerg 16. Aug 2018 22:12

AW: Ordnung muss sein (LaunchBar)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EWeiss (Beitrag 1410906)
Für die, die es testen wollen.

Bilder sagen mehr als tausend Worte, sei nicht enttäuscht, mir ist es egal. Anhang 49771
Ich habe ja Details bereits gepostet, und da zeigt nichts auf irgendwas mit "Install", ich habs bestimmt falsch Verstanden wie Du/Ihr das meint.

EWeiss 16. Aug 2018 22:20

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410909)
Zitat:

Zitat von EWeiss (Beitrag 1410906)
Für die, die es testen wollen.

Bilder sagen mehr als tausend Worte, sei nicht enttäuscht, mir ist es egal. Anhang 49771
Ich habe ja Details bereits gepostet, und da zeigt nichts auf irgendwas mit "Install", ich habs bestimmt falsch Verstanden wie Du/Ihr das meint.

Versuche mal eine andere Datei aus Program Files. .Bitte!
Dann berichte nochmal :)

Zitat:

ich habs bestimmt falsch Verstanden wie Du/Ihr das meint.
Das war ein anderes Problem ;)
Hat nichts hiermit zu tun.

gruss

KodeZwerg 16. Aug 2018 22:30

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von EWeiss (Beitrag 1410911)
Versuche mal eine andere Datei aus Program Files. .Bitte!

Das ist das Problem hier bei mir, jupp. Hab ne Verknüpfung erstellt mit gleichem Ergebnis.
Zitat:

Zitat von EWeiss (Beitrag 1410911)
Dann berichte nochmal :)

Hiermit getan.:lol:

EWeiss 16. Aug 2018 22:32

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410915)
Zitat:

Zitat von EWeiss (Beitrag 1410911)
Versuche mal eine andere Datei aus Program Files. .Bitte!

Das ist das Problem hier bei mir, jupp. Hab ne Verknüpfung erstellt mit gleichem Ergebnis.
Zitat:

Zitat von EWeiss (Beitrag 1410911)
Dann berichte nochmal :)

Hiermit getan.:lol:

Ich will dich nicht ärgern aber du hast 1 mal Raten frei! Warum das so ist.
Danach gebe ich dir die Antwort wenn deine Antwort falsch ist. ;)

gruss

KodeZwerg 16. Aug 2018 22:33

AW: Ordnung muss sein (LaunchBar)
 
Ok, Raten würde ich das es an Benutzerkontensteuerung liegt da es ein protected Ordner ist.

EWeiss 16. Aug 2018 22:35

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410918)
Ok, Raten würde ich das es an Benutzerkontensteuerung liegt da es ein protected Ordner ist.

Nein.. ;)
Du versuchst mit einer 32Bit Anwendung eine 64Bit Anwendung zu öffnen und daraus Daten zu entnehmen..
Sorry mein Freund das kann nicht funktionieren.
Program Files (64Bit)

Würde ich jetzt OTTB auf 64Bit umstellen dann gäbe es da keine Probleme.

gruss

KodeZwerg 16. Aug 2018 22:41

AW: Ordnung muss sein (LaunchBar)
 
Das kann ich gerade nicht nachvollziehen aber werde gleich mal ein Laufwerk suchen und verbinden.
Mit einem 32bit TotalCommander werden mir Icons auch aus 64bit .exe Dargestellt.

Ich suche meine Delphi App 32bit und berichte bzw poste Code den ich benutze um Icons zu abzuholen wenn Erfolgreich getestet.

EWeiss 16. Aug 2018 22:45

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410921)
Das kann ich gerade nicht nachvollziehen aber werde gleich mal ein Laufwerk suchen und verbinden.
Mit einem 32bit TotalCommander werden mir Icons auch aus 64bit .exe Dargestellt.

Ich suche meine Delphi App 32bit und berichte bzw poste Code den ich benutze um Icons zu abzuholen wenn Erfolgreich getestet.

Ist doch ganz einfach teste es doch mit anderen Anwendungen unter Program Files.
Ich kann dir jetzt schon sagen das schlägt immer fehl.

Das einzige was du versuchen könntest.
Erstelle von dem Firewall Dingsbums ein Verknüpfung im Startmenu..
Dort klickst du sie mit Rechts an und erstellst mit "Senden an" Desktop (Verknüpfung) eine neue Verknüpfung auf den Desktop.
Vielleich wird diese dann umgelenkt und du bekommst das richtige Icon.

Ich habe die selben Problem mit "Programm Files" Dateien. (Unter Windows 7 und 10)

gruss

EWeiss 16. Aug 2018 22:57

AW: Ordnung muss sein (LaunchBar)
 
Ok! Du hast recht hat nichts mit 64Bit zu tun.
Aber!
Wenn ich aus Program Files bsp. von DVDMaker.exe eine Verknüpfung auf dem Desktop erstelle dann schlägt es fehl.
Kopiere ich die Datei in einem anderen Pfad bsp. "D:\" oder "C:\Program Files (x86)" und erstelle dann eine Verknüpfung auf dem Desktop dann funktioniert es.

gruss

KodeZwerg 16. Aug 2018 23:02

AW: Ordnung muss sein (LaunchBar)
 
Mein Ergebnis:

Hole ich mir das Icon über .lnk ab = Genau wie bei Dir.
Hole ich mir das Icon direkt von .exe ab = Es wird mir Angezeigt.

hmmm..... ich schau mal wie ich meine App dazu bewegen kann das die Datei direkt angesprochen wird. Ich berichte später nochmal, das juckt mich jetzt. (Keine Bange, ist non-Vcl)

EWeiss 16. Aug 2018 23:09

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410927)
Mein Ergebnis:

Hole ich mir das Icon über .lnk ab = Genau wie bei Dir.
Hole ich mir das Icon direkt von .exe ab = Es wird mir Angezeigt.

hmmm..... ich schau mal wie ich meine App dazu bewegen kann das die Datei direkt angesprochen wird. Ich berichte später nochmal, das juckt mich jetzt. (Keine Bange, ist non-Vcl)

OK ;)
Kopiere die Datei auf den Desktop erstelle dann einen link davon auch auf dem Desktop dann funktioniert es. ;)
Ich glaube ohne das setzen in OTTB von speziellen Zugriffsrechten wird das nicht.
Habe ja noch nicht mal als Admin vollen Zugriff auf Programm Files. LOL

gruss

old7 16. Aug 2018 23:16

AW: Ordnung muss sein (LaunchBar)
 
@KodeZwerg
Warum installierst du dir eigentlich nicht einfach die Community-Editon von Delphi?
Damit kompiliert Emils SourceCode völlig problemlos :thumb:

Mit einem guten Backup-/Restore-Programm (z.B. https://www.minitool.com/backup/system-backup.html) sollte es eigentlich kein Problem sein, damit ein bißchen Herumzuspielen, oder?

Ich versuche erst garnicht, den OTTB-Code mit meinem Delphi7 zu kompilieren :wink:

Gut's Nächtle

KodeZwerg 16. Aug 2018 23:18

AW: Ordnung muss sein (LaunchBar)
 
Ok, meine App ist Admin berechtigt, vielleicht kann sie deswegen in \Program Files\ auf .exe Zugreifen?... steht auch noch aus zu testen Meinerseits.

Mein momentaner nachvollziehbarer Workaround wäre, extrahiere aus .lnk die Daten und Parse sie manuell.
also ne "if extension(.lnk) dann splitte .lnk in Delphi Variablen" zum Auswerten "else SHGetFileInfo()".
Da suche ich gerade ob es auch ohne ComObj was gibt, weil das mag ich nicht in mein non-Vcl aufnehmen.

EWeiss 16. Aug 2018 23:23

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410931)
Ok, meine App ist Admin berechtigt, vielleicht kann sie deswegen in \Program Files\ auf .exe Zugreifen?... steht auch noch aus zu testen Meinerseits.

Mein momentaner nachvollziehbarer Workaround wäre, extrahiere aus .lnk die Daten und Parse sie manuell.
also ne "if extension(.lnk) dann splitte .lnk in Delphi Variablen" zum Auswerten "else SHGetFileInfo()".
Da suche ich gerade ob es auch ohne ComObj was gibt, weil das mag ich nicht in mein non-Vcl aufnehmen.

Hat keinen Sinn denn ich habe keinerlei rechte unter "Program Files" das ist mein Problem.
Selbst beim DVDMaker.exe kann ich keinerlei rechte setzen werden alle verweigert.
Und das ist unser Problem mit Daten aus dem Ordner ;)

Neue Version hochgeladen.

gruss

KodeZwerg 17. Aug 2018 00:29

AW: Ordnung muss sein (LaunchBar)
 
Es macht Sinn.

Wenn ich .lnk auswerten kann, ist es gefixt.
Hab gerade mit einem Vcl 32bit non-Admin probiert in \Program Files\ zu gehen, kein Problem, Icons werden auch angezeigt für 75bit .exe.

Beide Sources sind Delphi 7 only, ich erstelle mir mal was für D2009 was etwas ähnliches vollbringt, mir ne Dateiliste mit Infos auswertet.

EWeiss 17. Aug 2018 00:32

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410934)
Es macht Sinn.

Wenn ich .lnk auswerten kann, ist es gefixt.
Hab gerade mit einem Vcl 32bit non-Admin probiert in \Program Files\ zu gehen, kein Problem, Icons werden auch angezeigt für 75bit .exe.

Beide Sources sind Delphi 7 only, ich erstelle mir mal was für D2009 was etwas ähnliches vollbringt, mir ne Dateiliste mit Infos auswertet.

Die Icons direkt aus der EXE ist nicht das Problem ;) wir müssen sie über die Verknüpfung auslesen.
Extrahieren kann ich sie auch oder mit Resource Hacker 32 Bit anzeigen.

gruss

KodeZwerg 17. Aug 2018 00:45

AW: Ordnung muss sein (LaunchBar)
 
Vielleicht reden wir an einander vorbei, ich geh jetzt mal auf nummer sicher und zeige dir hier was ich meine.

Ich Suche nach einer Methode die das macht was dort gezeigt wird.
Delphi-Quellcode:
  TShellLinkInfoStruct = record
    FullPathAndNameOfLinkFile: array[0..MAX_PATH] of Char;
    FullPathAndNameOfFileToExecute: array[0..MAX_PATH] of Char;
    ParamStringsOfFileToExecute: array[0..MAX_PATH] of Char;
    FullPathAndNameOfWorkingDirectroy: array[0..MAX_PATH] of Char;
    Description: array[0..MAX_PATH] of Char;
    FullPathAndNameOfFileContiningIcon: array[0..MAX_PATH] of Char;
    IconIndex: Integer;
    HotKey: Word;
    ShowCommand: Integer;
    FindData: TWIN32FINDDATA;
  end;
Dieses Record will ich gefüllt haben ohne
Delphi-Quellcode:
uses ShlObj, ComObj, ActiveX, CommCtrl;

EWeiss 17. Aug 2018 00:52

AW: Ordnung muss sein (LaunchBar)
 
OK ;)
Lasse mich mal überraschen.

gruss

KodeZwerg 17. Aug 2018 01:03

AW: Ordnung muss sein (LaunchBar)
 
Ich weiß ja nicht ob für Dich akzeptabel mit den Uses, in meinem non-Vcl ist das Kontroproduktiv.

Das löst aber dieses "hab nix Icon Problem" für 64bit .exe Verknüpfung aus \Program Files\, ob Admin oder Gast, beides klappt.

Dann halt Record auswerten ob FullPathAndNameOfFileContiningIcon oder FullPathAndNameOfFileToExecute zu nutzen ist, jeweils mit IconIndex auswerten = Man hat mit 32bit auch 64bit .exe Icons von Verknüpfung.

EWeiss 17. Aug 2018 01:07

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410939)
Ich weiß ja nicht ob für Dich akzeptabel mit den Uses, in meinem non-Vcl ist das Kontroproduktiv.

Das löst aber dieses "hab nix Icon Problem" für 64bit .exe Verknüpfung aus \Program Files\, ob Admin oder Gast, beides klappt.

Dann halt Record auswerten ob FullPathAndNameOfFileContiningIcon oder FullPathAndNameOfFileToExecute zu nutzen ist, jeweils mit IconIndex auswerten = Man hat mit 32bit auch 64bit .exe Icons von Verknüpfung.

Ich möchte nicht von meiner uIShellItem.pas abweichen denn dann müsste ich für dieses eine Problem alles neu schreiben.
Das wäre dann doch zu viel des guten ;)

Zitat:

Damit kompiliert Emils SourceCode völlig problemlos
Ja sollte kein Problem sein.. Aber jetzt kommt das große ABER.. Die Dateien sind dann kompiliert 3x mal so groß.

gruss

KodeZwerg 17. Aug 2018 01:11

AW: Ordnung muss sein (LaunchBar)
 
Öhmm, Danke für den Tipp mit Unit Namen, hab da mal reingeschaut.
Delphi-Quellcode:
  TWin32ShortCut = class(TBaseShortcut)
    private
      FShellLink: IShellLink;
      FPersistFile: IPersistFile;
      FAppPath: String;
      FRelativePath: String;
      FPIDL: PItemIDList;
      FWorkDirectory: String;
      FArguments: String;
      FDescription: String;
      FShowCmd: TShowType;
Du hast doch bereits alles, ich schau mal ob ich in der Lage bin mit dieser Unit ein D2009 Projekt zum Laufen bekomme. Ansonsten ist Sonntag CE fällig :)

edit
Nicht mehr jetzt, Gute Nacht.

KodeZwerg 17. Aug 2018 12:22

AW: Ordnung muss sein (LaunchBar)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hello Emil!

Also ich habe mich nochmal dem Thema lnk Datei gewidmet.
Bin mit einer Vcl Testanwendung auch zu ein paar Ergebnissen gekommen.
Siehe Anhang 49774
Was da völlig falsch läuft ist wie dieser ShortCut aufgelöst wird.
Wahrscheinlich da meine Anwendung 32bit ist ersetzt Windows die Quelle automatisch.
Wenn ich mir die Link Datei mit einem HexEdit betrachte, da steht nix von (x86) im Pfad.

Also meine momentane Lösung ist mehr als dürftig.

EWeiss 17. Aug 2018 15:15

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Was da völlig falsch läuft ist wie dieser ShortCut aufgelöst wird.
Na ja ist nicht nur dieser es sind alle ShortCut von Anwendungen unter Program Files.

gruss

KodeZwerg 17. Aug 2018 16:20

AW: Ordnung muss sein (LaunchBar)
 
Jupp, deswegen Suche ich nach einer anderen Methode eine .lnk Datei zu entziffern als über ComObj. Da greift Windows ein und ich kann nichts machen ausser die .exe mit dem Working Path zu parsen, was irgendwie nicht Sinn und Zweck der Sache ist.
Ich schau mir mal an ob ich ne .lnk nicht auch Binär auslesen kann, muss doch machbar sein so was.

EWeiss 17. Aug 2018 16:29

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410988)
Jupp, deswegen Suche ich nach einer anderen Methode eine .lnk Datei zu entziffern als über ComObj. Da greift Windows ein und ich kann nichts machen ausser die .exe mit dem Working Path zu parsen, was irgendwie nicht Sinn und Zweck der Sache ist.
Ich schau mir mal an ob ich ne .lnk nicht auch Binär auslesen kann, muss doch machbar sein so was.

Habe schon einiges versucht Adminrechte im Manifest..
Die Attribute selbst zu ändern und, und muss noch mal debuggen eventuell ein Problem im Code selbst wie beim "Installer Path"

gruss

KodeZwerg 17. Aug 2018 17:30

AW: Ordnung muss sein (LaunchBar)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich gehe immer noch davon aus das es nicht die Admin oder Zugriffs Rechte sind sondern die Art und Weise wie Windows Programm-Anfragen bedient.
Schau Dir doch mal so eine Link Datei näher an Anhang 49775
Obwohl ein fester .exe Pfad angegeben, greift Windows nicht darauf zu sondern bastelt sich die Informationen aus CSIDL und dem Solo-Namen zusammen, so ist jedenfalls meine Vermutung nach etlichen Tests unter Aufsicht von FileMon/ProcMon.

EWeiss 17. Aug 2018 18:05

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410997)
Ich gehe immer noch davon aus das es nicht die Admin oder Zugriffs Rechte sind sondern die Art und Weise wie Windows Programm-Anfragen bedient.
Schau Dir doch mal so eine Link Datei näher an Anhang 49775
Obwohl ein fester .exe Pfad angegeben, greift Windows nicht darauf zu sondern bastelt sich die Informationen aus CSIDL und dem Solo-Namen zusammen, so ist jedenfalls meine Vermutung nach etlichen Tests unter Aufsicht von FileMon/ProcMon.

Ok ;) Danke
Ich muss mich erst mal um ein anderes Problem kümmern, die Qualität der Icons ist schlecht.

gruss

jaenicke 17. Aug 2018 20:01

AW: Ordnung muss sein (LaunchBar)
 
Zitat:

Zitat von KodeZwerg (Beitrag 1410997)
Obwohl ein fester .exe Pfad angegeben, greift Windows nicht darauf zu sondern bastelt sich die Informationen aus CSIDL und dem Solo-Namen zusammen, so ist jedenfalls meine Vermutung nach etlichen Tests unter Aufsicht von FileMon/ProcMon.

Da brauchst du nicht viel testen. Nimm einfach einen Hexeditor und überschreibe z.B. das Program aus Program Files in dem Pfad. Rufst du dann aber GetPath auf, bekommst du trotzdem Program Files (x86).
Der Grund ist wie vermutet, dass beim Laden des Links die darin enthaltenen CLSIDs aufgelöst werden. Das kann man leicht testen, indem man einen Haltepunkt auf die entsprechende API-Funktion SHGetKnownFolderPath setzt. Die wird dabei nämlich aufgerufen.

Die sinnvollste Lösung dafür ist tatsächlich einfach auf 64-Bit zu gehen, wenn man diese Information benötigt.

Ich selbst habe .lnk Dateien immer lediglich an ShellExecute gefüttert, habe aber den Pfad dort nicht ausgelesen. Den Pfad zu nehmen um den Prozess zu starten ist keine so gute Idee, da man damit alle solchen "Features" zur Auflösung der korrekten Pfade übergeht. Und zur Anzeige könnte man ihn manuell aus der .lnk Datei herausfriemeln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.
Seite 7 von 8   « Erste     567 8      

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