Entwickler-Ecke

Windows API - Eigene Applikation als Standardprogramm


Tastaro - Fr 18.12.15 08:28
Titel: Eigene Applikation als Standardprogramm
Hallo,

was muss man tun, damit eine eigene Applikation in der Liste der möglichen Standardprogramme unter Windows auftaucht?

Also nicht erst nachträglich, wenn man sie schon mal ausgewählt hat, sondern automatisch. Wie etwas die Programme von MS Office.


Moderiert von user profile iconNarses: Topic aus Algorithmen, Optimierung und Assembler verschoben am Fr 18.12.2015 um 10:21


Delete - Fr 18.12.15 09:03

Default Programs [https://msdn.microsoft.com/en-us/library/windows/desktop/cc144154%28v=vs.85%29.aspx#registration]

Beispiel-Eintrag in die Registry, um Files mit der Endung .txt mit eigenem Programm (MyWriter.exe) zu öffnen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\MyWriter.exe]

[HKEY_CLASSES_ROOT\Applications\MyWriter.exe\shell]

[HKEY_CLASSES_ROOT\Applications\MyWriter.exe\shell\open]

[HKEY_CLASSES_ROOT\Applications\MyWriter.exe\shell\open\command]
@="\"D:\\@_DELPHI\\@RADXE7\\_TESTS-14\\MEMO-1\\Win32\\Release\\MyWriter.exe\" \"%1\""

Im Programm muss das natürlich als Parameter-String verarbeitet werden:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.FormCreate(Sender: TObject);
var FN : String;
begin
memo1.Clear;
memo1.Modified:=false;
if ParamCount>0 then
BEGIN 
FN:= ParamStr(1);
if FileExists(FN) then memo1.Lines.LoadFromFile(FN);
caption:='Editor - Datei: ' + ExtractFileName(FN);
END;
end;


Tastaro - Fr 18.12.15 16:07

Herzlichen Dank!