Avatar billede brixz Nybegynder
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)
Avatar billede bufferzone Praktikant
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
Avatar billede arne_v Ekspert
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;
}
Avatar billede arne_v Ekspert
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
Avatar billede arne_v Ekspert
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.
Avatar billede arne_v Ekspert
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)
Avatar billede brixz Nybegynder
30. oktober 2003 - 23:15 #6
det virker !!!

Jeg kunne kysse dig!!

Tak Tak og atter Tak.
Avatar billede brixz Nybegynder
30. oktober 2003 - 23:16 #7
skærer ned
Avatar billede brixz Nybegynder
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
Avatar billede arne_v Ekspert
30. oktober 2003 - 23:25 #9
Ja.

Jeg kan da også lave en variant som skriver til en fil, hvis det er
mere praktisk.
Avatar billede brixz Nybegynder
30. oktober 2003 - 23:32 #10
tjoe hvis det ikke er til for meget besvær?
Avatar billede arne_v Ekspert
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;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester