Einzelnen Beitrag anzeigen

franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#9

Re: "Senden an" im Context Menu ansprechen

  Alt 22. Sep 2004, 00:25
@einsTeIn.NET,
In der Windows 32 SDK Referenz habe ich zwei Themen gefunden, die dir wahrscheinlich helfen werden.

1. Modifying the Context Menu for a File Class
Zitat:
Delphi-Quellcode:
… HKEY_CLASSES_ROOT
  wrifile = Write Document
      shell
        open
          command = C:\Progra~1\Access~1\WORDPAD.EXE %1
            print
               command = C:\Progra~1\Access~1\WORDPAD.EXE /p "%1"

            printto
              command = C:\Progra~1\Access~1\WORDPAD.EXE /pt "%1" "%2" "%3" "%4" …
printto = Drucken mit

… In the preceding commands, the %1 parameter is the filename, %2 is the printer name, %3 is the driver name, and %4 is the port name. In Windows 95, you can ignore the %3 and %4 parameters (the printer name is unique in Windows 95) …
%1 = Dateiname
%2 = Druckername
%3 = Treibername (optional)
%4 = Anschluss (optional)

2. ShellExecute
Zitat:
The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.

HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
); ...
Beispiel
Ich hab’s zwar nicht ausprobiert aber auf die Schnelle habe ich folgendes Beispiel aufgestellt, damit du weißt, wie ShellExecute verwendet werden kann:

ShellExecute(Handel, PChar('print'), PChar('C:\Eigene Dateien\Meine Datei.txt'), PChar('„Druckername“'), nil, SW_ShowNormal); Ganz wichtig ist dabei, dass der Druckername von doppelten Anführungszeichen umschlossen wird. Die Namen der installierten Drucker findest du in der Windows Registrierung unter HKEY_CURRENT_CONFIG\System\CurrentControlSet\Contr ol\Print\Printers.

Damit ShellExecute verwendet werden kann, muss die Unit ShellAPI in die USES Klausel aufgenommen werden.

Da es bei den „Senden an“ Menüeinträgen sich um Verknüpfungen handelt, solltest du dir auch die Themen: „Shell Links“, „About Shell Links“, „Using Shell Links“, „Creating a Shortcut to a File“ und „Creating a Shortcut to a Nonfile Object“ in der Windows 32 SDK Dokumentation anschauen.

Ich hoffe, dass ich die weiterhelfen konnte.
  Mit Zitat antworten Zitat