Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   UAC Steuerungsdialog Win10 (https://www.delphipraxis.net/199075-uac-steuerungsdialog-win10.html)

TiGü 4. Jan 2019 08:46

AW: UAC Steuerungsdialog Win10
 
Zitat:

Zitat von jaenicke (Beitrag 1422614)
Zitat:

Zitat von TiGü (Beitrag 1422612)
Schlußfolgerung: Du kannst ab Windows 8 und aufwärts nicht mehr so wie früher zu Windows XP und 7 Zeiten die Dateizuordnung programmatisch setzen.

Doch schon, das ist auch so gedacht, aber eben nur über den (auch damals empfohlenen) Weg über die Strukturen in HKEY_CLASSES_ROOT. Windows fragt dann wie schon geschrieben den User und setzt dann die beschriebenen Einstellungen. Dass diese Einstellungen vorher schon existierten und nun nur durch einen Hash gesichert werden, wusste ich gar nicht.

Du meinst, du schreibst in HKEY_CLASSES_ROOT? Da sollten wir nochmal drüber nachdenken:

Zitat:

Important considerations about file types include:

The HKEY_CLASSES_ROOT subtree is a view formed by merging HKEY_CURRENT_USER\Software\Classes and HKEY_LOCAL_MACHINE\Software\Classes

In general, HKEY_CLASSES_ROOT is intended to be read from but not written to. For more information, see the HKEY_CLASSES_ROOT article.

To register a file type globally on a particular computer, create an entry for the file type in the HKEY_LOCAL_MACHINE\Software\Classes subkey.

To make a file type registration visible to the current user only, create an entry for the file type in the HKEY_CURRENT_USER\Software\Classes subkey.
Quelle: https://docs.microsoft.com/en-us/win.../fa-file-types

Zitat:

FYI, HKEY_CLASSES_ROOT is a thing of the past. It comes from Windows 3.1 Starting with Windows 95, new applications should use HKEY_CURRENT_USER\Software\Classes or HKEY_LOCAL_MACHINE\Software\Classes . If you use the former, you register the file extension just for the logged on user; if you use the latter you register the file extension for all users. You should get used to do it like this, despite the great amount of information out there that points to HKEY_CLASSES_ROOT .
Quelle: https://social.msdn.microsoft.com/Fo...forum=netfxbcl

EWeiss 4. Jan 2019 08:54

AW: UAC Steuerungsdialog Win10
 
Zitat:

Doch schon, das ist auch so gedacht, aber eben nur über den (auch damals empfohlenen) Weg über die Strukturen in HKEY_CLASSES_ROOT. Windows fragt dann wie schon geschrieben den User und setzt dann die beschriebenen Einstellungen. Dass diese Einstellungen vorher schon existierten und nun nur durch einen Hash gesichert werden, wusste ich gar nicht.
Nein ist das gleiche Verhalten wie schon mit HKEY_CURRENT_USER nun gut wie dem auch sei.

gruss

EWeiss 4. Jan 2019 09:03

AW: UAC Steuerungsdialog Win10
 
Zitat:

Schlußfolgerung: Du kannst ab Windows 8 und aufwärts nicht mehr so wie früher zu Windows XP und 7 Zeiten die Dateizuordnung programmatisch setzen.
Dann wüsste ich gerne wie man sonst Commandlines, Icons und Konsorte dem Extension zuweisen soll wenn nicht über die Registry.
Zudem macht Windows Media Player genau das gleiche es legt die Extension in HKEY_LOCAL_MACHINE ab.
Ob sie jetzt programmatisch zugeordnet werden oder zur Installationszeit kann nicht sagen fakt ist jedoch sie stehen in der Registry.

Siehe Shot!

gruss

jaenicke 4. Jan 2019 12:15

AW: UAC Steuerungsdialog Win10
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EWeiss (Beitrag 1422618)
Nein ist das gleiche Verhalten wie schon mit HKEY_CURRENT_USER nun gut wie dem auch sei.

Es stimmt, man sollte nicht unter HKEY_CLASSES_ROOT direkt schreiben. Das Eintragen unter HCKU\...\Classes funktioniert hier aber problemlos. Beispielprojekt im Anhang, welches sich selbst z.B. für *.test registriert.

EWeiss 4. Jan 2019 13:22

AW: UAC Steuerungsdialog Win10
 
Zitat:

Zitat von jaenicke (Beitrag 1422635)
Zitat:

Zitat von EWeiss (Beitrag 1422618)
Nein ist das gleiche Verhalten wie schon mit HKEY_CURRENT_USER nun gut wie dem auch sei.

Es stimmt, man sollte nicht unter HKEY_CLASSES_ROOT direkt schreiben. Das Eintragen unter HCKU\...\Classes funktioniert hier aber problemlos. Beispielprojekt im Anhang, welches sich selbst z.B. für *.test registriert.

Ich habe nicht behauptet das es nicht funktioniert mit HKEY_CURRENT_USER das war ja bisher mein gängiger weg. ;)
Und hat bisher auch auf allen Systemen funktioniert.
Aber unter Win10 geht's halt nicht. Bei mir zumindest die werden immer wieder zurück gesetzt.

