Kod Windowsa Vista

dział ogólny

Kod Windowsa Vista

Nowy postprzez Corvis » poniedziałek, 30 listopada 2009, 23:40

Witam,

Kożystam z funkcji z serwisu CB -> http://cyfbar.republika.pl/api3.html#api9

Używam Visty i C++ Buildera 2010.

Wszystko super działa jeżeli jestem adminem albo robię wersję debug. Numer generowany jest poprawnie ( zgadza mi się z nalepka )

Jeżeli robię wersję relase zaczyna się problem bo generuje wogóle inny klucz windowsa. Podobnie jest jeżeli wersję Debug przeniosę w inny folder np na pulpit.
Dopiero jak uruchomię program jako admin znowu wszystko działa.

Spotkał się ktoś z tym ?? O co tu chodzi ?

Pozdrawiam
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    NieznanyNieznana

Re: Kod Windowsa Vista

Nowy postprzez polymorphism » poniedziałek, 30 listopada 2009, 23:56

Tak nawiasem: w GetProductKey jest błąd:
Kod: Zaznacz cały
AnsiString GetProductKey()
{
   (...)

   DigitalProductID = (BYTE *)malloc(DataLength);
   
   (...)
   
   if(DigitalProductID) delete DigitalProductID;
   
   (...)
}

delete usuwa pamięć zaalokowaną przez malloc. No i tablice usuwamy operatorem delete[].
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    NieznanyNieznana

Re: Kod Windowsa Vista

Nowy postprzez Corvis » wtorek, 1 grudnia 2009, 00:00

Zauważyłem też bo mi COdeGuard krzyczy.

tu też jest błąd :

Kod: Zaznacz cały
ProductKeyExtract[sizeof(ProductKeyExtract)] = NULL;


wyjście poza rozmiar tablicy
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    NieznanyNieznana

Re: Kod Windowsa Vista

Nowy postprzez Corvis » wtorek, 1 grudnia 2009, 01:27

Wydaje mi się, że chodzi o dostęp do rejestru z poziomu usera i admina w celu odczytania klucza.
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    NieznanyNieznana

Re: Kod Windowsa Vista

Nowy postprzez Corvis » wtorek, 1 grudnia 2009, 09:48

Witam ponownie,


Doszedłem o co chodzi.

Mianowicie Windows Vista dzięki podwyższonym metodom zabezpieczeń nie daje otwierać rejestru plików systemowych do edycji. Należy zrobić to tak:

Kod: Zaznacz cały
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\MICROSOFT\\Windows NT\\CurrentVersion",  REG_OPTION_NON_VOLATILE, KEY_READ, &hRegistryKey)


parametr KEY_ALL_ACCESS zmieniamy na KEY_READ

Lub w klasie TRegistry

Kod: Zaznacz cały
regKey->OpenKeyReadOnly("KLUCZ");


Wtedy Vista pozwoli na to :)

Dzięki wszystkim za odp.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 3 gości