Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Asocjacja z rozszerzniem...
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002
Asocjacja z rozszerzniem...

Witam! Potrzebuję zarejestrować w systemie nowe rozszerzenie mojego programu i nie wiem jak to zrobić. Chodzi o to, żeb po prostu dwuklik np. w Eksploatorze na tym rozszerzeniu spowodował otworzenie tego pliku w moim programie. Nie wiem też jak to zrobić od strony programistycznej w VB, jak to jest przekazywane do programu. Czy ktoś potrafi mi pomóc?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


21-09-2003 11:25
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

(Robi się to zapomoca dodania kilku kuczy do rejestru)

Zobacz na posta: http://board.freeweb.pl/posts.php?board_id=1543&topic_id=60470&division=615
Tam odpowiedzialem na podobne pytanie. Jako przyklad dalem tam rozszerzenie zip. Podobnie jest dla każdego innego.


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

21-09-2003 13:40
Pokaż profil m-a-x  Wyślij email do m-a-x   
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Dzięki-przeczytałem, ale mnie nie chodziło o dodanie nowej pozycji do menu kontekstowego, tylk o samą rejestrację rozszerzenia, a to się robi chyba w kluczu HKEY_CLASSES_ROOT . Mam rację, czy coś pomieszałem?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


21-09-2003 15:26
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

No i powtarzam to jeszcze raz robi sie to tak samo (czyt. podobnie) HKCR - to sktót od klucza HKEY_CLASSES_ROOT!

Masz tutaj kankretny przykład jakie klucze powprowadzać (np dla rozszerzenia "kij" ):

HKCR\.kij\("RozKij" )
HKCR\RozKij\("Rozszerzenie mojego programu" )
HKCR\RozKij\shell\open("otwórz w moim programie" )
HKCR\RozKij\shell\open\command("C:\mojprogram.exe  %1" )

Możesz tez przypożądkować ikonke dla tego rozszerzenia - w taki sposób:

HKCR\RozKij\DefaultIcon("C:\mojaikonka.ico" )

lub
HKCR\RozKij\DefaultIcon("C:\mojabibloteka.dll,2" )


To co jest w nawiasach ma sie znaleźć w watrości domyślnej danych kluczy. Poglądaj sobie takie klucze które odnoszą się już do "zarejestrowanych" w systemie rozszerzeń a powinieneś skumac o co chodzi.

Aha zapomniałem dodać: to "%1" w ścieżce do twojego programu oznacza że w danym miejscu bedzie sciezka do danego pliku. Inaczej mówiąc twój porgam bedzie wywołany z komendą która bedzie scieżką do pliku. Dostęp do komend z jakimi został wywołany program w Vb masz poprzez polecenie "command". Najlepiej w programie dac taka instrukcję:

If len(Dir(command)) <> 0 then
...
End If


P.S. Możliwe że coś tu pochrzaniłem bo pisałem z głowy ale powinno być wszystko oki.

[Post edytowany dnia 22-09-2003 17:24 przez m-a-x]


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

22-09-2003 17:13
Pokaż profil m-a-x  Wyślij email do m-a-x   
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

OK-rozumiem. Wszystko jest tak jak powiedziałeś. Mam tylko teraz jeden problem: jak dodać przez VB jaką wartość do "(Domyślna)" w danym kluczu? Czy podaję po prostu ścieżkę "HKCR\jakisklucz\(Domyślna)\wartość? Nie wydaje mi się, bo np. w ang. Windowsach będzie to wartość "Default". A może jest jakaś specjalna funkcja API na rejestrację nowego rozszerzenia???


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


30-09-2003 17:55
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Nie ma żadnej api za to odpowiedzialnej! Nie robili by nowej api jeżeli można to zrobić za pomocą innych funkcji!

Widze ze zrobiłeś nowego posta wiec tam ci odpowiem na twoje drugie pytanie. (bawiłeś się kiedyś rejestrem? - nie wiesz jak wogóle wygląda i co to jest wartość domyślna?)

Aha no i zapomniałem przez to wszystko o najważniejszym: napisałem sampla który przypisuje rozszerzenie do danego programu. Posłałem go do Jelcyna wiec może bedzie w dziale workshop. Tobie też wysle

[Post edytowany dnia 02-10-2003 01:28 przez m-a-x]


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

02-10-2003 01:26
Pokaż profil m-a-x  Wyślij email do m-a-x   
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Tak. Bawiłem się rejestrem baaaaaardzo dużo. Pomagałem nawet pisać program do sztuczek w Windozie i sam takich parę odkryłem . Korzystam tylko z biblioteki Reg.dll, a nie z API. Napisałem np. program Taskbar Title Changer 1.23 http://download.chip.pl/download_65810.html. Wiem co to jest wartość domyślna i jak wygląda . Nie wiedziałem tylko jak coś do niej zapisać. Już mi wyjaśniłeś. Wielkie dzięki.


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


02-10-2003 21:04
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1