Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.19;
Скачать: CL | DM;

Вниз

Framework   Найти похожие ветки 

 
серега78   (2005-12-15 16:19) [0]

народ, помогите.

как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?


 
Lamer@fools.ua ©   (2005-12-15 16:30) [1]

>как используя WinAPI определить какая версия Framework установлена и установленна ли вообще?

Framework чего?


 
Джо ©   (2005-12-15 16:39) [2]

Если имеется в виду .Net Framework, то см. ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy.

Кроме того, самая последняя версия установленного фреймворка будет прописана в VersionInfo файла windows\system32\MscorEE.dll (если установлена).


 
серега78   (2005-12-15 16:43) [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;


 
clickmaker ©   (2005-12-15 17:27) [4]


> серега78   (15.12.05 16:43) [3]

отладчиком пройди


 
Дима   (2005-12-30 10:19) [5]

Люди!
У меня такая проблема:после установки NETFramework через двадцать дней система начинает требовать перерегистрации через 9-8-7-6-5-4-3-2-1 дней и далее go to резервная копия.Старые кряки не помогают,новые тоже.
Пробовал искать кряки для этого пакета в сети,но ничего похожего не нашел.То ли нужен какой-то специфический кряк,то ли это просто системный глюк,не знаю.Если кто-то сталкивался с подобной проблемой или знает,как её решать,напишите.
Система у меня WinXP+SP1+reset5.

P.S.Всех с наступающим Новым Годом!



Страницы: 1 вся ветка

Текущий архив: 2006.03.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1141320061
Alex7
2006-03-02 20:21
2006.03.19
Неисправность


2-1141213696
Wel
2006-03-01 14:48
2006.03.19
Добавить процедуру


15-1140531601
vecna
2006-02-21 17:20
2006.03.19
Windows Millennium


2-1141196983
Urvin
2006-03-01 10:09
2006.03.19
Тормоза Firebird a


2-1141299376
ANB
2006-03-02 14:36
2006.03.19
Как запихнуть LongWord в LongInt ?