C++ Builder Snippets  

Das Programm in das Explorer-Kontextmenü "Senden an" eintragen:
 
Viele Programme erzeugen bei der Installation neben den Verknüpfungen auf dem Desktop oder im Startmenü auch eine Verknüpfung im Senden an-Kontextmenü des Explorers um dem Anwender direktes Öffnen von Dateien aus dem Windows-Explorer heraus zu ermöglichen.
'Senden an'-Kontextmenu
Diese Funktionalität lässt sich relativ einfach implementieren. Zunächst einmal muss eine Verknüpfung im "Senden an"-Verzeichnis erzeugt werden. Dies kann z.B. mit Hilfe der Funktion CreateShortcut() erfolgen:
TShortcutCfg sShortcut;
sShortcut.slDestFile = ParamStr(0);
sShortcut.slShortcutName = "Senden an - Beispielprojekt";
if(!CreateShortcut(&sShortcut, CSIDL_SENDTO))
  ShowMessage("Fehler beim Erzeugen der Verknüpfung aufgetreten !");

Soll die Verknüpfung entfernt werden, kann die LNK-Datei einfach gelöscht werden (der Name des SendTo-Verzeichnisses kann z.B. mit Hilfe der Funktion GetSystemPath() ermittelt werden):
// Namen der Verknüpfungsdatei bestimmen:
AnsiString slLnkFile = IncludeTrailingBackslash(GetSystemPath(
  CSIDL_SENDTO)) + "Senden an - Beispielprojekt.lnk";
// Falls Verknüpfung existiert, Datei löschen:
if(FileExists(slLnkFile))
  DeleteFile(slLnkFile);
Beim Aufruf Ihrer Anwendung über das "Senden an"-Menü wird der Name der zu öffnenden Datei(en) an ihr Programm als Parameter übergeben. Falls nur eine Programminstanz erlaubt sein soll, müssen Sie die Parameter per Windows-Message WM_COPYDATA an die bereits aktive Instanz senden (s. Snippet Der ggf. bereits aktiven Programminstanz Kommandozeilenparameter übergeben und das Beispielprojekt). Schauen Sie sich am besten auch das Beispielprojekt an.


  Download BCB5
Projekt-Quellcode
Download
Demo-Exe


© '99-2001 by S. Kreutzmann