Und das sind ja meine Probleme. Warum nicht?
Danke trotzdem für's testen.

PS:
*.test ist nichtssagend weil du keine anderen Abhängigkeiten über die Apps damit beeinflussen kannst so wie das bei MP3 Dateien oder generell Media Dateien ist.
Ich will damit sagen es ist kein Aussagekräftiger vergleich.

gruss

jaenicke 4. Jan 2019 16:57

AW: UAC Steuerungsdialog Win10
 
Zitat:

Zitat von EWeiss (Beitrag 1422639)
Ich habe nicht behauptet das es nicht funktioniert mit HKEY_CURRENT_USER das war ja bisher mein gängiger weg. ;)

Du hast aber nur Quelltext gepostet, in dem du an eine Stelle schreibst, an die man nicht schreiben sollte (so liest sich das zumindest im Internet).

Zitat:

Zitat von EWeiss (Beitrag 1422639)
*.test ist nichtssagend weil du keine anderen Abhängigkeiten über die Apps damit beeinflussen kannst

Drum habe ich .test auch in das Beispielprogramm geschrieben, damit niemand beim Ausprobieren .mp3 überschreibt. Getestet habe ich mit .mp3.

EWeiss 5. Jan 2019 04:46

AW: UAC Steuerungsdialog Win10
 
Zitat:

in dem du an eine Stelle schreibst, an die man nicht schreiben sollte
Code:
ClassKey = HKEY_CURRENT_USER
Vielleicht verstehe ich nicht was du meinst aber bei mir im Code steht HKEY_CURRENT_USER nicht HKEY_CLASSES_ROOT

gruss

jaenicke 5. Jan 2019 08:54

AW: UAC Steuerungsdialog Win10
 
Das geht aber um den konkreten Pfad. Du schreibst nach UserChoice, aber das ist eben ein user choice und kein programmer choice. Das wurde nur bei XP als das eingeführt wurde leider nicht auch durchgesetzt.

In dem Beispielprojekt schreibe ich hingegen quasi nur den Bauplan der Zuordnung, versuche aber nicht vorzugeben, dass der Benutzer das angeblich auch selbst ausgewählt hat.

So verstehe ich jedenfalls die Beschreibung der Registry Zweige.

EWeiss 5. Jan 2019 09:10

AW: UAC Steuerungsdialog Win10
 
Ok Danke.
Ich komme auf keinen grünen zweig von daher werde ich es wohl vergessen können.
Was ich von dem System halte habe ich oft genug gesagt dafür werde ich nichts mehr Entwickeln.

Danke für euer Interesse.

gruss

jaenicke 5. Jan 2019 16:19

AW: UAC Steuerungsdialog Win10
 
Auch wenn du nur für XP und Windows 7 entwickelst, solltest du es richtig machen. Nach UserChoice zu schreiben war von Anfang an falsch, aber vor Windows 8 eben leider möglich.

Und weil so viele den Benutzer bevormunden wollten indem in diesen Eintrag geschrieben wurde, musste Microsoft hier eben wieder einmal den Missbrauch verhindern.

