Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] RegCreateKeyEx: error 183.

Ostatnio zmodyfikowano 2012-02-04 01:52
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
[WinAPI] RegCreateKeyEx: error 183.
» 2012-01-30 16:37:54
C/C++
HKEY dotxxx;
DWORD disp;
LONG ret = RegCreateKeyEx( HKEY_CLASSES_ROOT, ".xxx", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, & dotxxx, & disp );
if( ret != ERROR_SUCCESS ) {
    printf( "Cannot create/open .xxx key. (%ld)\n", GetLastError() );
    return 0;
}
Gdy klucz .xxx istnieje, problemu nie ma. Kiedy nie istnieje, problem jest.
Powinno być chyba na odwrót, chociaż RegCreateKeyEx tworzy klucz lub otwiera istniejący..

Co jest nie tak?

PS: a teraz jeszcze "lepiej":
Cannot create/open .xxx key. (0)
(na zmianę z
Cannot create/open .xxx key. (183)
)

PS2: podany kod to fragment funkcji eksportowanej z biblioteki DLL (może ma to jakieś znaczenie..)

PS3: Program "uruchomiony jako administrator" nie ma już z tym problemu. Jak zatem radzą sobie programy uruchomione normalnie?

PS4: I czemu jest taki dziwny błąd zamiast np ERROR_ACCESS_DENIED?
P-49815
DejaVu
» 2012-01-30 18:52:17
Jeżeli Win7 to prawdopodobnie UAC Ci nie pozwala na dostęp.
P-49826
pekfos
Temat założony przez niniejszego użytkownika
» 2012-01-30 18:55:13
Vista. To by się zgadzało :) ale dlaczego ERROR_ALREADY_EXISTS/ERROR_SUCCESS?
P-49827
DejaVu
» 2012-01-30 18:57:18
Bo tworzenie klucza != odczytywanie klucza. Klucz może utworzyć admin, odczytywać może użytkownik. Są gałęzie w których może użytkownik tworzyć klucze (bodajże Current User) i UAC go nie będzie blokował.
P-49828
jankowalski25
» 2012-01-30 18:57:37
PS3: Program "uruchomiony jako administrator" nie ma już z tym problemu.
Różne typy kont mają różne uprawnienia do różnych elementów systemu operacyjnego. Na moim XP mam grę, która działa dla Administratorów, a dla użytkowników z nieznanej przyczyny już nie. Pewnie ich konta nie mają dostępu do niektórych elementów systemu operacyjnego. Z nieznanych powodów u mnie konto gościa, w przeciwieństwie do reszty użytkowników, nie ma dostępu do dźwięku.
Jak zatem radzą sobie programy uruchomione normalnie?
Być może jeśli program nie może uzyskać dostępu do niektórych elementów, to po prostu nie działa poprawnie.
Skoro wyświetla się
Cannot create/open .xxx key.
, to prawdopodobnie program nie ma uprawnień do tworzenia kluczy rejestru w tym miejscu.
P-49829
yoogi
» 2012-01-30 19:49:28
Według mnie pozwala, ale ta kropka na początku psuję to co cieszy :)
P-49833
pekfos
Temat założony przez niniejszego użytkownika
» 2012-02-01 14:20:02
@yoogi: Nie wiem czy cię dobrze zrozumiałem.. Ale odpal sobie regedit i zobacz, co jest w kluczu HKEY_CLASSES_ROOT :P
P-49946
yoogi
» 2012-02-04 01:52:45
Zwracam honor, jednak można. Trochę "syf" tam jest. Domyślam się, że to jest na zasadzie rozszerzeń plików i ikonki w explorerze, mogę się mylić, ale jak to już bywa, nie chcę mi się nawet wpisać na klawiaturze "google.pl" :)
P-50105
« 1 »
  Strona 1 z 1