![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Framework [D7, WinXP]
серега78 © (2005-12-15 16:19:00)народ, помогите.
как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?
Дима (2005-12-30 10:19:00) [1]Люди!
У меня такая проблема:после установки NETFramework через двадцать дней система начинает требовать перерегистрации через 9-8-7-6-5-4-3-2-1 дней и далее go to резервная копия.Старые кряки не помогают,новые тоже.
Пробовал искать кряки для этого пакета в сети,но ничего похожего не нашел.То ли нужен какой-то специфический кряк,то ли это просто системный глюк,не знаю.Если кто-то сталкивался с подобной проблемой или знает,как её решать,напишите.
Система у меня WinXP+SP1+reset5.
P.S.Всех с наступающим Новым Годом!
clickmaker (2005-12-15 17:27:00) [2]
> серега78 (15.12.05 16:43) [3]
отладчиком пройди
серега78 (2005-12-15 16:43:00) [3]Я тут наше кое чего, но не работает почему-то
function TForm1.EnumInstalledRuntimes(Index: Integer; out VersionName: String):
Boolean;
var
hkey: Windows.HKEY;
hsubkey: Windows.HKEY;
I: Cardinal;
J: Cardinal;
NameBuf: array[0..MAX_PATH] of Char;
CNameBuf: Cardinal;
lwt: TFileTime;
vt: DWORD;
AnyFound: Boolean;
begin
Result := False;
VersionName := '';
if ERROR_SUCCESS = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
PChar('SOFTWARE\Microsoft\.NETFramework\policy'), 0,
KEY_ENUMERATE_SUB_KEYS, hkey) then
try
I := 0;
while True do
begin
AnyFound := False;
CNameBuf := MAX_PATH + 1;
if ERROR_SUCCESS <> RegEnumKeyEx(hkey, I, @NameBuf[0], CNameBuf,nil, nil, nil, @lwt) then
begin
Break;
end;
if (NameBuf[0] = 'v') and (NameBuf[1] in ['1'..'9']) then
begin
VersionName := String(NameBuf);
if ERROR_SUCCESS = RegOpenKeyEx(hkey, @NameBuf[0], 0,KEY_QUERY_VALUE, hsubkey) then
try
J := 0;
while true do
begin
CNameBuf := MAX_PATH + 1;
if ERROR_SUCCESS <> RegEnumValue(hsubkey, J, @NameBuf[0],CNameBuf, nil, @vt, nil, nil) then
begin
Break;
end;
if (vt = REG_SZ) and (NameBuf[0] <> #0) then
begin
VersionName := VersionName + '.' + String(NameBuf);
AnyFound := True;
Break;
end;
Inc(J);
end;
finally
RegCloseKey(hsubkey);
end;
end;
Inc(I);
if AnyFound then
begin
if Index = 0 then
begin
Result := True;
Break;
end;
Dec(Index);
end;
end;
finally
RegCloseKey(hkey);
end;
end;
Джо (2005-12-15 16:39:00) [4]Если имеется в виду .Net Framework, то см. ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy.
Кроме того, самая последняя версия установленного фреймворка будет прописана в VersionInfo файла windows\system32\MscorEE.dll (если установлена).
Lamer@fools.ua (2005-12-15 16:30:00) [5]> как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?
Framework чего?