Ich habe folgendes Problem, ich möchte einen Dateityp
In der Registry eintragen, und zwar beim ersten Start meines
Programms. Das Resultat des Listings ist ein Eintrag wie :
"C:\programme\NfoView.exe %1".
Das bewirkt, dass Dateien dieses Typs aus Ordnern mit einem
Leerzeichen z.B. „Eigene Dateien“ nicht geöffnet werden.
Fehler : Datei C:\Eigene kann nicht geöffnet werden
Wenn da stehen würde "C:\programme\NfoView.exe "%1"",
funktioniert alles einwandfrei. Gibt es eine Möglichkeit,
Anführungs-Zeichen in einem String zu Maskieren?
Wenn ja welche?
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry *pReg = new TRegistry;
AnsiString Pfad = _argv[0];
try
{
pReg->RootKey = HKEY_LOCAL_MACHINE;
if (!pReg->KeyExists("\\Software\\CLASSES\\NfoView\\"))
{
pReg->OpenKey("\\Software\\CLASSES\\.nfo\\",true);
pReg->WriteString("", "NfoView");
pReg->OpenKey("\\Software\\CLASSES\\NfoView\\",true);
pReg->WriteString("", "Info View Dateien");
pReg->OpenKey("\\Software\\CLASSES\\NfoView\\shell\\ope n\\command\\", true);
pReg->WriteString("",Pfad+ " %1");
}
if (pReg!=NULL) {delete pReg; pReg = NULL;}
}
catch (...)
{
if (pReg!=NULL) {delete pReg; pReg = NULL;}
}
if(_argc>1)
{
File = _argv[1];
Memo1->Lines->LoadFromFile(File);
}
In der Registry eintragen, und zwar beim ersten Start meines
Programms. Das Resultat des Listings ist ein Eintrag wie :
"C:\programme\NfoView.exe %1".
Das bewirkt, dass Dateien dieses Typs aus Ordnern mit einem
Leerzeichen z.B. „Eigene Dateien“ nicht geöffnet werden.
Fehler : Datei C:\Eigene kann nicht geöffnet werden
Wenn da stehen würde "C:\programme\NfoView.exe "%1"",
funktioniert alles einwandfrei. Gibt es eine Möglichkeit,
Anführungs-Zeichen in einem String zu Maskieren?
Wenn ja welche?
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry *pReg = new TRegistry;
AnsiString Pfad = _argv[0];
try
{
pReg->RootKey = HKEY_LOCAL_MACHINE;
if (!pReg->KeyExists("\\Software\\CLASSES\\NfoView\\"))
{
pReg->OpenKey("\\Software\\CLASSES\\.nfo\\",true);
pReg->WriteString("", "NfoView");
pReg->OpenKey("\\Software\\CLASSES\\NfoView\\",true);
pReg->WriteString("", "Info View Dateien");
pReg->OpenKey("\\Software\\CLASSES\\NfoView\\shell\\ope n\\command\\", true);
pReg->WriteString("",Pfad+ " %1");
}
if (pReg!=NULL) {delete pReg; pReg = NULL;}
}
catch (...)
{
if (pReg!=NULL) {delete pReg; pReg = NULL;}
}
if(_argc>1)
{
File = _argv[1];
Memo1->Lines->LoadFromFile(File);
}
Comment