Das ist so dieses egozentrische Weltbild "was interessiert mich was der Benutzer einstellt, ich stelle einfach selbst etwas ein".

Mehr zu den Hintergründen für alle Interessierten gibt es hier und in den weiteren Artikeln des Autors:
https://www.htguk.com/deploying-per-user-file-type/#

EWeiss 5. Jan 2019 16:31

AW: UAC Steuerungsdialog Win10
 
Zitat:

solltest du es richtig machen.
Es funktioniert wenn ich direkt über HKEY_LOCAL_MACHINE gehe auch mit UserChoice der Eintrag wird nicht mehr entfernt.
Ich kann gerne nochmal ein Video zu Demonstrationszwecken machen falls du es nicht glauben solltest.
Destotrotz funktionieren meine Videos nicht und ich bin es leid mit diesen Bad-System.

Zitat:

Auch wenn du nur für XP und Windows 7 entwickelst
Für XP erstmal schon gar nicht und für Windows 7 so wie du gelesen hast (denke ich mal) das kann ich nicht mehr installieren weil M$\Intel mit meinem Board einen Riegel davor geschoben haben.
Und für Windows 10 habe ich nach dem ganzen ärger keinen Bock mehr.

Zitat:

Das ist so dieses egozentrische Weltbild "was interessiert mich was der Benutzer einstellt, ich stelle einfach selbst etwas ein".
Entschuldige aber das ist Blödsinn denn es gibt Möglichkeiten bzw. eine Konfiguration wo der User bestimmt was registriert wird und nicht.
Ich bestimme gar nichts sondern der Anwender. Und wenn ich der Anwender bin dann registriere ich alles und fertig.
Siehe Shot..
Was nicht selektiert ist wird auch nicht registriert.. so einfach ist das.
Und weil am ende der User derjenige ist der die Einstellungen vornimmt addiere ich zum Pfad UserChoice denn er hat gewählt wenn er die Anwendung bedient.
Wenn überhaupt jemand ein egozentrisches Weltbild hat dann wende dich an die Firma M$ und oder als Alternative Intel Apple fällt mir da auch noch ein. ;)

gruss

jfheins 5. Jan 2019 21:34

AW: UAC Steuerungsdialog Win10
 
Zitat:

Zitat von EWeiss (Beitrag 1422691)
Ich bestimme gar nichts sondern der Anwender. Und wenn ich der Anwender bin dann registriere ich alles und fertig.
Siehe Shot..
Was nicht selektiert ist wird auch nicht registriert.. so einfach ist das.

Das mag in deinem Programm so sein, aber es gab offenbar genügend andere Programme, die einfach beim Start die hinterlegten Programme auf sich geändert haben. Und Windows kann diese beiden Sachen nicht unterscheiden.
Seit Win8 kannst du dir den Dialog also einfach sparen (yay, weniger Supportaufwand :-) Yay, weniger Code den du warten musst :-) ) und dein Programm registrieren als "kann *.mp3 öffnen"
Der User bekommt dann beim nächsten mal Datei öffnen die Meldung, dass er dein Programm nutzen könnte.

EWeiss 6. Jan 2019 08:22

AW: UAC Steuerungsdialog Win10
 
Zitat:

und dein Programm registrieren als "kann *.mp3 öffnen"
1. Woher weis der User das ich alle diese Extension zur verfügung stelle.
2. Glaubst du im ernst jemand hat bock 30 und mehr Erweiterungen für ein Programm von Hand zuzuweisen?
3. Wenn der User sich mit sowas rumschlagen muss dann nimmt er lieber ein Programm wo er das nicht mehr muss.
4. Der Mensch ist von Grund auf Faul.
5. Sparen kann ich mir da gar nichts die Icons für den jeweiligen Dateityp muss ich trotzdem registrieren oder glaubst du die KI von Windows erkennt das von selbst?
6. Das Kontextmenü für den Datei Typ muss auch registriert werden Öffnen, Spielen, Addieren mit Media Player usw...

Zitat:

Seit Win8 kannst du dir den Dialog also einfach sparen
Definitiv eine falsche Annahme.

