Avatar billede jeg_var_amd Nybegynder
11. maj 2003 - 20:54 Der er 9 kommentarer

tilføje til regbasen med dos programmering

Hej..
Er der en, der kan svare mig på om man kan tilføje strenge til registrerings databasen med c++ dos programmering?
- og hvis man kan, hvordan ??
Avatar billede arne_v Ekspert
11. maj 2003 - 21:00 #1
Ægte DOS program: nej - DOS har ikke noget registry.

Windows console mode program (sådan er et program der kører i
en DOS box): ja.
Avatar billede arne_v Ekspert
11. maj 2003 - 21:01 #2
Du skal bruge:

RegOpenKeyEx
RegSetValueEx
RegCloseKey
Avatar billede arne_v Ekspert
11. maj 2003 - 21:06 #3
Copy paste fra noget kode jeg har.

Erklæring:

BOOL winreg_set_string(char *key, char *name,char *value,HKEY root = HKEY_CURRENT_USER);

Implementering:

BOOL winreg_set_string(char *key,char *name,char *value,HKEY root)
{
  HKEY h;
  if(RegOpenKeyEx(root,key,0,KEY_QUERY_VALUE,&h)) return FALSE;
  if(RegSetValueEx(h,name,0,REG_SZ,(BYTE *)value,strlen(value))) {
      RegCloseKey(h);
      return FALSE;
  }
  RegCloseKey(h);
  return TRUE;
}

og brug:

winreg_set_string("Software\\Arne","N","V_V_V_V_V_V")
Avatar billede jeg_var_amd Nybegynder
11. maj 2003 - 21:07 #4
Hehe alt det der fatter jeg jo hat af :D
mine koder hedder noget i den her stil:

et par includes

main()
{
lidt simpel kode
return 0;
}


:D
Ka du komme med et komplet eksempel??
Avatar billede arne_v Ekspert
11. maj 2003 - 21:26 #5
Avatar billede arne_v Ekspert
11. maj 2003 - 21:53 #6
#include <stdio.h>
#include <windows.h>
#include <tchar.h>

typedef int BOOL;
#define TRUE 1
#define FALSE 0

BOOL winreg_set_string(char *key, char *name,char *value,HKEY root = HKEY_CURRENT_USER);

BOOL winreg_set_string(char *key,char *name,char *value,HKEY root)
{
  HKEY h;
  if(RegOpenKeyEx(root,key,0,KEY_QUERY_VALUE,&h)) return FALSE;
  if(RegSetValueEx(h,name,0,REG_SZ,(BYTE *)value,strlen(value))) {
      RegCloseKey(h);
      return FALSE;
  }
  RegCloseKey(h);
  return TRUE;
}

int main()
{
  printf("set status = %d\n",winreg_set_string("Software\\Arne","N","V_V_V_V_V_V"));
  return 0;
}

cl regset.cpp /link advapi32.lib

virkede på Windows 95, men nu får jeg en access denied på Windows 2000.

Hmmm.
Avatar billede arne_v Ekspert
22. maj 2003 - 22:21 #7
Har du kunne få det til at virke ?
Avatar billede geforce3 Praktikant
23. maj 2003 - 07:35 #8
Han er deaktiveret...
Avatar billede arne_v Ekspert
23. maj 2003 - 07:57 #9
Nå.

Så skal jeg jo nok ikke forvente noget respons.

Endnu et af de mange permanente åbne spørgsmål.

:-(
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
Kurser inden for grundlæggende programmering

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