Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Работа с реестром windows в Кибор
boter
Отправлено: 05 Февраля, 2019 - 12:31:33
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 19
Дата рег-ции: Дек. 2015  
Репутация: 0




Игра сохраняет настройки в реестр, необходимо прочитать их и сохранить.
После этого записать новые.

Пример на Autoit
 
 Top
Kibor
Отправлено: 05 Февраля, 2019 - 13:14:38
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 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 ("дальше");
}
 
 Top
Zireael
Отправлено: 05 Февраля, 2019 - 14:11:31
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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 ("дальше");
}
 
 Top
Kibor
Отправлено: 05 Февраля, 2019 - 14:51:38
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 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 ("дальше");
}
 
 Top
Zireael
Отправлено: 06 Февраля, 2019 - 00:44:03
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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); // закрыть дескриптор
}
 
 Top
Kibor
Отправлено: 06 Февраля, 2019 - 01:09:29
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8219
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Потом не забыть раскомментировать нижние строки и запустить еще раз для восстановление параметра))
 
 Top
boter
Отправлено: 15 Февраля, 2019 - 11:42:52
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 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)

 
 Top
Zireael
Отправлено: 15 Февраля, 2019 - 12:13:07
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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 ("дальше");
}
 
 Top
boter
Отправлено: 15 Февраля, 2019 - 21:02:04
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 19
Дата рег-ции: Дек. 2015  
Репутация: 0




Спасибо, работает! Радость
 
 Top
007wan
Отправлено: 22 Февраля, 2019 - 16:44:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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 ("дальше");
}


Показывает, что программа есть на компьютере? А если путь меняется?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by