Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Base de registre [ Base de données / Autre ] (tribord10)

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é 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 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 les valeur de structure COMMTIMEOUTS ?????????? [ par hattabfethi ] Je veux faire une communication PC automate S7-200 via  le port rs232.Si qq peut me donner les valeurs de la structure COMMTIMEOUTS. typedef struct _C


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.