patdan
Messages postés
37
Date d'inscription
lundi 20 septembre 2004
Statut
Membre
Dernière intervention
3 avril 2009
13 mars 2005 à 17:06
Re bonjour, je complète :
En fait, peut-être que les exemples que j'ai trouvé ne sont pas en EVC++, mais C++ c.a.d . pour PC et non Pocket !! Comme je n'y connais rien dans ces langages, je ne fais pas de différence... En fait, je ne connais que VB, et me débrouille donc un peu en EVB, mais pour ce que je veux faire, il me faut un exécutable! En fait, cela a rapport avec les pb de désinstall d'un prog EVB. Je voudrais faire un prog en EVC++ qui contrôle la base de registre et la remette en état afin qu'un prog en EVB puisse se lancer quoi qu'il arrive !! (PVBLoad.exe...)
Les 2 scripts
que j'ai testés n'ont pas d'erreur
, mais ne peuvent pas se "downloader"
sur le pocket.
Les voici : (incomplets bien sûr)
1)
#include "stdafx.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)
{
HKEY hkey;
TCHAR ch[40];
LPCWSTR param= NULL;
long retval;
DWORD lType;
DWORD cch;
retval = RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT(".vb"),0,KEY_ALL_ACCESS,&hkey);
retval = RegQueryValueEx(hkey,TEXT("Default"),NULL,&lType,NULL,&cch);
retval = RegQueryValueEx(hkey,TEXT("Default"),NULL,NULL,LPBYTE(ch),NULL);
if (retval!=0)
MessageBox (NULL,ch,TEXT("Info"),MB_OK);
else
MessageBox (NULL,TEXT("Problème"),TEXT("Info"),MB_OK);
RegCloseKey(hkey);
return 0;
}
**************************
2)
#include "stdafx.h"
#include <commctrl.h>
#include <windows.h>
#include <windowsx.h>
#include <commdlg.h>
#include <tchar.h>
#include <winreg.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
HKEY hKeyN2;
DWORD dwRegVal = 0x1234;
INT i = 0, rc;
DWORD dwValType, dwDSize;
PBYTE pbData;
TCHAR wszMessage[24];
//
rc = RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT(".vb"),0,KEY_QUERY_VALUE,&hKeyN2);
//
dwDSize = 1; // pass non null to get array size
dwValType = REG_DWORD;
rc = RegQueryValueEx (hKeyN2, TEXT("Default"),NULL, &dwValType, NULL, &dwDSize);
//allocate space
pbData = (PBYTE)LocalAlloc(LPTR,dwDSize);
if(!pbData )
{
MessageBox (NULL, TEXT("LocalAlloc Failed"),TEXT("Fail and Bail!"), MB_OK);
return FALSE;
}
//Get the key value
rc = RegQueryValueEx (hKeyN2, TEXT("Default"), NULL, &dwValType, pbData, &dwDSize);
if(rc == ERROR_SUCCESS )
{
wsprintf(wszMessage, TEXT("%s: %x"),TEXT("Default"), *(int*)pbData );
MessageBox (NULL, wszMessage, TEXT("Value Retrieved"), MB_OK);
return FALSE;
}
RegCloseKey( hKeyN2 );
return 0;
}
A L'AIDE !!!! #include "stdafx.h"
#include <commctrl.h>
#include <windows.h>
#include <windowsx.h>
#include <commdlg.h>
#include <tchar.h>
#include <winreg.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
HKEY hKeyN2;
DWORD dwRegVal = 0x1234;
INT i = 0, rc;
DWORD dwValType, dwDSize;
PBYTE pbData;
TCHAR wszMessage[24];
//
rc = RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT(".vb"),0,KEY_QUERY_VALUE,&hKeyN2);
//
dwDSize = 1; // pass non null to get array size
dwValType = REG_DWORD;
rc = RegQueryValueEx (hKeyN2, TEXT("Default"),NULL, &dwValType, NULL, &dwDSize);
//allocate space
pbData = (PBYTE)LocalAlloc(LPTR,dwDSize);
if(!pbData )
{
MessageBox (NULL, TEXT("LocalAlloc Failed"),TEXT("Fail and Bail!"), MB_OK);
return FALSE;
}
//Get the key value
rc = RegQueryValueEx (hKeyN2, TEXT("Default"), NULL, &dwValType, pbData, &dwDSize);
if(rc == ERROR_SUCCESS )
{
wsprintf(wszMessage, TEXT("%s: %x"),TEXT("Default"), *(int*)pbData );
MessageBox (NULL, wszMessage, TEXT("Value Retrieved"), MB_OK);
return FALSE;
}
RegCloseKey( hKeyN2 );
return 0;
}
A L'AIDE !!! Si quelqu'un a un bout de code qui marche, ce serait super sympa!!
Merci d'avance à ceux qui voudront bien se dévouer !!
patdan