Ĺadny brzuch
coś takiego jak na tej stronie tylko jak to zobić w c++ ??
Nie wiem, czy jest coś o tym w necie, ale wiem co trzeba zrobić.
1. Musisz stworzyć zmienną typu TRegistry (jeśli masz VCL) lub podobną, z innego zestawu. Ja napiszę Ci wersję dla VCL.
2. Otwierasz Rejestr (TRegistry rejestr = new TRegistry()).
3. Następnie otwierasz HKEY_CLASSES_ROOT i tworzysz nowy klucz.
4. Następnie w wartości wpisujesz typ pliku (WriteString("", "cpp")).
5. Dodajesz klucze \shell\open\command i w wartości domyślnej wpisujesz '', "\"" + App + "\" \"%1"', gdzie App to ścieżka do pliku.
Cały kod wygląda miej więcej tak:
bool skojarz(string App, string FileExt, string FileType){ TRegistry rejestr = new TRegistry(); //Tworzymy zmienną do obsługi rejestru rejestr->RootKey = "HKEY_CLASSES_ROOT"; //RootKey - klucz główny rejestr->OpenKey(FileExt, true); //Otwieramy klucz dla danego typu - spr w regedit rejestr->WriteString("", FileType); //Podpisujemy typ (np. "Plik C++") rejestr->CloseKey; //Zamykamy klucz rejestr->OpenKey(FileType + "\shell\open\command", true); //Klucz odpowiedzialny za> //>uruchamianie rejestr->WriteString("", "\"" + App + "\" \"%1\"'); //Piszemy - otwórz Plik C++ w App rejestr->CloseKey; //I zamykamy klucz delete rejestr; //Pamiętaj by zniszczyć zmienną rejestr! return true; //Wynik funkcji } int main(){ bool ok = skojarz("C:\app.exe", "cpp", "cpp_file"); //Używamy naszej funkcji std::cout << ok << std::endl; return 0; }
Powinno działać ;)
Edit1 i 2: literówki <_< i dodanie komentarza
Użytkownik Tomek92 edytował ten post 21 sierpień 2007, 15:30
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Nie wiem, czy jest coś o tym w necie, ale wiem co trzeba zrobić.
1. Musisz stworzyć zmienną typu TRegistry (jeśli masz VCL) lub podobną, z innego zestawu. Ja napiszę Ci wersję dla VCL.
2. Otwierasz Rejestr (TRegistry rejestr = new TRegistry()).
3. Następnie otwierasz HKEY_CLASSES_ROOT i tworzysz nowy klucz.
4. Następnie w wartości wpisujesz typ pliku (WriteString("", "cpp")).
5. Dodajesz klucze \shell\open\command i w wartości domyślnej wpisujesz '', "\"" + App + "\" \"%1"', gdzie App to ścieżka do pliku.
Cały kod wygląda miej więcej tak:
bool skojarz(string App, string FileExt, string FileType){ TRegistry rejestr = new TRegistry(); //Tworzymy zmienną do obsługi rejestru rejestr->RootKey = "HKEY_CLASSES_ROOT"; //RootKey - klucz główny rejestr->OpenKey(FileExt, true); //Otwieramy klucz dla danego typu - spr w regedit rejestr->WriteString("", FileType); //Podpisujemy typ (np. "Plik C++") rejestr->CloseKey; //Zamykamy klucz rejestr->OpenKey(FileType + "\shell\open\command", true); //Klucz odpowiedzialny za> //>uruchamianie rejestr->WriteString("", "\"" + App + "\" \"%1\"'); //Piszemy - otwórz Plik C++ w App rejestr->CloseKey; //I zamykamy klucz delete rejestr; //Pamiętaj by zniszczyć zmienną rejestr! return true; //Wynik funkcji } int main(){ bool ok = skojarz("C:\app.exe", "cpp", "cpp_file"); //Używamy naszej funkcji std::cout << ok << std::endl; return 0; }
Powinno działać ;)
Edit1 i 2: literówki <_< i dodanie komentarza
Użytkownik Tomek92 edytował ten post 21 sierpień 2007, 15:30