rami
0
Hallo HaBo'ler!
Ich habe eine Software die sich als eigenen Punkt in das Kontextmenü einträgt, wie man das von Musikplayern und Antivirenscannern oft sieht. Soweit kein Problem. Unter 32-bittigem Windows (getestet unter XP + Vista) funktioniert das ganz einfach.
Pseudocode-Lösung (im echten Fall muss es nachher für Nullsoft Scriptable Install System geschrieben werden) unter 32-bit:
Jetzt meldet mir ein Betatester mit Vista 64-bit, dass das "nicht funzt". Ich habe aber keine Möglichkeit direkt an einem 64-bit Vista rumzuprobieren, daher hat er mir verschiedenste Dumps von Unterschlüsseln geschickt und ich habe eine gefühlte Stunde lang gegooglet. Das einzige was mir Google lieferte, war folgende - erfrischend simpel aussehende Lösung -, die leider auch nicht funktionierte.
Wäre ja auch zu schön um Wahr zu sein - es geht nicht. Ich lies mir von meinem Tester Dumps eines Dateityps schicken, bei dem eine andere Software etwas in der Art eingetragen hat:
Das "freut" mich natürlich sehr, dass ich jetzt raten darf, wass ich aus diesen langen kryptischen {...} lesen kann. Ich tippe auf Hexadezimal - aber was nützen mir Zahlen? Sind das Binärcodes? Entweder weiß Google es nicht, oder ich bin zu blöd, die richtigen Keywords einzugeben. Kann mir jemand helfen? Vielleicht hat ja jemand schon Erfahrungen mit einem solchen Problem gemacht.
Vielen Dank im Vorraus,
Raphael
Ich habe eine Software die sich als eigenen Punkt in das Kontextmenü einträgt, wie man das von Musikplayern und Antivirenscannern oft sieht. Soweit kein Problem. Unter 32-bittigem Windows (getestet unter XP + Vista) funktioniert das ganz einfach.
Pseudocode-Lösung (im echten Fall muss es nachher für Nullsoft Scriptable Install System geschrieben werden) unter 32-bit:
Code:
$lese = registry("HKEY_CLASSES_ROOT\.filetype", "");
schreibe_registry("HKEY_CLASSES_ROOT\$lese\shell\Kontextmenueeintrag", "", "");
schreibe_registry("HKEY_CLASSES_ROOT\$lese\shell\Kontextmenueeintrag\command", "", "C:\Programme\blablabla\bla.exe -open %1");
Jetzt meldet mir ein Betatester mit Vista 64-bit, dass das "nicht funzt". Ich habe aber keine Möglichkeit direkt an einem 64-bit Vista rumzuprobieren, daher hat er mir verschiedenste Dumps von Unterschlüsseln geschickt und ich habe eine gefühlte Stunde lang gegooglet. Das einzige was mir Google lieferte, war folgende - erfrischend simpel aussehende Lösung -, die leider auch nicht funktionierte.
Code:
schreibe_registry("HKEY_CLASSES_ROOT\.filetype\shell\Kontextmenueeintrag", "", "");
schreibe_registry("HKEY_CLASSES_ROOT\.filetype\shell\Kontextmenueeintrag\command", "", "C:\Programme\blablabla\bla.exe -open %1");
Code:
[HKEY_CLASSES_ROOT\.mp3]
"PerceivedType"="audio"
@="foobar2000.MP3"
"Content Type"="audio/mpeg"
".bak"="WMP11.AssocFile.MP3"
[HKEY_CLASSES_ROOT\.mp3\OpenWithProgIds]
"MP3File"=hex(0):
"WMP11.AssocFile.MP3"=hex(0):
"QuickTime.mp3"=hex(0):
[HKEY_CLASSES_ROOT\.mp3\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.mp3\ShellEx]
[HKEY_CLASSES_ROOT\.mp3\ShellEx\{b0450a3b-6bcb-468e-a6c1-eba9c8c0c586}]
@="{d1d82552-50db-4c62-9c46-235230826f88}"
[HKEY_CLASSES_ROOT\.mp3\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]
@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"
[HKEY_CLASSES_ROOT\.mp3\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]
@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"
Vielen Dank im Vorraus,
Raphael