Игра сохраняет настройки в реестр, необходимо прочитать их и сохранить.
После этого записать новые.
Пример на Autoit
1. boter - 05 Февраля, 2019 - 04:31:33 - перейти к сообщению
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 ("дальше");
}
#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 ("дальше");
}
#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 ("дальше");
}
#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); // закрыть дескриптор
}
#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 ("дальше");
}
#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 ("дальше");
}
#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 ("дальше");
}
#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 ("дальше");
}
Показывает, что программа есть на компьютере? А если путь меняется?