如何使用Delphi 7检测.net框架版本?如何使用Delphi 7检测.net框架版本
4
A
回答
5
您可以检查Windows注册表来检测网框架至极版本安装。
看到这个代码
program DetectNetFrameWork;
{$APPTYPE CONSOLE}
uses
Windows,
Registry,
SysUtils;
const
NetFrameworkv1 ='SOFTWARE\Microsoft\.NETFramework\policy\v1.0';
NetFrameworkv1_1 ='SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322';
NetFrameworkv2 ='SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727';
NetFrameworkv3 ='SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0';
NetFrameworkv3_5 ='SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5';
NetFrameworkv4 ='SOFTWARE\Microsoft\NET Framework Setup\NDP\v4';
function NetFrameworkInstalled(NetFrameWorkId:String): Boolean;
var
Reg: TRegistry;
begin
Result := False;
Reg := TRegistry.Create(KEY_READ);
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
Result := Reg.KeyExists(NetFrameWorkId);
finally
Reg.Free;
end
end;
function BoolToStr(Val : Boolean): String;
begin
if val then
result := 'True'
else
result := 'False';
end;
begin
Writeln('Net Framework 1.0 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv1)));
Writeln('Net Framework 1.1 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv1_1)));
Writeln('Net Framework 2.0 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv2)));
Writeln('Net Framework 3.0 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv3)));
Writeln('Net Framework 3.5 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv3_5)));
Writeln('Net Framework 4.0 Installed = '+BoolToStr(NetFrameworkInstalled(NetFrameworkv4)));
Readln;
end.
您可以检查论文获得更多信息的链接
2
0
扩展@RRUZ的答案4.5 & 4.6,GETD OTNET版本返回最高安装的.NET版本。
function GetDOTNETVersion: string;
function NetFrameworkInstalled(NetFrameWorkId: String): string;
begin
Result := '0';
with TRegistry.Create(KEY_READ) do
try
RootKey := HKEY_LOCAL_MACHINE;
if KeyExists(NetFrameWorkId) then
try
OpenKeyReadOnly(NetFrameWorkId);
Result := ReadString('Version');
if Result.IsEmpty then // v4 & v4.0
begin
CloseKey;
OpenKeyReadOnly(NetFrameWorkId+'\Client');
Result := ReadString('Version');
end;
finally
CloseKey;
end;
finally
Free;
end;
end;
const
NetFrameworkv1 = 'SOFTWARE\Microsoft\.NETFramework\policy\v1.0';
NetFrameworkv1_1 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322';
NetFrameworkv2 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727';
NetFrameworkv3 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0';
NetFrameworkv3_5 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5';
NetFrameworkv4_0 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0';
NetFrameworkv4 = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4';
begin
Result := NetFrameworkInstalled(NetFrameworkv4);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv4_0);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv3_5);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv3);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv2);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv1_1);
if Result.IsEmpty then Result := NetFrameworkInstalled(NetFrameworkv1);
end;
相关问题
- 1. 检测框架版本3.5
- 2. 如何检测特定的Delphi版本?
- 3. 使用的.NET框架版本
- 4. 识别.Net框架版本
- 5. 检测.NET框架在Windows
- 6. 检测使用哪个SDK版本构建OSX框架
- 7. 检测的Excel版本在Delphi
- 8. 实体框架7错误版本
- 9. 如何使用C#检测IIS版本?
- 10. 如何使用php检测iOS版本?
- 11. 如何在Windows 7配置.NET框架
- 12. 从WinForms应用程序检查.Net框架版本
- 13. .NET框架和版本兼容性
- 14. 在.NET中检测COMCTL32版本
- 15. .NET框架3.5与以前的版本?
- 16. 显示.net框架的intellisense版本
- 17. 框架检测
- 18. 如何检测IE版本
- 19. 旧版本版本检测
- 20. 检测国际化的.NET版本
- 21. 如何获得应用程序正在使用的.NET框架版本
- 22. Sharepoint 2010将使用哪个版本的.net框架?
- 23. 要使用哪个版本的.net框架
- 24. 如何查找SSIS 2008 R2软件包中使用的.NET框架版本?
- 25. 如何使用Delphi检测文本文件的字符编码?
- 26. .NET测试框架建议
- 27. C#.NET 4.0测试框架?
- 28. 使用脚本检测DLL版本号
- 29. 在Windows XP,Vista和7上安装了什么版本的.NET框架?
- 30. 使用WIX检查.Net版本