windows, unbekannte dateitypen immer öffnen mit ..

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

windows, unbekannte dateitypen immer öffnen mit ..

Beitrag von #NULL »

kann man unter windows(xp) dateitypen, die keinem programm zugeordnet sind, oder die keine namenserweiterung haben, standartmäßig mit einem bestimmten programm öffnen lassen?
also dass man eine 'datei.xyz' oder 'datei' (ohne endung) z.b. immer direkt mit einem editor öffnen kann, ohne 'senden an >' zu verwenden und vor allem ohne diesen dialog..
"oh gott, windows hat so eine datei noch nie gesehen. möchten sie erfolglos das ganze internet durchsuchen oder lieber ein programm aus einer liste auswählen, in der es garantiert nicht vorkommt? zur not können sie sich auch selber durch die pfade hangeln und das programm selber auswählen, aber vergessen sie dabei nicht, dass es glücksache ist, ob das programm dann das nächste mal gleich in der liste ist, oder ob sie es wieder neu suchen müssen!" :mrgreen:
my pb stuff..
Bild..jedenfalls war das mal so.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

wenn ich das richtig verstehe kann ich mit solchem code, bzw über diese registry-einträge aber auch nur das verhalten bei bestimmten dateierweiterungen festlegen.
es muss doch auch einen reg-eintrag geben, der das verhalten für dateien festlegt, die eben keine zuordnungen haben. im prinzip will ich den aufruf des besagten dialogs austauschen mit einem programm meiner wahl. das muss doch gehen.
my pb stuff..
Bild..jedenfalls war das mal so.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hm... also es wird ja immer der "öffnen mit"-Dialog aufgerufen,
wo du die Anwendungen-Liste angezeigt bekommst.
irgendwo muss ja hinterlegt sein, welches programm das ist.
wenn du das verbiegen kannst, wird dann dein programm aufgerufen anstatt der App-Auswahl...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

#NULL hat geschrieben:wenn ich das richtig verstehe kann ich mit solchem code, bzw über diese registry-einträge aber auch nur das verhalten bei bestimmten dateierweiterungen festlegen.
es muss doch auch einen reg-eintrag geben, der das verhalten für dateien festlegt, die eben keine zuordnungen haben. im prinzip will ich den aufruf des besagten dialogs austauschen mit einem programm meiner wahl. das muss doch gehen.
Nein, das geht nicht. :freak:
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Der Registry-Zweig, in dem die ganzen Dateiendungs-Zuordnungen gespeichert sind, ist HKEY_LOCAL_MACHINE\Software\Classes. Eine Kopie desselben ist übrigens des Zweig HKEY_Classes_Root. Der Unterschlüssel, der für dich relevant ist, dürfte der namens "file" sein. Allerdings bin ich mir bzw ds Namens nicht ganz sicher, kann auch sein, dass es einer namens "*" oder "*.*" ist, falls es bei dir so einen gibt, ich hab das jetzt nur im Registryeditor von Wine nachgeschaut...

//EDIT: @DarkDragon: Sicher geht das, manche Programme (z.B. IrfanView, wenn ich mich recht erinnere) bieten entsprechende Optionen auch an.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

hardfalcon hat geschrieben://EDIT: @DarkDragon: Sicher geht das, manche Programme (z.B. IrfanView, wenn ich mich recht erinnere) bieten entsprechende Optionen auch an.
Er will Dateien ohne Endung mit einem festen Programm öffnen unter Windows!
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

also ich bin über diesen link schon weiter.
hab dann in der reg nach "OpenAs_RunDLL" gesucht. da gibt was unter .._ROOT und .._LOCAL_MACHINE.

jedenfalls weiß ich grad nicht wie ich das ding mal starte, um zu sehen ob es geht:

Code: Alles auswählen

name.s = "C:\Winbdows\system32\rundll32.exe"
param.s ="C:\Winbdows\system32\shell32.dll,OpenAs_RunDLL C:\test\test.txt"
Debug RunProgram(name,param,"",#PB_Program_Wait)
ich weiß auch nicht ob ich diese reg-einträge bedenken los verändern könnte, damit ich mein eigenes prog starten lassen kann.


<edit>

also hier ist so ein eintrag:
HKEY_CLASSES_ROOT\Unknown\shell\openas\command
%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1

wenn ich den string-wert jetzt ändere in
C:\WINDOWS\notepad.exe

..explodiert dann mein computer?
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Versuchs einfach, solange du das nicht mit "wichtigen" Endungen wie z.B. ".exe", ".com" oder ".scr" machst, dürfte nicht viel passieren (dürfte = ich bin mir nicht sicher!)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

yo hab ich mir auch gesagt, ich komm so eben vom neustart.
nix kaputt, und es geht exakt wie ich wollte :)

also für interessierte nochmal:
in
HKEY_CLASSES_ROOT\Unknown\shell\openas\command
den string-wert ändern auf das programm das man als default möchte, z.b
C:\Windows\notepad.exe %1

<edit> (nur notepad öffnen ist ein bisschen sinnlos, drum noch den dateinamen dran) 8)
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten