StupidSoldier
08.06.2010, 17:51
помогите написать кусочек скрипта для программы которая:
1.Считывает значение из реестра
2.В случае, если значение считалось - запускает другую программу расположенную в той же папке.
Как-то так:
Получение значений из реестра (пример выдран из работающей функции и немного упрощен)
// Путь к ключу, ветка
TCHAR* currentKey = TEXT("SOFTWARE\\Abracadabra\\Path\\"));
HKEY* currentHKey = new HKEY(); // дескриптор ветки
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
currentKey,
0,
KEY_READ,
currentHKey);
DWORD size; // Длина значения
// Дважды вызываем RegQueryValueEx, сначала получим длину значения,
// потом получаем само значение в выделенный буфер
DWORD retCode = RegQueryValueEx(
*(hkey),
L"UninstallString",
NULL,
NULL,
NULL,
&size
);
// Проверим есть ли значение
if (retCode != ERROR_SUCCESS)
return;
// Выделяем буфер для значения
TCHAR* value = new TCHAR[size];
// Получаем значение
retCode = RegQueryValueEx(
*(hkey),
L"UninstallString",
NULL,
NULL,
(LPBYTE)value,
&size
);
Простой вариант запуска:
if((UINT)ShellExecute(hwnds::hWnd, L"open",
"app.exe", NULL, NULL, SW_SHOWNORMAL) <= 32)
; // Не удалось запустить приложение...
Само собой ТС это уже не нужно xD Но мало ли кому-то другому пригодится.
Powered by vBulletin™ Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot