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
Benutzerbild von juergen
juergen

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

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

  Alt 3. Okt 2016, 12: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.874 Beiträge
 
Delphi 11 Alexandria
 
#2

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

  Alt 3. Okt 2016, 12: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.933 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 3. Okt 2016, 12: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.176 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 3. Okt 2016, 13: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.176 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 4. Okt 2016, 19: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!
Angehängte Grafiken
Dateityp: jpg Standardprogramme festlegen.jpg (158,4 KB, 24x aufgerufen)
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
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 4. Okt 2016, 23:03
Hallo,
hier ist ein Link, allerdings nicht für Delphi.

http://stackoverflow.com/questions/2...-windows-8-8-1
Heiko
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#7

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

  Alt 5. Okt 2016, 08:40
Weiß jemand wie man über Delphi-Code dieses Fenster aufrufen kann?
Probiere:
Delphi-Quellcode:

procedure TForm1.Button10Click(Sender: TObject);
var FN: String;
begin
//Systemsteuerung\Alle Systemsteuerungselemente\Standardprogramme\Standardprogramme festlegen
FN:='/name Microsoft.DefaultPrograms /page pageDefaultProgram';
ShellExecute(0,nil,PChar('control.exe'),PChar(FN),'',SW_SHOWNORMAL);
end;

procedure TForm1.Button11Click(Sender: TObject);
var FN: String;
begin
//Systemsteuerung\Alle Systemsteuerungselemente\Standardprogramme\Dateizuordnungen festlegen
FN:='/name Microsoft.DefaultPrograms /page pageFileAssoc';
ShellExecute(0,nil,PChar('control.exe'),PChar(FN),'',SW_SHOWNORMAL);
end;

procedure TForm1.Button1Click(Sender: TObject);
var FN: String;
begin
FN:='/name Microsoft.DefaultPrograms';
//Systemsteuerung\Alle Systemsteuerungselemente\Standardprogramme\
ShellExecute(0,nil,PChar('control.exe'),PChar(FN),'',SW_SHOWNORMAL);
end;

// oder:

procedure TForm1.Button2Click(Sender: TObject);
var FN: String;
begin
FN:='shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966}';
//Systemsteuerung\Alle Systemsteuerungselemente\Standardprogramme\
ShellExecute(0,nil,PChar('explorer.exe'),PChar(FN),'',SW_SHOWNORMAL);
end;

Geändert von t.roller ( 5. Okt 2016 um 09:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

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

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

  Alt 5. Okt 2016, 20:12
@hoika,
danke für den Link! Das muss ich mir anschauen wenn ich etwas mehr Zeit habe.

@t.roller ,
danke für deine Hilfe!
Direkt der erste Aufruf scheint das zu sein was meinem Wunsch am nächsten kommt.

Euch einen schönen Abend!
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


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:35 Uhr.
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