gruss

jfheins 6. Jan 2019 12:14

AW: UAC Steuerungsdialog Win10
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von EWeiss (Beitrag 1422704)
1. Woher weis der User das ich alle diese Extension zur verfügung stelle.
2. Glaubst du im ernst jemand hat bock 30 und mehr Erweiterungen für ein Programm von Hand zuzuweisen?
3. Wenn der User sich mit sowas rumschlagen muss dann nimmt er lieber ein Programm wo er das nicht mehr muss.
4. Der Mensch ist von Grund auf Faul.
5. Sparen kann ich mir da gar nichts die Icons für den jeweiligen Dateityp muss ich trotzdem registrieren oder glaubst du die KI von Windows erkennt das von selbst?
6. Das Kontextmenü für den Datei Typ muss auch registriert werden Öffnen, Spielen, Addieren mit Media Player usw...

Zitat:

Seit Win8 kannst du dir den Dialog also einfach sparen
Definitiv eine falsche Annahme.

gruss

1. Das kann der Entwickler gerne als Text irgendwo hin schreiben. Falls die Erweiterungen korrekt registriert wurden, kann man das auch in Windows nachgucken. Man geht auf Anhang 50541 "Standardeinstellung nach App festlegen" und dann auf die App und dann auf Verwalten.
Im Allgemeinen interessieren mich aber auch nicht alle 100 Extensions, die beispielsweise der VLC Mediaplayer öffnen kann. Ich glaube, 80% der Erweiterungen kommen auf meinem Rechner gar nicht vor. Es ist für mich irrelevant, wenn ein Programm einen Dateityp öffnen kann, von dem ich keine Dateien habe.
2. Glaubst du im Ernst, ich habe 30 verschiedene Dateitypen in meiner Musikbibliothek?
3. Welches Programm wäre das?
4. Stimmt. Und Windows macht es nach und fragt nur Dateitypen nach, die der User auch öffnet. Der User braucht dann nicht mehr Dateitypen verwalten, von denen er noch nie gehört hat.
5. Klar, registrieren kannst du alles. Aber dafür btrauchst du keine GUI. Die GUI kannst du dir sparen bzw. austauschen gegen einen Text wie VLC.

Alles in allem finde ich das Windows Feature gut, aber es ist klar, dass jeder Entwickler sein Programm für das Beste hält und den Nutzer dazu verleiten möchte, dass er alles damit öffnet. Aber ich möchte zum Beispiel zip-Dateien nicht mit VLC öffnen, obwohl VLC das kann.

EWeiss 6. Jan 2019 12:23

AW: UAC Steuerungsdialog Win10
 
Zitat:

Klar, registrieren kannst du alles. Aber dafür btrauchst du keine GUI. Die GUI kannst du dir sparen bzw. austauschen gegen einen Text wie VLC.
Da kann man geteilter Meinung sein .. Ich halte das Windows Feature für schlecht weil irrelevant.
Unnötiger, zusätzlicher Aufwand.

Ich brauche die Gui weil ich es so am Sinnvollsten finde.
Zu dem wie Windows nachher weis welche Icons zu den jeweiligen Extension zugehörig sind scheinst du überlesen zu haben genauso das mit den Kontextmenüs was und wie etwas ausgeführt werden soll.
Ohne Registrierung der Extension zeigt Windows NUR das Icon der Anwendung an ..

Zitat:

Standardeinstellung nach App festlegen
Der Witz an der Sache ist nur das es nicht funktioniert.
Keine Ahnung was für ein super System du hast wo alles perfekt läuft. Ich habe 1803.

Mein Video Player KVPlayer wird gar nicht erkannt kann ich nicht auswählen obwohl ich damit in meinem System Videos wiedergebe.
Selbst wenn ich hier MKV als DatenTyp zuweise das der Player diese Videos wiedergeben soll wird er in (Standardeinstellung nach App festlegen) gar nicht aufgelistet.
Was soll das also? Für normale Anwendungen die nicht als Apps registriert\Installiert sind ist das sinnlos das ganze.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
Seite 3 von 3     123   

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