AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

Ein Thema von juergen · begonnen am 2. Okt 2016 · letzter Beitrag vom 5. Okt 2016
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 2. Okt 2016, 21:40
Hallo zusammen,

ich rufe den "Windows-öffnen-mit-Dialog" folgendermaßen auf:

ShellExecute(Application.Handle, 'open', pchar('rundll32.exe'), pchar('shell32.dll,OpenAs_RunDLL ' + AFileName), nil, SW_SHOWNORMAL); Unter Windows 7 ist in diesem Windows-Dialog der Haken für "Dateityp immer mit dem ausgewählten Programm öffnen" vorhanden.
In Windows 10 sieht der Dialog ja ganz anders aus, mit dem o.g. Aufruf fehlt der Haken. Weiß jemand wie man das hinbekommt dass man unter Windows 10 auch diese Option anbieten kann?
Miniaturansicht angehängter Grafiken
windows-7.jpg   windows-10.jpg  
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#2

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 2. Okt 2016, 21:56
Zitat:
Diese App weiterhin verwenden
ist meiner Meinung nach das Äquivalent zum Haken... nur anders.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 2. Okt 2016, 22:29
@Jim Carrey ,
danke für deine Antwort.
Allerdings sehe ich keine Möglichkeit aus diesem Dialog z.b. dann das Programm "MediaMonkey" als Standard-Programm zu setzen. Beim nächsten öffnen bleibt dann das ursprüngliche Standardprogramm (Aimp oder Groove Music).
Anscheinend werden in diesem Windows 10 Dialog alle Programme unterhalb von "weitere Optionen" nicht als Standardprogramm übernommen...
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 2. Okt 2016, 23:32
Unter Windows 10 wird dafür, wenn ich das aus dem Windows Explorer heraus mache, die OpenWith.exe gestartet. Die bietet diese Option. Egal ob ich diese mit dem Parameter -Embedding starte wie der Windows Explorer oder nicht, das reicht nicht. Da muss noch mehr passieren. Die Exe muss ja auch wissen um welche Dateierweiterung es geht usw.

Wenn du herausfindest wie du diese Exe ausrufen kannst, bist du am Ziel.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 2. Okt 2016, 23:46
@jaenicke,
ich hatte auch schon gesehen, dass wenn man das Ganze über den Explorer aufruft, dann der Dialog die Option anbietet.
Ich schau mal ob ich mit "OpenWith.exe" weiter komme.
Danke und Gute Nacht!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 3. Okt 2016, 13:32
Hallo zusammen,

meine Suche brachte keine Ergebnisse. Ich habe einiges an Aufrufparametern für OpenWith.exe ausprobiert, ohne Ergebnisse.
Ich habe etwas in C++ auf der MSDN Seite gefunden, weiß aber erstens nicht ob mir das überhaupt hilft und wie ich das in Delphi anwenden müsste.
MSDN
Code:
--C++

HRESULT SHOpenWithDialog(
  _In_opt_*******HWND ******hwndParent,
  _In_*****const OPENASINFO *poainfo
);
Dieser neue Open-with-Dialog besteht erst seit Windows 8 -denke ich- und da wird mir wahrscheinlich meine o.g. gefundenen MSDN-Infos auch nicht weiter helfen.

Mein jetziger Workaround: Ich erzeuge eine temporäre Datei von meinem Dateityp. Öffne dann den Explorer und der Benutzer muss dann selbst den "Öffnen-mit-Dialog" für diesen Dateityp auswählen. Ist natürlich unschön.
Bin also weiterhin für jeden Hinweis dankbar!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 3. Okt 2016, 13:34
Das Verhalten ist von Microsoft so gewollt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 3. Okt 2016, 13:40
Wenn du eine Dateierweiterung auf die herkömmliche Weise über die Registry registrierst, sollte beim nächsten Mal, wenn der Benutzer eine solche Datei anklickt, angeboten werden, dass es ein neues Programm dafür gibt.
Das ist eigentlich der vorgesehene Ablauf.

Nichtsdestotrotz registriert z.B. der Installer von Delphi die Erweiterungen auch unter Windows 10 fest, es muss also möglich sein.

Ich habe etwas in C++ auf der MSDN Seite gefunden, weiß aber erstens nicht ob mir das überhaupt hilft und wie ich das in Delphi anwenden müsste.
In Delphi anwenden wäre einfach, du musst die Funktion, wenn sie nicht in Delphi selbst oder in der JEDI API Library drin ist, deklarieren und dazu die Struktur, die du als Parameter brauchst.
Aber in der Doku steht doch auch gleich:
Zitat:
Starting in Windows 10, the OAIF_ALLOW_REGISTRATION, OAIF_FORCE_REGISTRATION, and OAIF_HIDE_REGISTRATION flags will be ignored by SHOpenWithDialog. The Open With dialog box can no longer be used to change the default program used to open a file extension. You can only use SHOpenWithDialog to open a single file.
Es wird dir also gar nichts bringen, da das der von dir schon aufgerufene Dialog ist, nur sauber aufgerufen.

Es kann durchaus sein, dass nur der Windows Explorer den Dialog noch mit dem Häkchen anzeigen darf. Es haben eben zu viele Programme hinter dem Rücken der Anwender Schindluder getrieben... das trifft dann natürlich auch alle, die vorher sauber den Benutzer gefragt haben... aber da ist für Microsoft dann immer die Frage was das kleinere Übel ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 3. Okt 2016, 14:04
Danke euch beiden!
Dass das ein Sicherheitsaspekt seitens MS sein kann, leuchtet ein. Dann werde ich wohl bei meinem Workaround bleiben (müssen).
Da es in meinem Fall um eine schon registrierte Dateiendung geht (m3u, also Playlist), der Benutzer aber ein anderes Programm wie das vor eingestellte Groove auswählen können soll, bleibt mir wohl keine andere Möglichkeit.

Einen schönen Feiertag noch!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Windows 10: Im "Öffnen mit Dialog" fehlt der Haken für Standardanwendung

  Alt 4. Okt 2016, 20:28
Hallo zusammen,

bei der Installation eines neuen Programms habe ich heute gesehen wie es wohl richtig gemacht werden könnte.
Nach dem Setup ging das Fenster von "Standardprogramme festlegen" auf. Dort konnte ich festlegen für welche Dateiendungen dieses neue Programm zuständig sein soll.

Weiß jemand wie man über Delphi-Code dieses Fenster aufrufen kann? (Bild im Anhang)

Zu finden unter
Systemsteuerung | Standardprogramme | Standardprogramm festlegen => Standards für dieses Programm festlegen

Vielen Dank schon mal vorab!
Miniaturansicht angehängter Grafiken
standardprogramme-festlegen.jpg  
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  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 18:49 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