Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Редактор реестра Windows

Страниц (2): [1] 2 »
 

1. boter - 05 Февраля, 2019 - 04:31:33 - перейти к сообщению
Игра сохраняет настройки в реестр, необходимо прочитать их и сохранить.
После этого записать новые.

Пример на Autoit
2. Kibor - 05 Февраля, 2019 - 05:14:38 - перейти к сообщению
Ищите 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 ("дальше");
}
3. Zireael - 05 Февраля, 2019 - 06:11:31 - перейти к сообщению
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 ("дальше");
}
4. Kibor - 05 Февраля, 2019 - 06:51:38 - перейти к сообщению
 Цитата:
#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 ("дальше");
}
5. Zireael - 05 Февраля, 2019 - 16:44:03 - перейти к сообщению
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); // закрыть дескриптор
}
6. Kibor - 05 Февраля, 2019 - 17:09:29 - перейти к сообщению
Потом не забыть раскомментировать нижние строки и запустить еще раз для восстановление параметра))
7. boter - 15 Февраля, 2019 - 03:42:52 - перейти к сообщению
Необходимо получить строку(путь установки). Тип 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 ("дальше");
}
8. Zireael - 15 Февраля, 2019 - 04:13:07 - перейти к сообщению
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 ("дальше");
}
9. boter - 15 Февраля, 2019 - 13:02:04 - перейти к сообщению
Спасибо, работает! Радость
10. 007wan - 22 Февраля, 2019 - 08:44:32 - перейти к сообщению
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 ("дальше");
}


Показывает, что программа есть на компьютере? А если путь меняется?

Powered by ExBB FM 1.0 Final