Kibor |
Отправлено: 05 Февраля, 2019 - 13:14:38
|
Эксперт
Просматривает форум
Сообщений всего: 8219
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Ищите WinApi для работы с реестром
Начало примера чтения:
CODE:#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_READ 131097
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework", 0, KEY_READ, address(#rKey))==0)
{
//RegQueryValueEx...
messagebox ("дальше");
}
|
|
|
Zireael |
Отправлено: 05 Февраля, 2019 - 14:11:31
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey, byte=4, result;
char name[255];
strcpy(#name[0], "DbgJITDebugLaunchSetting"); // имя параметра
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, address(#name[0]), 0, 0, address(#result), address(#byte))==0) // получить значение dword
{
messagebox(result); // если получено показать в сообщении
}
messagebox ("дальше");
} |
|
|
Kibor |
Отправлено: 05 Февраля, 2019 - 14:51:38
|
Эксперт
Просматривает форум
Сообщений всего: 8219
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Цитата: #define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey, byte=4, result;
//char name[255];
//strcpy(#name[0], "Enable64Bit"); // имя параметра
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, "Enable64Bit", 0, 0, address(#result), address(#byte))==0) // получить значение dword
{
messagebox(result); // если получено показать в сообщении
}
messagebox ("дальше");
} |
|
|
Zireael |
Отправлено: 06 Февраля, 2019 - 00:44:03
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
external(INT, "RegSetValueEx", "RegSetValueExA", "Advapi32.dll" );
external(INT, "RegCloseKey", "RegCloseKey", "Advapi32.dll" );
int rKey, byte=4, result;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\.NETFramework", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, "Enable64Bit", 0, 0, address(#result), address(#byte))==0) // получить значение dword
{
messagebox(result); // если получено показать в сообщении
}
int value=123;
RegSetValueEx(rKey, "Enable64Bit", 0, 4, address(#value), byte); // записать 123 в параметр 'Enable64Bit'
//value=1;
//RegSetValueEx(rKey, "Enable64Bit", 0, 4, address(#value), byte); // записать 1 в параметр 'Enable64Bit'
RegCloseKey(rKey); // закрыть дескриптор
} |
|
|
boter |
Отправлено: 15 Февраля, 2019 - 11:42:52
|
Прохожий
Покинул форум
Сообщений всего: 19
Дата рег-ции: Дек. 2015
Репутация: 0
|
Необходимо получить строку(путь установки). Тип REG_SZ Имя InstallRoot
CODE:
#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey, byte=4, result;
//char name[255];
//strcpy(#name[0], "Enable64Bit"); // имя параметра
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\.NETFramework", 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, "InstallRoot", 0, 0, address(#result), address(#byte))==0) // получить значение dword
{
messagebox(formatic(result)); // если получено показать в сообщении
}
messagebox ("дальше");
}
(Отредактировано автором: 15 Февраля, 2019 - 11:44:07) |
|
|
Zireael |
Отправлено: 15 Февраля, 2019 - 12:13:07
|
Эксперт
Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey, byte=255;
char result[255];
string path="SOFTWARE\Adobe\Photoshop\60.0"; // путь
string parametr="ApplicationPath"; // параметр
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, path, 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, parametr, 0, 0, address(#result[0]), address(#byte))==0) // получить значение REG_SZ
{
messagebox(format(#result[0])); // если получено показать в сообщении
}
messagebox ("дальше");
} |
|
|
007wan |
Отправлено: 22 Февраля, 2019 - 16:44:32
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
CODE:#define HKEY_LOCAL_MACHINE -2147483646
#define KEY_ALL_ACCESS 983103
#define KEY_WOW64_64KEY 256
external(INT, "RegOpenKeyEx", "RegOpenKeyExA", "Advapi32.dll" );
external(INT, "RegQueryValueEx", "RegQueryValueExA", "Advapi32.dll" );
int rKey, byte=255;
char result[255];
string path="SOFTWARE\Adobe\Photoshop\60.0"; // путь
string parametr="ApplicationPath"; // параметр
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, path, 0, KEY_ALL_ACCESS | KEY_WOW64_64KEY, address(#rKey))==0)
{
if(RegQueryValueEx(rKey, parametr, 0, 0, address(#result[0]), address(#byte))==0) // получить значение REG_SZ
{
messagebox(format(#result[0])); // если получено показать в сообщении
}
messagebox ("дальше");
}
Показывает, что программа есть на компьютере? А если путь меняется? |
|
|
|