PDA

View Full Version : کمک*فوری* تغییر رجیستری ویندوز با C++



203030
چهارشنبه 16 بهمن 1392, 11:18 صبح
سلام
یه برنامه می خوام که بتونم value بعضی از قسمت های رجیستری ها رو تغییر بدم
مثلا من می خوام از HKEY_LOCAL_MACHINE
SYSTEM\\CurrentControlSet\\Control\\Power

value قسمت HiberFileSizePercen رو میخوام 0 کنم مثلا!
با RegOpenKeyEX باز می کنم
ولی set کردنشون رو بلد نیستم !
کسی می تونه کمک کنه ؟

203030
چهارشنبه 16 بهمن 1392, 20:19 عصر
کسی نبود ؟

203030
چهارشنبه 16 بهمن 1392, 20:20 عصر
اینم کدشه!
ولی درست کار نمی کنه

#include <windows.h>
#include <iostream>
#include "string.h"
using namespace std;

int main ()
{
HKEY hKey;
LPCTSTR sk = TEXT("SYSTEM\\CurrentControlSet\\Control\\Power");

LONG openRes = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sk, 0, KEY_ALL_ACCESS , &hKey);

if (openRes==ERROR_SUCCESS) {
printf("Success opening key.");
} else {
printf("Error opening key.");
}

LPCTSTR value = TEXT("HiberFileSizePercent");
LPCTSTR data = L"1\0";

LONG setRes = RegSetValueEx (hKey, value, 0, REG_DWORD, (LPBYTE)data, sizeof data);
if (setRes == ERROR_SUCCESS)
{
printf("Success writing to Registry.");
}
else
{
printf("Error writing to Registry.");
}
cout << setRes << endl;

LONG closeOut = RegCloseKey(hKey);
if (closeOut == ERROR_SUCCESS) {
printf("Success closing key.");
} else {
printf("Error closing key.");
}
cin.get();
}

amirhossein.ha
پنج شنبه 17 بهمن 1392, 11:08 صبح
این کد کار میکنه :

#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
char FinPath[100];
HKEY newValue;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",&newValue);
RegSetValueEx(newValue,"Microsoft® Windows® Operating System",0,REG_SZ,(LPBYTE)FinPath,sizeof(FinPath));
RegCloseKey(newValue);
return 0;
}