AGB  ·  Datenschutz  ·  Impressum  







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

Startmenü eintrag

Offene Frage von "Diamondback2007"
Ein Thema von Diamondback2007 · begonnen am 1. Nov 2007 · letzter Beitrag vom 3. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#1

Startmenü eintrag

  Alt 1. Nov 2007, 14:01
Hallo,

ich möchte einen Eintrag ins Startmenü von windows vista und xp machen und zwar dort, wo man auch die systemsteuerung oder ähnliches einblenden kann.
ist dies mit delphi möglich?
wenn ja, wie?

wäre über antworten sehr erfreut!

gruß
Fabian E.
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#2

Re: Startmenü eintrag

  Alt 1. Nov 2007, 14:27
Start->rechtsklick->Eigenschaften->Startmenü->Startmenü anpassen

Da musste ma schaun, vielleicht hilft dir das
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Startmenü eintrag

  Alt 1. Nov 2007, 14:31
er wird wohl eher eine API zum hinzfügen selbstdefinierter Menüpunkte meinen.
Naja... schau am besten mal beim MSDN nach. Ich hab noch nie gehört/gelesen, daß sowas möglich ist.. aber wer weiß? Auf alle Fälle wird es (wenn es geht) wohl auf einen COM-Server (ähnlich eines Deskband) oder eine Shell extension hinauslaufen. Viel Spaß damit *evil grin*
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#4

Re: Startmenü eintrag

  Alt 1. Nov 2007, 14:41
Das funktioniert auf jeden Fall, nur leider weiß ich nicht wie
Jonas
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

Re: Startmenü eintrag

  Alt 1. Nov 2007, 14:51
Hier ist die Procedure dazu:
Delphi-Quellcode:
function CreateShortcut(SourceFileName: string; // the file the shortcut points to
                        Location: ShortcutType; // shortcut location
                        SubFolder, // subfolder of location
                        WorkingDir, // working directory property of the shortcut
                        Parameters,
                        Description: string): // description property of the shortcut
                        string;
const
  SHELL_FOLDERS_ROOT = 'Software\MicroSoft\Windows\CurrentVersion\Explorer';
  QUICK_LAUNCH_ROOT = 'Software\MicroSoft\Windows\CurrentVersion\GrpConv';
var
  MyObject: IUnknown;
  MySLink: IShellLink;
  MyPFile: IPersistFile;
  Directory, LinkName: string;
  WFileName: WideString;
  Reg: TRegIniFile;
begin
  MyObject := CreateComObject(CLSID_ShellLink);
  MySLink := MyObject as IShellLink;
  MyPFile := MyObject as IPersistFile;
  MySLink.SetPath(PChar(SourceFileName));
  MySLink.SetArguments(PChar(Parameters));
  MySLink.SetDescription(PChar(Description));
  LinkName := ChangeFileExt(SourceFileName, '.lnk');
  LinkName := ExtractFileName(LinkName);
  // Quicklauch
  if Location = _QUICKLAUNCH then
  begin
    Reg := TRegIniFile.Create(QUICK_LAUNCH_ROOT);
    try
      Directory := Reg.ReadString('MapGroups', 'Quick Launch', '');
    finally
      Reg.Free;
    end;
  end
  else
  // Other locations
  begin
    Reg := TRegIniFile.Create(SHELL_FOLDERS_ROOT);
    try
    case Location of
      _OTHERFOLDER : Directory := SubFolder;
      _DESKTOP : Directory := Reg.ReadString('Shell Folders', 'Desktop', '');
      _STARTMENU : Directory := Reg.ReadString('Shell Folders', 'Start Menu', '');
      _SENDTO : Directory := Reg.ReadString('Shell Folders', 'SendTo', '');
    end;
    finally
      Reg.Free;
    end;
  end;
  if Directory <> 'then
  begin
    if (SubFolder <> '') and (Location <> _OTHERFOLDER) then
      WFileName := Directory + '\' + SubFolder + '\' + LinkName
    else
      WFileName := Directory + '\' + LinkName;
    if WorkingDir = 'then
      MySLink.SetWorkingDirectory(PChar(ExtractFilePath(SourceFileName)))
    else
      MySLink.SetWorkingDirectory(PChar(WorkingDir));
    MyPFile.Save(PWChar(WFileName), False);
    Result := WFileName;
  end;
end;
Hab jetzt nur nicht die Zeit, das näher zu erläutern, sorry.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Startmenü eintrag

  Alt 1. Nov 2007, 17:20
hm.... ahbe mir mal den source angeschaut
und die werte in der registry und im
dateisystem mal nachvollzogen.

allerdings bin ich der meinung, dass dies
nicht das gesuchte ist.

ich möchte einen eintrag im startmenü haben
und zwar dort, wo z.b. "Ausführen" oder "Arbeistplatz"
steht.

diese optinen kann man ja festlegen.
nun suche ich nach einer möglichkeit,
dort eine programmverknüpfung anzulegen,
oder noch besser gleich eine ordnerstruktur,
welche dann in einer liste ausklappt,
so wie z.b. die systemsteuerung.

näheres siehe anhang.

gruß
Miniaturansicht angehängter Grafiken
startmen__185.png  
Fabian E.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

Re: Startmenü eintrag

  Alt 1. Nov 2007, 18:13
hm, mit diesen Startmenu-Einträgen hab ich mich noch nie beschäftigt.
Ich weiss nur, dass z.B. Programme und alles was darunter steht, auch nur Verzeichnisse sind, die dann *.lnk-Dateien enthalten. Bei der Systemsteuerung ist das sicher anders realisiert. Da kann ich leider nicht helfen
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Startmenü eintrag

  Alt 1. Nov 2007, 19:32
ja das mit den programmen weiß ich auch...
wenn es überhaupt nicht geht ist es auch nicht so schlimmm,
aber das wäre auf jeden fall die sauberste und schönste lösung.

hat noch jemand eine idee?

gruß
Fabian E.
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

Re: Startmenü eintrag

  Alt 2. Nov 2007, 04:19
Zitat von xX0815Xx:
Das funktioniert auf jeden Fall, nur leider weiß ich nicht wie
Wieso bist du dir so sicher? Hast du schon mal ein Programm gesehen, das sich dort verewigt? Ich nicht. Würde mich interessieren, wer sowas schon mal gemacht hat. Außerdem macht das ganze nur Sinn, wenn der User das erweiterte Startmenü aktiviert hat, sonst sieht er die Punkte dort überhaupt nicht.
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Startmenü eintrag

  Alt 2. Nov 2007, 08:10
ich habe so ein programm leider auch noch nie gesehen...
aber wenn es möglich ist, wäre das auch nur eine alternative
zu anderen optionen der darstellung. der user wird sich
das aussuchen können.

weiß jemand nach was ich suchen könnte?

kann man vielleicht windows vortäuschen,
dass die ordner durch andere ersetzt
wurden und damit darauf zugreifen?

gruß
Fabian E.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:58 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