Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 09:35   #1
Бутаков_Сергей
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 55
По умолчанию Как узнать установлен ли на компе Framework

Привет всем !!! У меня такой вопрос: как определить установлен ли на компьютере Microsoft.NET FrameWork?
Бутаков_Сергей вне форума Ответить с цитированием
Старый 24.09.2009, 11:13   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Зависимости: Registry, SysUtils
Автор: Dimka Maslov, ICQ:148442121, Санкт-Петербург
Код:
function DotNetVersion: string;
var
  R: TRegistry;
  L: TStringList;
  S: string;
  i, MaxIndex, N, Code: Integer;
  V, MaxVersion: Double;
const
  RegKey = 'Software\Microsoft\.NETFramework\Policy';
begin
  Result := '';
  R := TRegistry.Create;
  try
    R.RootKey := HKEY_LOCAL_MACHINE;
    if R.KeyExists(RegKey) then
    begin
      R.OpenKeyReadOnly(RegKey);
      L := TStringList.Create;
      try
        R.GetKeyNames(L);
        MaxVersion := -1.0;
        MaxIndex := -1;
        for i := 0 to L.Count - 1 do
        begin
          S := L[i];
          if UpCase(S[1]) = 'V' then
          begin
            Delete(S, 1, 1);
            Val(S, V, Code);
            if (Code = 0) and (V > MaxVersion) then
            begin
              MaxVersion := V;
              MaxIndex := i;
            end;
          end;
        end;
        if MaxIndex <> -1 then
        begin
          S := L[MaxIndex];
          R.CloseKey;
          R.OpenKeyReadOnly(RegKey + '\' + S);
          R.GetValueNames(L);
          MaxIndex := -1;
          for i := 0 to L.Count - 1 do
          begin
            Val(L[i], N, Code);
            if (Code = 0) and (N > MaxIndex) then
              MaxIndex := N;
          end;
          Result := S;
          Delete(Result, 1, 1);
          if MaxIndex <> -1 then
            Result := Result + '.' + IntToStr(MaxIndex);
        end;
      finally
        L.Free;
      end;
    end;
  finally
    R.Free;
  end;
end;
Не проверял !!!
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 24.09.2009 в 11:17.
Kotofff вне форума Ответить с цитированием
Старый 24.09.2009, 14:00   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Еще вариант:

Код:
uses Windows;

function FrameworkVersion : String;
type
   TGetCORVersion = function (pbuffer : Pointer;
                    cchBuffer : DWORD;
                    var dwlength : Integer):HRESULT; stdcall;

var H:THandle;
    GetCORVersion : TGetCORVersion;
    buffer : array [byte] of WideChar;
    R:HResult;
    Size:Integer;
begin
   result := '';
   H := LoadLibrary('MSCorEE.dll');
   if H <= 0 then exit;
   try
      GetCORVersion := GetProcAddress(H, 'GetCORVersion');
      if @GetCORVersion = nil then exit;

      Size := 0;
      R := GetCORVersion(@buffer, sizeof(buffer) div 2, Size);
      if (R = S_OK) and (size > 0) then result := buffer;
   finally
      FreeLibrary(H);
   end;
end;

begin
   writeln(FrameworkVersion);
   readln;
alexBlack вне форума Ответить с цитированием
Старый 24.09.2009, 18:36   #4
Бутаков_Сергей
Пользователь
 
Регистрация: 27.05.2009
Сообщений: 55
По умолчанию

Всем огромное спасибо Очень помогли
Бутаков_Сергей вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как средствами Delphi изменить IP на компе? Ky3Heu, Работа с сетью в Delphi 1 10.08.2009 19:57
как програмно разграничить 2 мышки на одном компе COMPositor Общие вопросы Delphi 3 19.04.2009 16:36
как получить список запущенных процессов на компе One.Love Win Api 10 17.03.2009 01:36
хотелось бы больше узнать о компе и программировании batist65 Свободное общение 7 19.02.2009 00:47
как посмотреть какая материнка стоит в компе ronich Помощь студентам 3 22.12.2007 15:19