Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie "Öffnen Mit..." von Windows nutzen (https://www.delphipraxis.net/82848-wie-oeffnen-mit-von-windows-nutzen.html)

Kedariodakon 20. Dez 2006 16:21


Wie "Öffnen Mit..." von Windows nutzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich arbeite gerade an einem Programm zur Dokumentenverwaltung.
Nun möchte ich gern im Programm die "Öffnen Mit..." Funktion von Windows integrieren, also genau so, wie diese auch im Explorer über das Contextmenü funktioniert.

Um das zu verdeutlichen hab ich mal ein Screenshot angehängt.
Das rot Umrahmte möchte ich genau so in mein Kontextmenü integrieren, nur hab ich absolut keine Ahnung wo und wie ich da am besten anfange...

Am schönsten wär es, den PopUp-"Öffnen Mit..."-Part direkt von Windows zu integrieren, falls das möglich ist...

Hat da wer einen Ansatzpunkt?


Bye Christian

mkinzler 20. Dez 2006 16:26

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Einfach im SendTo-Ordner in deinem Benutzerprofil anlegen

himitsu 20. Dez 2006 16:28

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Also den Windows-Dialog hatte ich och mal etwas gesucht,

aber die bereits verknüpften Programme findest du unter:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\FileExts\.bmp\OpenWithList

jeweil die entsprechende Dateiendung wählen
und falls ein passender Ordner fehlt, dann wurden halt noch keine Programme damit verknüpft ._.

Sko 20. Dez 2006 16:43

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Also den Dialog bekommst du damit hin:
Delphi-Quellcode:
ShellExecute(Application.Handle,'open',PChar('rundll32.exe'),PChar('shell32.dll,OpenAs_RunDLL ' + Dateiname), nil, SW_SHOWNORMAL);
hab ich mal bei den Schweizern gefunden, die anderen Einträge so wie himitsu schon schrieb.

Kedariodakon 20. Dez 2006 17:02

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mkinzler
Einfach im SendTo-Ordner in deinem Benutzerprofil anlegen

:gruebel: Ich versteh nicht, worauf du hinauswillst...


Zitat:

Zitat von himitsu
Also den Windows-Dialog hatte ich och mal etwas gesucht,

aber die bereits verknüpften Programme findest du unter:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\FileExts\.bmp\OpenWithList

jeweil die entsprechende Dateiendung wählen
und falls ein passender Ordner fehlt, dann wurden halt noch keine Programme damit verknüpft ._.

Darüber bin ich auch schon gestolpert, aber leider passt das hinten und vorne nicht! Hab mal ein paar Sceenshoots zusammengebastelt und angehängt...
Auf denen kann man ganz klar sehen, dass da irgendwie nicht viel Zusammenhang besteht.

Zitat:

Zitat von Sko
Also den Dialog bekommst du damit hin:
Delphi-Quellcode:
ShellExecute(Application.Handle,'open',PChar('rundll32.exe'),PChar('shell32.dll,OpenAs_RunDLL ' + Dateiname), nil, SW_SHOWNORMAL);
hab ich mal bei den Schweizern gefunden, die anderen Einträge so wie himitsu schon schrieb.

:thumb: Das ist schon mal ein sehr guter Anfang!


Bye Christian

himitsu 20. Dez 2006 17:12

Re: Wie "Öffnen Mit..." von Windows nutzen
 
ich weiß, es sind ein paar mehr in der Liste, als angezeigt sind ._.

aber die Reihenfolge (in MRUList) stimmt mit den anderen beiden Listen überein.

Es könnte eventuell noch sein, daß die Dateien in den zuvielen Einträgen nicht mehr existieren :gruebel:

Kedariodakon 20. Dez 2006 17:29

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Zitat:

Zitat von himitsu
ich weiß, es sind ein paar mehr in der Liste, als angezeigt sind ._.

aber die Reihenfolge (in MRUList) stimmt mit den anderen beiden Listen überein.

Es könnte eventuell noch sein, daß die Dateien in den zuvielen Einträgen nicht mehr existieren :gruebel:

:gruebel:

Die Reihenfolge ist: d j i a e c b f g

In wirklichkeit müsste die aber so sein:
1. d Acrobat Reader
4. b Editor
3. c Internet Explorer
2. e Excel

Und egal ob vorwärts oder rückwärts, es past nicht... :zwinker:

Und j, i, a, f und g gibts noch... :angel2:


Bye Christian

mkinzler 20. Dez 2006 17:43

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Zitat:

mkinzler hat folgendes geschrieben:
Einfach im SendTo-Ordner in deinem Benutzerprofil anlegen
Grübelnd... Ich versteh nicht, worauf du hinauswillst...
Hab irgendwie die Frage falsch gelesen und mit "Senden An" verwechselt :oops:

himitsu 20. Dez 2006 18:14

Re: Wie "Öffnen Mit..." von Windows nutzen
 
Zitat:

Zitat von Kedariodakon
:gruebel:

Die Reihenfolge ist: d j i a e c b f g

...

hmmm,

bei mir paßte es jedenfalls :gruebel:

Kedariodakon 4. Jan 2007 16:41

Re: Wie "Öffnen Mit..." von Windows nutzen
 
So nun hatte ich mal Zeit gefunden daran weiter zu arbeiten :wink:
Schon komm ich zum nächsten Problem....

Ich lese nun z.b. für '*.Pdf' die entsprechenden Programme aus HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\FileExts\.pdf\OpenWithList
Und erhalte z.B. Opera.exe

Danach lese ich HKEY_CLASSES_ROOT\Applications\"Programmname"\shell\open\command aus, falls vorhanden...

Soweit gut und schön, nur ist die Notation da sehr unterschiedlich und das sogar unter Microsoftprodukten...

Diese Vielfalten konnte ich finden:
  • "C:\Programme\Opera\Opera.exe" "%1"
  • "C:\Programme\Microsoft Office\Office10\OUTLOOK.EXE" /f "%1"
  • C:\PROGRA~1\PDFACT~2\PDFACT~1.EXE %1
  • rundll32.exe %SystemRoot%\system32\shimgvw.dll,ImageView_Fullsc reen %1
  • C:\Programme\Windows Media Player\wmplayer.exe /Open "%L"
  • C:\PROGRA~1\WinZip\winzip32.exe "%1"
  • C:\PROGRA~1\MICROS~2\OFFICE11\OIS.EXE /shellOpen "%1"
  • %SystemRoot%\system32\NOTEPAD.EXE %1
  • "C:\Programme\Adobe\Photoshop Album Starter Edition\3.0\Apps\ComponentLauncher.exe" module=jpegviewer bg params "filepath=%1"
So das sind mal so unterschiedliche Variantionen die ich finden konnte...

Wie man sehen kann, gibt es die mal mit " dann mal wieder ohne und abundzu mal teils teils
Bei eins bin ich mit sicher, %1 soll bestimmt wenn vorhanden meine zu öffnende Datei sein, aber das war es dann schon...

Ich bekomm das nicht vernünftig aufgearbeitet, um das zu starten, gibts da ev. ne Windows funktion die den Kaudawelsch da öffnet? :drunken:

Bye Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
Seite 1 von 2  1 2      

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