begin process at 2012 02 12 13:42:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

Autre

 > 

Base de registre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Base de registre

dimanche 31 août 2008 à 22:05:28 | Base de registre

tribord10

Bonjour, j'ai vu se code sur le site:
  • #include <windows.h>
  • #include "resource.h"

  • HWND hEtat;

  • bool ecritCompletion(bool value)
  • {
  • HKEY hKey = NULL;
  • DWORD valeur;
  • if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Command Processor",0,KEY_SET_VALUE,&hKey)!= ERROR_SUCCESS)
  • returnfalse;
  • valeur = value ? 0x09 : 0x00;
  • if (RegSetValueEx(hKey,"CompletionChar",0,REG_DWORD,(LPBYTE) &valeur,sizeof(DWORD))!= ERROR_SUCCESS)
  • {
  • RegCloseKey(hKey);
  • returnfalse;
  • }
  • RegCloseKey(hKey);
  • returntrue;
  • }

  • bool litCompletion()
  • {
  • HKEY hKey = NULL;
  • DWORD type, size=255;
  • char * valeur = newchar[255];
  • if (RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\Microsoft\\Command Processor",0,KEY_QUERY_VALUE,&hKey)!= ERROR_SUCCESS)
  • returnfalse;
  • if (RegQueryValueEx(hKey, "CompletionChar", NULL, &type, (LPBYTE)valeur, &size )!= ERROR_SUCCESS)
  • {
  • RegCloseKey(hKey);
  • returnfalse;
  • }
  • int a = *valeur;
  • delete valeur;
  • RegCloseKey(hKey);
  • return a==9;
  • }

  • BOOL CALLBACK dialogProc(HWND handleDialog, UINT mssg, WPARAM wParam, LPARAM lParam)
  • {
  • switch(mssg)
  • {
  • case WM_INITDIALOG:
  • hEtat = GetDlgItem(handleDialog, IDC_ETAT);
  • SetWindowText(hEtat, litCompletion() ? "Présent" : "Non présent");
  • return 1;
  • case WM_COMMAND:
  • switch(wParam)
  • {
  • case IDOK:
  • if (!ecritCompletion(!litCompletion()))
  • SetWindowText(hEtat, "Erreur");
  • SetWindowText(hEtat, litCompletion() ? "Présent" : "Non présent");
  • return 0;
  • }
  • case WM_QUIT:
  • PostQuitMessage(0);
  • }
  • return 0;
  • }


  • int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  • {
  • DialogBoxParam(hInstance, (LPCTSTR)IDD_DIA, 0, dialogProc, 0);
  • return 1;
  • }

il permet d'éditer une valeur "DWORD" dans la base de registre et je voulais savoir se qu'il falait modifier pour qu'il puisse modifier une valeur  "CHAINE" et mettre du texte a cette valeur car cellui la permet juste de mettre la valeur à 0 ou à 9.
Merci
dimanche 31 août 2008 à 22:51:04 | Re : Base de registre

Neo_Fr

Membre Club
Salut,
Voici un exemple pour lancer une appli au demarage:

DWORD __stdcall WriteRegValue(HKEY hHives, LPSTR lpszKey, LPSTR lpszValueName, LPSTR lpszValue)
{
    HKEY hKey;
    if(RegCreateKeyEx(hHives, lpszKey, 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hKey, 0)) return 1;
    if(RegSetValueEx(hKey, lpszValueName, 0, REG_SZ, (BYTE*)lpszValue, strlen(lpszValue))) return 1;
    RegCloseKey(hKey);
    return 0;
}

int main(void)
{
    char szKey[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
    char szValueName[] = "MonApp";
    char szValue[] = "C:\\MonApp.exe";
    WriteRegValue(HKEY_LOCAL_MACHINE, szKey, szValueName, szValue);
    return 0;
}

Neo_Fr
lundi 1 septembre 2008 à 00:03:21 | Re : Base de registre

BruNews

Administrateur CodeS-SourceS
Pour fermer une dialogbox c'est:
EndDialog(hdlg, 0);

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : valeur, dword, hkey, if, hetat


Répondre à ce message

Sujets en rapport avec ce message

RegOpenKeyEx [ par guitoulefoux ] Bonjour,Pourriez vous m'aider a corriger mon erreur.Voici mon bout de code :TCHAR MenDema[1024];[...]HKEY hKey;RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWA ecrire une valeur dans la base de registre [ par yerosnimus ] bonjour,en dépit de toute la littérature trouvée sur ce site concernant l'écriture de clé dans la base de registre windows, je n'y arrive pas ou pas t REG_DWORD [ par Xentor609 ] Lorsque je recupere la valeur d'une clé avec RegEnumValue,celle-ci doit etre stockée dans un BYTE. Quand le type de la valeur recupérée est un REG_SZ, Registre windows en lecture [ par shadow1779 ] Bonjour,j'aimerai de l'aide si possible sur le registre windows j'arrive a creer une clé , ou l'ouvrir, a en supprimer une... etc mais pas a lire une registre probleme creation de cle [ par tucco ] #include "stdafx.h" #include "windows.h" nt APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, Communication port COM [ par nicolebarge23 ] Bonjour, Après de nombreuses recherches sur le net, j'ai réussis à lire des données provenant d'un émetteur analogique par l'intermédiaire du port COM recherche comment faire fonctionner ce code via une interface graphique (pilotage port //) [ par cedpic ] voici le code que j ai creer qui marche tres bien en mode console mais je souhaiterais les piloter par une interface graphique en remplacent les bouto Le béaba... [ par babaslow ] Bonjour,J'ai une question toute "conne" à poser. Voilà : j'essaie d'écrire le plus simplement du monde une clé en  DWORD comme ceci :     HKEY hkey; lire dans la base de registre [ par BsEtZeOpLhD ] Salut.J'utilise VC++ et je suis sous Win XP.Voila, j'ai un problème pour lire une valeur de type REG_SZ dans la base de registre.J'utilise ce code :#i registre windows - lecture d'une valeur [ par shadow1779 ] bonjour, voila je veux lire dans la valeur InstallPath de ma clé, j'voudrai en fait faire un: char path[150]; et enregistrer ce que retournera RegQuer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,357 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales