30. oktober 2003 - 22:17
Der er
9 kommentarer og 2 løsninger
Export fra regedit til fil
Se
http://www.eksperten.dk/spm/420695 Jeg har brug for et program der kan skrive en bestemt streng i registreingsdatabasen ned til en fil (.txt)
Annonceindlæg fra DE-CIX
30. oktober 2003 - 22:40
#1
Et sådant program findes, mig bekendt ikke, men det kan laves og som jeg lige ser det, er det faktisk ikke en uoverkommelig opgave for en gut(inde) der har lidt styr på programmering
30. oktober 2003 - 23:01
#2
#include <windows.h> #include <stdio.h> #include <string.h> void getinfo(char *key, char *info) { HKEY hk; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, key, 0, KEY_QUERY_VALUE, &hk) == ERROR_SUCCESS) { DWORD ix = 0; char name[1024]; BYTE value[1024]; DWORD namelen, type, valuelen; namelen = sizeof(name); valuelen = sizeof(value); while(RegEnumValue(hk, ix, name, &namelen, NULL, &type, value, &valuelen) == ERROR_SUCCESS) { strcat(info,name); strcat(info,"="); strcat(info,(char *)value); strcat(info,"\n"); ix++; namelen = sizeof(name); valuelen = sizeof(value); } } RegCloseKey(hk); } int main(int argc, char **argv) { char info[12345]; strcpy(info,""); getinfo("SOFTWARE\\Microsoft\\Windows\\CurrentVersion", info); printf("%s\n", info); return 0; }
30. oktober 2003 - 23:02
#3
Det virker hos mig. Output: DevicePath=%SystemRoot%\inf MediaPathUnexpanded=%SystemRoot%\Media ProgramFilesDir=C:\Program Files CommonFilesDir=C:\Program Files\Common Files ProductId=xxxxxxxxxxxxxxxxxxxxxxxxxxxx WallPaperDir=%SystemRoot%\Web\Wallpaper MediaPath=C:\WINNT\Media ProgramFilesPath=%ProgramFiles% SM_AccessoriesName=Accessories PF_AccessoriesName=Accessories
30. oktober 2003 - 23:02
#4
Vigtigt - det forudsætter at alle værdierne er strenge. Program skal udbygges hvis det skal kunne håndtere tal.
30. oktober 2003 - 23:03
#5
Og skær point ned til 170 ! (ellers ligner det noget 30+200 point for samme spørgsmål)
30. oktober 2003 - 23:15
#6
det virker !!! Jeg kunne kysse dig!! Tak Tak og atter Tak.
30. oktober 2003 - 23:16
#7
skærer ned
30. oktober 2003 - 23:23
#8
så kan jeg altid smide "fil.exe > fil.txt" ind i en bat fil og klare det på den måde
30. oktober 2003 - 23:25
#9
Ja. Jeg kan da også lave en variant som skriver til en fil, hvis det er mere praktisk.
30. oktober 2003 - 23:32
#10
tjoe hvis det ikke er til for meget besvær?
30. oktober 2003 - 23:35
#11
int main(int argc, char **argv) { FILE *fp; char info[12345]; fp = fopen("getreg.txt", "w"); strcpy(info,""); getinfo("SOFTWARE\\Microsoft\\Windows\\CurrentVersion", info); fprintf(fp, "%s\n", info); fclose(fp); return 0; }
Computerworld tilbyder specialiserede kurser i database-management