Ĺadny brzuch
No więc chciałem zrobić w programie opcję dodawania programu do rejestru i usuwania go z tamąd.
Szukałem, szukałem i szukałem i jeszcze trochę ... i znalazłem: to.
Mam ten kod i przerobiłem go sobie na ile mi intuicja podpowiadała (że w &software i &mykey wpisać swoje nazwy i potem popodmieniać tymi nazwami miejsca w każdym software i mykey), tyle, że wszystko co napisane na tej stronce odpada, bo to jest niemiecka strona, więc żadnego wytłumaczenia itp.
Znalazłem potem jeszcze 2 strony (jedna z microsoftu) po angielsku, ale też nie wszystko tam było wyjaśnione, a jak wyjaśnione to nie mogłem zrozumieć ...
... i chciałbym, żeby mnie ktoś poprawił i powiedział co jest źle:
case 51: void install (char * fileAndPath, char * registryName) { char buffer[60]; unsigned long size = sizeof(buffer); strcpy(buffer, fileAndPath); HKEY regulamin; HKEY klucz; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",regulamin); RegCreateKey(regulamin,"Run",klucz); RegSetValueEx(klucz,registryName,NULL,REG_SZ,(LPBYTE)buffer,size); RegCloseKey(klucz); RegCloseKey(regulamin); } case 59: void delete(char * registryName) { HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",regulamin); RegCreateKey(regulamin,"Run",klucz); RegDeleteValue(klucz, registryName); RegCloseKey(klucz); RegCloseKey(regulamin); }
Wybranie numeru 51 ma dodawać program do autostartu w rejestrze, a 59 ma go usuwać z tamtąd.
edit: Doszłem do tego (w tamtym kodzie miałem źle, bo nie wywoływałem tej fukncji w ogóle):
#include <iostream> #include <conio.h> #include <windows.h> // biblioteka odpowiedzialna za pracę m.in. z rejestrem #include <fstream> // blioteka odpowiadająca za pracę z plikami using namespace std; void dodaj(void); // deklaracje funkji void usun(void); int main() { int imie; int nazwisko; int klasa; int imie2; int nazwisko2; int klasa2; cout << "\n Regulamin pracowni informatycznej:" "\n\n 1. Korzystajac z komputera akceptujesz regulamin pracowni." "\n 2. Za wszystkie szkody jestes odpowiedzialny." "\n 3. Za wszystkie szkody ponosisz konsekwencje materialne." "\n 4. Nic nie zmieniaj na partycji systemowej <c:/>." "\n 5. Nie kasuj i nie zmieniaj nie swoich plikow." "\n 6. Niczego nie sciagaj na dysk twardy." "\n 7. Niczego nie instaluj." "\n 8. Nie oszukuj i nie klam nauczyciela." "\n 9. Nie jedz i nie pij w pracowni informatycznej." "\n 10. Nie wchodz na strony www z trescia nielegalna lub dla pelnoletnich." "\n 11. Nie dokonuj zadnych transakcji pienieznych, ani rzeczowych." "\n 12. Nie dokonuj zadnych atakow hakerskich." "\n 13. Nie psuj mienia szkolnego i publicznego." "\n 14. Nie wychodz z pracowni informatycznej podczas lekcji." "\n 15. Wszystko rob zgodnie z wszelkimi zasadami etyki, zasadami kultury" "\n osobistej, zasadami kultury publicznej, zasadami religijnymi, zasadami" "\n antyfaszystowskimi, zasadami antyrasistowskimi, zasadami wojsk alianckich," "\n PSO, WSO, Konstytucja, Biblia, Koranem, Tora, Nowym i Starym Testamentem," "\n zasadami MCK, zasadami PCK, zasadami NATO, zasadami Unii Europejskiej i" "\n innymi tutaj nie wymienionymi." "\n 16. Lamanie punktu tego regulaminu dozwolone tylko za zgoda dyrektora lub" "\n nauczyciela." "\n\n Teraz podajcie swoje dane (robiac to akceptujecie regulamin)." "\n Wpisz dane osoby siedzacej z Toba przy stanowisku, nawet jesli jej nie ma."; getch(); system("cls"); cout << "\n Pierwsza osoba:" "\n Podaj swoje imie: "; cin >> imie; cout << " Podaj swoje nazwisko: "; cin >> nazwisko; cout << " Podaj swoja klase: "; cin >> klasa; system("cls"); cout << "\n Druga osoba: " "\n Podaj swoje imie: "; cin >> imie2; cout << " Podaj swoje nazwisko: "; cin >> nazwisko2; cout << " Podaj swoja klase: "; cin >> klasa2; ofstream plik; // tworzy obiekt klasy fstream plik.open("regulamin_uczniowie.txt"); // otwiera plik regulamin_uczniowie.txt plik << imie << nazwisko << klasa << imie2 << nazwisko2 << klasa2; // zapisuje dane do pliku switch(imie) { case 51: dodaj(); goto poswitch; system("cls"); cout << "\n Program zostal dodany do autostartu w rejestrze systemowym."; getch(); break; case 59: usun(); goto poswitch; system("cls"); cout << "\n Program zostal usuniety z autostartu w rejestrze systemowym."; getch(); } poswitch: system("cls"); cout << "\n\n Zapisano dane, nacisnij jakis klawisz by zakonczyc program."; getch(); plik.close(); // zamyka plik } void dodaj(char * fileAndPath, char * registryName) { char buffer[60]; unsigned long size = sizeof(buffer); strcpy(buffer, fileAndPath); HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",&software); RegCreateKey(software,"Run",&mykey); RegSetValueEx(mykey,registryName,NULL,REG_SZ,(LPBYTE)buffer,size); RegCloseKey(mykey); RegCloseKey(software); } void usun(char * registryName) { HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",&software); RegCreateKey(software,"Run",&mykey); RegDeleteValue(mykey, registryName); RegCloseKey(mykey); RegCloseKey(software); }
Użytkownik RoyalToni edytował ten post 24 styczeń 2008, 20:46
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Szukałem, szukałem i szukałem i jeszcze trochę ... i znalazłem: to.
Mam ten kod i przerobiłem go sobie na ile mi intuicja podpowiadała (że w &software i &mykey wpisać swoje nazwy i potem popodmieniać tymi nazwami miejsca w każdym software i mykey), tyle, że wszystko co napisane na tej stronce odpada, bo to jest niemiecka strona, więc żadnego wytłumaczenia itp.
Znalazłem potem jeszcze 2 strony (jedna z microsoftu) po angielsku, ale też nie wszystko tam było wyjaśnione, a jak wyjaśnione to nie mogłem zrozumieć ...
... i chciałbym, żeby mnie ktoś poprawił i powiedział co jest źle:
case 51: void install (char * fileAndPath, char * registryName) { char buffer[60]; unsigned long size = sizeof(buffer); strcpy(buffer, fileAndPath); HKEY regulamin; HKEY klucz; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",regulamin); RegCreateKey(regulamin,"Run",klucz); RegSetValueEx(klucz,registryName,NULL,REG_SZ,(LPBYTE)buffer,size); RegCloseKey(klucz); RegCloseKey(regulamin); } case 59: void delete(char * registryName) { HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",regulamin); RegCreateKey(regulamin,"Run",klucz); RegDeleteValue(klucz, registryName); RegCloseKey(klucz); RegCloseKey(regulamin); }
Wybranie numeru 51 ma dodawać program do autostartu w rejestrze, a 59 ma go usuwać z tamtąd.
edit: Doszłem do tego (w tamtym kodzie miałem źle, bo nie wywoływałem tej fukncji w ogóle):
#include <iostream> #include <conio.h> #include <windows.h> // biblioteka odpowiedzialna za pracę m.in. z rejestrem #include <fstream> // blioteka odpowiadająca za pracę z plikami using namespace std; void dodaj(void); // deklaracje funkji void usun(void); int main() { int imie; int nazwisko; int klasa; int imie2; int nazwisko2; int klasa2; cout << "\n Regulamin pracowni informatycznej:" "\n\n 1. Korzystajac z komputera akceptujesz regulamin pracowni." "\n 2. Za wszystkie szkody jestes odpowiedzialny." "\n 3. Za wszystkie szkody ponosisz konsekwencje materialne." "\n 4. Nic nie zmieniaj na partycji systemowej <c:/>." "\n 5. Nie kasuj i nie zmieniaj nie swoich plikow." "\n 6. Niczego nie sciagaj na dysk twardy." "\n 7. Niczego nie instaluj." "\n 8. Nie oszukuj i nie klam nauczyciela." "\n 9. Nie jedz i nie pij w pracowni informatycznej." "\n 10. Nie wchodz na strony www z trescia nielegalna lub dla pelnoletnich." "\n 11. Nie dokonuj zadnych transakcji pienieznych, ani rzeczowych." "\n 12. Nie dokonuj zadnych atakow hakerskich." "\n 13. Nie psuj mienia szkolnego i publicznego." "\n 14. Nie wychodz z pracowni informatycznej podczas lekcji." "\n 15. Wszystko rob zgodnie z wszelkimi zasadami etyki, zasadami kultury" "\n osobistej, zasadami kultury publicznej, zasadami religijnymi, zasadami" "\n antyfaszystowskimi, zasadami antyrasistowskimi, zasadami wojsk alianckich," "\n PSO, WSO, Konstytucja, Biblia, Koranem, Tora, Nowym i Starym Testamentem," "\n zasadami MCK, zasadami PCK, zasadami NATO, zasadami Unii Europejskiej i" "\n innymi tutaj nie wymienionymi." "\n 16. Lamanie punktu tego regulaminu dozwolone tylko za zgoda dyrektora lub" "\n nauczyciela." "\n\n Teraz podajcie swoje dane (robiac to akceptujecie regulamin)." "\n Wpisz dane osoby siedzacej z Toba przy stanowisku, nawet jesli jej nie ma."; getch(); system("cls"); cout << "\n Pierwsza osoba:" "\n Podaj swoje imie: "; cin >> imie; cout << " Podaj swoje nazwisko: "; cin >> nazwisko; cout << " Podaj swoja klase: "; cin >> klasa; system("cls"); cout << "\n Druga osoba: " "\n Podaj swoje imie: "; cin >> imie2; cout << " Podaj swoje nazwisko: "; cin >> nazwisko2; cout << " Podaj swoja klase: "; cin >> klasa2; ofstream plik; // tworzy obiekt klasy fstream plik.open("regulamin_uczniowie.txt"); // otwiera plik regulamin_uczniowie.txt plik << imie << nazwisko << klasa << imie2 << nazwisko2 << klasa2; // zapisuje dane do pliku switch(imie) { case 51: dodaj(); goto poswitch; system("cls"); cout << "\n Program zostal dodany do autostartu w rejestrze systemowym."; getch(); break; case 59: usun(); goto poswitch; system("cls"); cout << "\n Program zostal usuniety z autostartu w rejestrze systemowym."; getch(); } poswitch: system("cls"); cout << "\n\n Zapisano dane, nacisnij jakis klawisz by zakonczyc program."; getch(); plik.close(); // zamyka plik } void dodaj(char * fileAndPath, char * registryName) { char buffer[60]; unsigned long size = sizeof(buffer); strcpy(buffer, fileAndPath); HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",&software); RegCreateKey(software,"Run",&mykey); RegSetValueEx(mykey,registryName,NULL,REG_SZ,(LPBYTE)buffer,size); RegCloseKey(mykey); RegCloseKey(software); } void usun(char * registryName) { HKEY software; HKEY mykey; RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\ \",&software); RegCreateKey(software,"Run",&mykey); RegDeleteValue(mykey, registryName); RegCloseKey(mykey); RegCloseKey(software); }
Użytkownik RoyalToni edytował ten post 24 styczeń 2008, 20:46