Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*RatzRamDiskCleaner säubert mithilfe eines Hotkeys den Ordner, in den die Videoaufnahmen von Fraps
- * gespeichert werden, was vor allem bei RamDisks mit wenig Speicherplatz Sinn macht.
- * Der Pfad zu den Aufnahmen und der Hotkey werden in der Registry gespeichert und bei jedem Start von
- * dort ausgelesen um zu überprüfen ob Einstellungen vorhanden sind.
- * Mit den Standardeinstellungen kann mit F8 auf der Tastatur der Inhalt des Aufnahmenordners gelöscht werden.
- * Viel Spass damit und gute Frags wünscht der Ratzie :)
- */
- #include <dirent.h>
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <windows.h>
- #define KEY "SOFTWARE\\ratz\\RRDC\\"
- #define HOTKEY "VK_F8"
- #define HOTKEYSCHLUESSEL "Hotkey"
- #define PASSWORTSCHLUESSEL "Passwort"
- #define PFADSCHLUESSEL "Pfad"
- #define RED "SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);"
- #define GREEN "SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);"
- #define STANDARD "SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);"
- unsigned char *ausgabe;
- DWORD size;
- HKEY hkey;
- int ReadFromReg(char keyname[]){
- free(ausgabe);
- if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, KEY, 0, KEY_QUERY_VALUE, &hkey) != ERROR_SUCCESS)
- printf("Konnte RegistryKey nicht oeffnen !\n");
- if(RegQueryValueEx(hkey, keyname, NULL, NULL, ausgabe, &size) != ERROR_SUCCESS){
- printf("Konnte Registrywert nicht auslesen\n");
- return 1;
- }
- else{
- ausgabe = (LPBYTE)malloc((size + 1));
- RegQueryValueEx(hkey, keyname, NULL, NULL, ausgabe, &size);
- return 0;
- }
- if(RegCloseKey(hkey) != ERROR_SUCCESS)
- printf("Konnte RegistryKey nicht schliessen !\n");
- }
- int WriteToReg(char wert[], int anzahl, char name[]){
- if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, KEY, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, NULL) != ERROR_SUCCESS)
- printf("Konnte RegistryKey nicht erstellen !\n");
- if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, KEY, 0, KEY_SET_VALUE, &hkey) != ERROR_SUCCESS)
- printf("Konnte RegistryKey nicht öffnen !\n");
- if(RegSetValueEx(hkey, name, 0, REG_SZ, wert, anzahl) != ERROR_SUCCESS)
- printf("Konnte RegistryKey nicht schreiben !\n");
- }
- int cleardisk(char verzeichnis[]){
- char *pfad;
- int i = 0;
- DIR *ramdisk;
- struct dirent *ramdiskzeiger;
- pfad = malloc((256 + strlen(verzeichnis)) * sizeof(char));
- if((ramdisk=opendir(verzeichnis)) == NULL)
- printf("Konnte das Verzeichnis \"%s\" nicht öffnen !\n", verzeichnis);
- while((ramdiskzeiger=readdir(ramdisk)) != NULL){
- i++;
- if(i > 2){
- snprintf(pfad, (256 + strlen(verzeichnis)), "%s%s", verzeichnis, (*ramdiskzeiger).d_name);
- if(remove(pfad) == 0)
- printf("%s\t wurde erfolgreich geloescht !\n", pfad);
- else
- printf("%s\t konnte nicht geloescht werden !\n", pfad);
- }
- }
- closedir(ramdisk);
- free(pfad);
- }
- int main (){
- unsigned char *verzeichnis;
- unsigned char *testhotkey;
- unsigned char *testpasswort;
- if(ReadFromReg(PASSWORTSCHLUESSEL) == 1){
- char a[50];
- printf("\nPasswort eingeben um das Programm zu verwenden: ");
- scanf("%49s", a);
- WriteToReg(a, strlen(a + 1), "Passwort");
- }
- else{
- testpasswort = ausgabe;
- printf("Passwort lautet: %s\n", testpasswort);
- printf("Passwortlaenge: %d\n", size);
- }
- if(ReadFromReg(PFADSCHLUESSEL) == 1){
- char a[50];
- printf("\nPfad zum Aufnahmeordner auf der Ramdisk (z.B.: H:\\ \b\\Aufnahmen\\ \b\\ ): ");
- scanf("%49s", a);
- printf("Pfad zu den Aufnahmen lautet nun \"%s\".\n", a);
- WriteToReg(a, strlen(a + 1), "Pfad");
- }
- else{
- verzeichnis = ausgabe;
- printf("Pfad lautet: %s\n", verzeichnis);
- printf("Pfadlaenge: %d\n", size);
- }
- if(ReadFromReg(HOTKEYSCHLUESSEL) == 1){
- WriteToReg(HOTKEY, 6, "Hotkey");
- }
- else{
- testhotkey = ausgabe;
- printf("Hotkey lautet: %s\n", testhotkey);
- printf("Hotkeylaenge: %d\n", size);
- }
- printf("Alles geht soweit");
- }
Add Comment
Please, Sign In to add comment