przypisanie exe'ka do nowego formatu pliku

Odpowiedz Nowy wątek
2006-10-18 22:47
0

Dłubałem w rejestrze szukając miejsc w którym trzeba było by dopisać mój program rozszerzenie itp.
ale efekt był opłakany.

Do rzeczy oto problem:

//program
C:\folder\program.exe

//plik
*.moj_plik

chciałbym zrobić takie małe hokus pokus żeby po klikniecie na ikonie pliku PPM w menu wyświetliła się nowa opcja np.
"zrób cos"
która uruchamiała by mój program.

jeżeli ktoś wie jakie mam zmienić klucze w rejestrze proszę pisać będę wdzięczny:]

Pozostało 580 znaków

2006-10-18 23:04
0

Rejestracja własnego rozszerzenia


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-10-24 11:15
0

Czyli po mojemu:

void RegisterFileExtension(char Ext[], char Name[],char ProgramName[], char Icon[])
{
HKEY key;
char str[40];
  if(Ext[1] == '.')    Ext = '.' + Ext;

    sprintf(str,"%s",Ext);

        if( RegOpenKeyEx(HKEY_CLASSES_ROOT, str, 0, KEY_CREATE_SUB_KEY | KEY_ALL_ACCESS,&key)!=ERROR_SUCCESS) RegCreateKey(HKEY_CLASSES_ROOT,str,&key);

            RegSetValueEx(key,"",0,REG_SZ,(LPBYTE)Name,  strlen(Name));

        RegCloseKey(key);

    sprintf(str,"%s%s",Name, "\\shell\\open\\command");
        if( RegOpenKeyEx(HKEY_CLASSES_ROOT, str, 0, KEY_CREATE_SUB_KEY | KEY_ALL_ACCESS,&key)!=ERROR_SUCCESS) RegCreateKey(HKEY_CLASSES_ROOT,str,&key);

            sprintf(str,"%s%s%s%s","\"",ProgramName,"\"","\"%1\"");

            RegSetValueEx(key,"",0,REG_SZ,(LPBYTE)str, strlen(str));

        RegCloseKey(key);

    sprintf(str,"%s%s",Name, "\\DefaultIcon");

        if( RegOpenKeyEx(HKEY_CLASSES_ROOT, str, 0, KEY_CREATE_SUB_KEY | KEY_ALL_ACCESS,&key)!=ERROR_SUCCESS) RegCreateKey(HKEY_CLASSES_ROOT,str,&key);

            sprintf(str,"%s",Icon);

            RegSetValueEx(key,"",0,REG_SZ,(LPBYTE)str, strlen(str));

        RegCloseKey(key);

    return;
}

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0