AGB  ·  Datenschutz  ·  Impressum  







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

Programm in Win11 Startmenü eintragen

Ein Thema von dpKlaus · begonnen am 8. Feb 2025 · letzter Beitrag vom 10. Feb 2025
Antwort Antwort
dpKlaus

Registriert seit: 1. Nov 2020
17 Beiträge
 
#1

AW: Programm in Win11 Startmenü eintragen

  Alt 8. Feb 2025, 23:45
Vielen Dank für den Hinweis. Es klappt bei zwei Programmen.

Ich hab aber wohl noch ein Problem bei der Function "CreateLink". Da habe ich keine ordentliche Verknüpfung. Zwar stehen die beiden "Verknüpfungen" in einem Ordner des StartMenues aber es gibt keinen Bezug zu den zu startenden Programmen. Ich glaube hier liegt ein Problem bei den Strings.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#2

AW: Programm in Win11 Startmenü eintragen

  Alt 9. Feb 2025, 18:20
Hmm...

bei Unicode-Delphi ist PChar ein PWideChar..

Zitat:
Code:
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink,nil,CLS CTX_INPROC_SERVER, IID_IShellLinkA, psl)) then
Hier holst Du aber per IID_IShellLinkA eine Ansi Version...

Sollte dass dann nicht IID_IShellLinkW sein und explizit PWideChar statt PChar verwenden?

Besser mit strickten Typen (WideString / IShellLinkW / PWideChar / IID_IShellLinkW) arbeiten, dann gibt es auch keine Verwechslung...
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
dpKlaus

Registriert seit: 1. Nov 2020
17 Beiträge
 
#3

AW: Programm in Win11 Startmenü eintragen

  Alt 10. Feb 2025, 14:51
Vielen Dank für die Hilfe.
Es funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Programm in Win11 Startmenü eintragen

  Alt 10. Feb 2025, 16:45
Nunja, der Code ist sooooooooo alt, noch lange vor Delphi 2009 (so, wie es aussieht).

Dabei ist es doch eigentlich ganz einfach:
IID_IShellLinkA, IShellLinkA, PAnsiChar und AnsiString
IID_IShellLinkW, IShellLinkW, PWideChar und WideString/UnicodeString
IID_IShellLink, IShellLink, PChar und String

Dann noch das andere Problem, eine total nutzlose Fehlerbehandlung, welche nur ein Boolean zurückliefert, anstatt der eigentlichen Fehlerinformation (Fehlercode/-text),
so dass niemand hören konnte, warum es nicht geht,
und zusätzlich auch noch diese nichtssagende Info komplett ignoriert. (Result nicht ausgewertet)


PS: [DELPHI] dein Code [/DELPHI]
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Feb 2025 um 16:51 Uhr)
  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 02:41 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