Toon posts:

[BC++] File Caption

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal

Ik zit met het volgende probleem, Ik probeer een programa aan een bestand te koppelen
maar dit wilt niet helemaal lukken zo als ik wil

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void __fastcall Toption::MP3CheckBoxClick(TObject *Sender)
{
 if (MP3CheckBox->Checked)
        {
         TRegistry *Reg = new TRegistry();
         Reg->RootKey = HKEY_CLASSES_ROOT;
         if (Reg->OpenKey(".mp3",true)==true)
         {
          if (Reg->ReadString("")!="" && Reg->ReadString("")!="Name.1") Reg->WriteString("Backup",Reg->ReadString(""));
          Reg->WriteString("","Name.1");
          Reg->CloseKey();
         }
        delete Reg;
        }
 else if (MP3CheckBox->Checked==false)
        {
         TRegistry *Reg = new TRegistry();
         Reg->RootKey = HKEY_CLASSES_ROOT;
         if (Reg->OpenKey(".mp3",true)==true)
         {
          if (Reg->ReadString("")=="Name.1") Reg->WriteString("","");
          if (Reg->ReadString("Backup")!="")
            {
            Reg->WriteString("",Reg->ReadString("Backup"));
            Reg->DeleteValue("Backup");
            }
          Reg->CloseKey();
         }
        delete Reg;
        }



C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall Toption::FormShow(TObject *Sender)
{
TRegistry *Reg = new TRegistry();
Reg->RootKey = HKEY_CLASSES_ROOT;
if (Reg->OpenKey(".mp3",false)==true)
        {
        if (Reg->ReadString("")=="Name.1") MP3CheckBox->Checked=true;
           if (Reg->ReadString("")!="Name.1")
                if (Reg->ReadString("Backup")!="") Reg->DeleteValue("Backup");
           else MP3CheckBox->Checked=false;
        Reg->CloseKey();
        }
delete Reg;



Nou zit ik met het volgende probleem, Als ik op een mp3 bestandje drukt krijg ik
Windows cannot open this file.

iemand een idee wat ik verkeerd doe

Alvast bedankt :)

[ Voor 121% gewijzigd door Verwijderd op 24-10-2005 18:57 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:30

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hoi
Allereerst, zet je code even tussen [rml][ code=c++]...[ /code][/rml] tags, dat leest wat prettiger :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Moeten wij zelf maar gokken wat je code doet? Kun je het misschien even uitleggen? Je hebt het over een knop oid, maar ik zie alleen maar code voor de controle of een checkbox checked is of niet. Verder, wat haal je precies op uit het register? Ah, daar doe je volgens mij iets met de koppeling...

Maar goed, het blijft wazig, maar ik heb het idee dat je iets update in het register. Gaat dit wel op de manier zoals het hoort? Bekijk het register eens nadat je deze code hebt uitgevoerd? En, kun je gewoon vanuit C++ code het register aanpassen :?

[ Voor 39% gewijzigd door Verwijderd op 24-10-2005 18:49 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
De code in kwestie lijkt me niet de oorzaak. TS heeft niet geprobeerd of het wel werkt als hij met de hand de key in de registry zet. Ik vermoed dat het probleem is dat dit de verkeerde key is, de verkeerde waarde is, of dat zijn applicatie helemaal geen .mp3's kan openen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Ik zie nergens code die 'n regkey HKEY_CLASSES_ROOT\Name.1\shell etc aanmaakt. Naast het vertellen tegen windows 'ik wil dat .mp3 met Name.1 geopend word', zul je ook aan windows moeten vertellen wat Name.1 is en hoe 't werkt.