Autor Beitrag
Terra23 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Mo 09.11.09 22:00 
Ja, aber genau das tue ich doch.

Ich schreibe doch:

ausblenden Delphi-Quelltext
1:
2:
If InstallExt('.dckf''DeckButler-Datei''DeckButler', ParamStr(0), '"%1"'0)
Then ShowMessage('Programm wurde verknüpft.');


Da steht ja "%1" und das ganze natürlich in den Einzel-Gänsefüßchen, die ja für nen String nötig sind.

Dadurch werden alle DCKF-Dateien mit meinem Programm verknüpft.

Das funktioniert schon super. Was mir jetzt noch Probleme bereitet, ist die Tatsache, dass die Pfadangabe der Datei aufgesplittet wird (wie vorher geschrieben) und ich auch nicht weiß, wie ich an den Index des Icons der Application rankomme.

Terra

_________________
Hasta La Victoria Siempre
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 10.11.09 20:12 
RTFC. (Gibts die Abkürzung? Read The Fu**ing Code...)

ausblenden Delphi-Quelltext
 
26:
{ ... }
Reg.WriteString('', Format('"%s" "%s"', [OpenWith, ParamString]));


Und was ergibt das mit ParamString='"%1"'?

ausblenden Quelltext
1:
"ProgName.exe" ""%1""					


Ist also einmal zuviel. Da die bei komplizierteren ParamStrings sowieso stören werden, würde ich die Zeile in der InstallExt ändern:

ausblenden Delphi-Quelltext
 
26:
{ ... }
Reg.WriteString('', Format('"%s" %s', [OpenWith, ParamString]));


Dann sollte es auch mit dem InstallExt('*.butler''DeckButler-Datei''DeckButler', ParamStr(0), '"%1"'0) klappen ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Terra23 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Di 10.11.09 20:18 
Danke, ich werde mir das mal ansehen. Und sorry für meine Ungeduld...

_________________
Hasta La Victoria Siempre
Terra23 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: Di 10.11.09 21:13 
Sorry 4 Doppelpost, aber ich wollte euch nur mitteilen, dass ich es endlich hinbekommen habe, ohne dass ich mir den Pfad selbst zusammensetzen muss. Danke für eure Hilfe und nochmal sorry an Xentar, dass ich ihn so angemacht habe.

Abschließend habe ich noch eine Frage:

Der Aufruf klappt soweit und wenn ich 0 übergebe, erhalte ich auch damit das Icon meines Programms.

Wenn ich die DCKF-Dateien nun aber im Explorer ansehe, dann haben die nicht das Symbol bekommen. Wenn ich sie über den OpenDialog meines Programms öffne, dann hat jede Datei als Symbol das Symbol meines Programms. Woran kann das liegen?

Terra

_________________
Hasta La Victoria Siempre
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 10.11.09 21:32 
user profile iconTerra23 hat folgendes geschrieben Zum zitierten Posting springen:
und nochmal sorry an Xentar, dass ich ihn so angemacht habe.

Nun reichts aber, werds schon überleben ;)

user profile iconTerra23 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich die DCKF-Dateien nun aber im Explorer ansehe, dann haben die nicht das Symbol bekommen. Wenn ich sie über den OpenDialog meines Programms öffne, dann hat jede Datei als Symbol das Symbol meines Programms. Woran kann das liegen?

Ich schmeiß mal das Stichwort Iconcache in den Raum.
Schau mal, ob das nach nem Reboot immernoch ist?

Alternativ kann man den Iconcache auch händisch löschen, siehe
www.edv-tipp.de/docs/Icon_cache.htm
(den Teil mit der Registry muss man nicht machen)

_________________
PROGRAMMER: A device for converting coffee into software.