[Win] Neune dateiendungen hinzufügen!? (.phpex,.phpap)

MC Breit

Erfahrenes Mitglied
Hallo!

Ich frage mich gerade, wie ich in einer C anwendung (Welche zur installation von php4 und gtk+ dienen soll) neue dateitypen anlege.

Es handelt sich dabei um 2 typen:

(Dateiendung -> Ausführungsdatei -> Beschreibung -> Icon)
a) *.phpex -> c://php4/gtk_win.exe -> Anwendung mit PHP und GTK+ -> c://php4/phpex.ico

b) *.phpap -> c://php4/php.exe -> Konsolenanwendung mit PHP -> c://php4/phpap.ico

Kann mir jemand sagen, wie ich diese 2 dateitypen einrichte?

Und nun noch eine Weiterführende frage:
Ist es möglich den *.phpex dateien, noch selbstbestimmende Icons zu zu weisen?
Also, das sie wie zB. eine *.exe ein Icon haben..

Oder müsste man dazu eine exe aus der php datei erstellen, welche eine Temporähre datei erstellt (mit phpcode) und diesen an den Parser übergibt, um sowas zu erzielen?
Wenn ja, wie kann ich eine exe schreiben, die anhand der angabe einer`*.php datei und *.ico datei eine neue *.exe erzeugt?

Würde mich echt interressieren ;)
 
Hi!

Mit neu anlegen meine ich das Assizioieren von neuen Dateitypen.
Also, das der windows explorer zB. *.phpex dateien mit c://php4/gtk_win.exe ausführt, und sie die bezeichnung "Ausführbahres php Script mit GTK" oder ähnliches tragen. Wie zB. *.txt mit dem Editor gestertet wird, und die bezeichnung Textdatei trägt.

Ich hab in langer Google arbeit herrausgefunden, das diese in der Registry stehen, allerdings habe ich nicht herrausgefunden, wo genu diese hinmüssen und welche angeben gemacht werden müssen.
 
Ich hab in langer Google arbeit herrausgefunden, das diese in der Registry stehen, allerdings habe ich nicht herrausgefunden, wo genu diese hinmüssen und welche angeben gemacht werden müssen.
Das kannst du dir mit Regedit (bei jedem Windows dabei) selbst ansehen. *.cpp-Dateien stehen zum Beispiel unter HKEY_CLASSES_ROOT\.cpp. Das kann allerdings noch nicht alles sein, da die Pfade zu den ausführbaren Programmen dort nicht verzeichnet sind. Hier erfährst du mehr: File Associations
 
Ist doch hier eh das falsche Forum ... erstens hat das was nix mit C zu tun undf zweitens sollten solche Fragen gleich in Betriebssysteme oder php rein.

Ausserdem wozu gibt es das Internet und Suchmaschienen
 
Original geschrieben von basd
Ist doch hier eh das falsche Forum ... erstens hat das was nix mit C zu tun undf zweitens sollten solche Fragen gleich in Betriebssysteme oder php rein.

Ausserdem wozu gibt es das Internet und Suchmaschienen
Ich war davon ausgegangen, dass er dafür ein C-Programm schreiben will. Falls das nicht der Fall ist, gehört der Thread wirklich nicht hierhin.
 
Zuletzt bearbeitet:
Hi!

Dah es darum geht einen installer in C zu schreiben denke ich das es sehr wohl hier rein gehört.

Also, das mit der Registry hab ich nun geschafft.
Aber was mir noch sorgen macht, ist dafür zu sorgen, das die *.phpex dateien ihr Icon selber bestimmen können.

Also, wie bei zB. Photoshop, die *.psd dateien, die haben ja ihr eigenes Icon für jede datei, das aus dem bmp das drinnen ist erzeugt wird. Hatt da jemand ne idee, wie ich das hinbekomme?
 
Also, wie bei zB. Photoshop, die *.psd dateien, die haben ja ihr eigenes Icon für jede datei, das aus dem bmp das drinnen ist erzeugt wird. Hatt da jemand ne idee, wie ich das hinbekomme?
Das entscheidet meines Wissens die App, mit der der Dateityp verknüpft ist. Wenn ich beispielsweise eine MFC-Anwendung baue, kann ich in der Exe ein Icon für die Anwendung selbst und eines für den Dateityp anlegen. Ob das zwangsläufig so gemacht wird oder ob es mir nur so erscheint, weil der VC++-Assistent das so eingerichtet hat, weiss ich leider nicht.
 
hmm...

Das mit dem Icon stimmt, insofern kein anderes angegeben ist, wird eines in der AW deklarietes genommen, fals da keines deklariert ist kommt dieses leere blatt mit dem AW Icon.

Aber wenn ich das mit der AW verknüpfe, hab ich ja wieder nur ein festes icon, und nicht für jede datei ein anderes...

Also, wenn da jemand was weiß, sofort posten bitte!
 
Hi!

Also, ich hab jetzt mal 2 psd dateien verglichen. Eine die von PS selbst erzeugt wurde, die ihr eigenes icon hatte.
Und eine die ich mit Gimp2 erzugt habe, die eine Standart icon hatte.

Dabei ist mir aufgefallen, das in der von PS erzeugten datei folgender XML code am anfang (nach der typendeklaration) steht:

Code:
8BPS          à  €        48BIM%                     8BIM$    )<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<?adobe-xap-filters esc="CR"?>
<x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>

 <rdf:Description about='uuid:7794f517-867a-11d8-b15b-d2019c051791'
  xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'>
  <xapMM:DocumentID>adobe:docid:photoshop:7794f514-867a-11d8-b15b-d2019c051791</xapMM:DocumentID>
 </rdf:Description>

</rdf:RDF>
</x:xapmeta>

Also, <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> was hatt das zu bedeuten, bzw wie bekommt PS diese informationen, ohne das die datei geöffnet wird um der datei das entsprechende Icon zuzuweisen?
Ob das Icon auch vorhanden ist, nachdem ich PSD deinstalliert hätte und die REG einträge lasse, weiß ich nicht.

Ich hab mal die Registry einträge (Aus welchen ich allerdings nicht schalu werde) hier gelistet:

Code:
<registry>
 <HKEY_CLASSES_ROOT>
  <.psd>
    <PresistentHandler>
     <Standart type="REG_SZ" value="{098f2470-bae0-11cd-b579-08002b30bfeb}" />
    </PresistentHandler>
    <ShellEx>
     <{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}>
      <Standart type="REG_SZ" value="{0B6DC6EE-C4FD-11d1-819A-00C04FB69B4D}" />
     </{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}>
    </ShellEx>
    <ShellNew>
     <Standart type="REG_SZ" value="(No value set)" />
     <NullFile type="REG_SZ" value="" />
    </ShellNew>
  </.psd>
 </HKEY_CLASSES_ROOT>
</registry>

Also, wenn da jetzt jemandem irgendwie eine idee kommt, sagt bescheit!

Mfg, EmCee
 
Zurück