获得Windows系统信息的帖子我记得以前出过很多,我帮你找找

解决方案 »

  1.   

    我有个例子,挺全的,不知道能否满足你的要求。
    留下e-mail,我发给你。
      

  2.   

    获得Windows系统信息的帖子我记得以前出过很多,我帮你找找
      

  3.   

    给你一份:
    几个获取Windows系统信息的Delphi程序谢建华 1、获取windows版本信息 
    可以通过Windows API函数GetVersionEx来获得。 
    具体程序如下:
    Procedure Tform1.Button1Click(sender:TObject); 
            Var()
    OSVI:OSVERSIONINFO; 
            begin()
    OSVI.dwOSversioninfoSize:=Sizeof(OSVERSIONINFO); 
    GetVersionEx(OSVI); 
    label1.Caption:=IntToStr(OSVI.dwMinorVersion)+',' 
    +IntToStr(OSVI.dwMinorVersion)+',' 
    +IntToStr(OSVI.dwBuildNumber)+',' 
    +IntToStr(OSVI.dwPlatformId)+',' 
    +OSVI.szCSDVersion; 
    end; end. 2、获取CPU信息 
    可以通过Windows API函数GetSystemInfo来获得有关信息。 
    具体程序如下:
    procedure TForm1.Button1Click(Sender: TObject); 
            Var()
    SysInfo:SYSTEM_INFO; 
            begin()
    GetSystemInfo(Sysinfo); 
    Edit1.Text:='系统中有'+IntToStr(Sysinfo.dwNumberOfProcessors)+'个CPU' 
    +',类型为'+IntToStr(Sysinfo.dwProcessorType);  
    end; end. 3、获取内存信息 
    可以通过Windows API函数GlobalMemoryStatus来获得内存信息。 
    具体程序如下:
    procedure TForm1.Button1Click(Sender: TObject); 
            Var()
    MemInfo:MEMORYSTATUS; 
            begin()
    MemInfo.dwLength:=sizeof(MEMORYSTATUS); 
    GlobalMemoryStatus(MemInfo); 
    memo1.Lines.Add(IntToStr(MemInfo.dwMemoryLoad)+'%的内存正在使用') ; 
    memo1.Lines.Add('物理内存共有'+IntToStr(MemInfo.dwTotalPhys)+'字节'); 
    memo1.Lines.Add('可使用的物理内存有'+IntToStr(MemInfo.dwAvailPhys)+'字节'); 
    memo1.Lines.Add('交换文件总大小为'+IntToStr(MemInfo.dwTotalPageFile)+'字节') ; 
    memo1.Lines.Add('尚可交换文件大小为'+IntToStr(MemInfo.dwAvailPageFile)+'字节'); 
    memo1.Lines.Add('总虚拟内存有'+IntToStr(MemInfo.dwTotalVirtual)+'字节'); 
    memo1.Lines.Add('未用虚拟内存有'+IntToStr(MemInfo.dwAvailVirtual)+'字节'); 
    end; end. 或用以下代码:
    memo1.Text:=IntToStr(MemInfo.dwMemoryLoad)+'%的内存正在使用'+#13#10 
    +'可使用的物理内存有'+IntToStr(MemInfo.dwAvailPhys)+'字节'+#13#10 
    +'交换文件总大小为'+IntToStr(MemInfo.dwTotalPageFile)+'字节'+#13#10 
    +'尚可交换文件大小为'+IntToStr(MemInfo.dwAvailPageFile)+'字节'+#13#10 
    +'总虚拟内存有'+IntToStr(MemInfo.dwTotalVirtual)+'字节'+#13#10 
    +'未用虚拟内存有'+IntToStr(MemInfo.dwAvailVirtual)+'字节'; 
    来替代memo1.line.add(…)部分。 4、获取Windows和系统路径 
            可以通过Windows(API函数来获得)
    具体程序如下:
    procedure TForm1.Button1Click(Sender: TObject); 
            Var()
    SysDir:array[0..128] of char; 
            begin()
    GetWindowsDirectory(SysDir,128); 
    Edit1.Text:='Windows 路径:'+SysDir; 
    GetSystemDirectory(SysDir,128); 
    Edit1.Text:=Edit1.Text+'; 系统路径:'+SysDir; 
    end; 5、获取用户注册信息 
    我们都知道,一般在软件安装过程中,它都会提示用户,要求输入系列号或产品号和用户的一些注册信息(用户的公司名称、用户名等)以及安装的目录和路径等。 
    通过以下代码可查看用户注册信息:
    procedure TForm1.Button1Click(Sender: TObject); 
            Var()
    Reg:TRegistry; 
            begin()
    Reg:=TRegistry.Create; 
    Reg.RootKey:=HKEY_LOCAL_MACHINE; 
    Reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion',False); 
    Edit1.Text:='当前路径:'+Reg.CurrentPath; 
    Edit2.Text:='产品系列号:'+Reg.ReadString('ProductId'); 
    Edit3.Text:='产品名:'+Reg.ReadString('ProductName'); 
    Edit4.Text:='注册公司名称:'+Reg.ReadString('RegisteredOrganization'); 
    Edit5.Text:='用户名:'+Reg.ReadString('RegisteredOwner'); 
    Edit6.Text:='软件类型:'+Reg.ReadString('SoftwareType'); 
    Reg.CloseKey; 
    Reg.Free; 
    end; 
    注意:在程序编译之前,必须在USES语句下添加registry单元。 6、关闭Widows 
    可以通过Windows API函数ExitWindowsEx来关闭Widows。 
    procedure TForm1.Button1Click(Sender: TObject); 
            begin()
            If RadioButton1.Checked = True Then
    ExitWindowsEx(EWX_LOGOFF,0) //以其他用户身份登录 
            ElseIf RadioButton2.Checked = True Then
    ExitWindowsEx(EWX_SHUTDOWN,1) //安全关机 
            ElseIf RadioButton3.Checked = True Then
    ExitWindowsEx(EWX_REBOOT,2) //重新启动计算机 
            ElseIf RadioButton4.Checked = True Then
    ExitWindowsEx(EWX_FORCE,4) //强行关机 
            ElseIf RadioButton5.Checked = True Then
    ExitWindowsEx(EWX_POWEROFF,8); //关闭系统并关闭电源 end; 
      

  4.   

    获得系统本地信息Windows API中有一个函数GetLocaleInfo可以用来获得系统信息比如系统语言, 货币符号等代码如下:function TForm1.GetLocaleInformation(Flag: Integer): String;
    var
      pcLCA: Array[0..20] of Char;
    begin
      if( GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,Flag,pcLCA,19) <= 0 ) then begin
      pcLCA[0] := #0;
      end;
      Result := pcLCA;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(GetLocaleInformation(LOCALE_SENGLANGUAGE));
    end;参数"Flag"可以取下列值:  LOCALE_NOUSEROVERRIDE { do not use user overrides }
      LOCALE_USE_CP_ACP { use the system ACP }
      LOCALE_ILANGUAGE { 语言代号 }
      LOCALE_SLANGUAGE { 本地语言名称 }
      LOCALE_SENGLANGUAGE { 语言的英语名 }
      LOCALE_SABBREVLANGNAME { 语言名称缩写 }
      LOCALE_SNATIVELANGNAME { 本地语言名称 }
      LOCALE_ICOUNTRY { 国家代号 }
      LOCALE_SCOUNTRY { 国家名 }
      LOCALE_SENGCOUNTRY { 国家的英语名称 }
      LOCALE_SABBREVCTRYNAME { 国家名缩写 }
      LOCALE_SNATIVECTRYNAME { 国家名 }
      LOCALE_IDEFAULTLANGUAGE { 缺省语言代号 }
      LOCALE_IDEFAULTCOUNTRY { 缺省国家代码 }
      LOCALE_IDEFAULTCODEPAGE { 缺省oem代码页 }
      LOCALE_IDEFAULTANSICODEPAGE { 缺省ansi代码页 }
      LOCALE_IDEFAULTMACCODEPAGE { 缺省mac页 }
      LOCALE_SLIST { 列表项分割符 }
      LOCALE_IMEASURE { 测量单位0 = 米制, 1 = 英制 }
      LOCALE_SDECIMAL { 小数点符号 }
      LOCALE_STHOUSAND { 千位分割符 }
      LOCALE_SGROUPING { digit grouping }
      LOCALE_IDIGITS { number of fractional digits }
      LOCALE_ILZERO { leading zeros for decimal }
      LOCALE_INEGNUMBER { 负数模式 }
      LOCALE_SNATIVEDIGITS { native ascii 0-9 }
      LOCALE_SCURRENCY { 本地货币符号 }
      LOCALE_SINTLSYMBOL { 国际货币符号 }
      LOCALE_SMONDECIMALSEP { 货币小数点分割符 }
      LOCALE_SMONTHOUSANDSEP { 货币千位分割符 }
      LOCALE_SMONGROUPING { monetary grouping }
      LOCALE_ICURRDIGITS { # local monetary digits }
      LOCALE_IINTLCURRDIGITS { # intl monetary digits }
      LOCALE_ICURRENCY { positive currency mode }
      LOCALE_INEGCURR { negative currency mode }
      LOCALE_SDATE { 日期分割符 }
      LOCALE_STIME { 时间分割符 }
      LOCALE_SSHORTDATE { 短日期字符串 }
      LOCALE_SLONGDATE { 长日期字符串 }
      LOCALE_STIMEFORMAT { time format string }
      LOCALE_IDATE { short date format ordering }
      LOCALE_ILDATE { long date format ordering }
      LOCALE_ITIME { time format specifier }
      LOCALE_ITIMEMARKPOSN { time er position }
      LOCALE_ICENTURY { century format specifier (short date) }
      LOCALE_ITLZERO { leading zeros in time field }
      LOCALE_IDAYLZERO { leading zeros in day field (short date) }
      LOCALE_IMONLZERO { leading zeros in month field (short date) }
      LOCALE_S1159 { AM designator }
      LOCALE_S2359 { PM designator }
      LOCALE_ICALENDARTYPE { type of calendar specifier }
      LOCALE_IOPTIONALCALENDAR { additional calendar types specifier }
      LOCALE_IFIRSTDAYOFWEEK { first day of week specifier }
      LOCALE_IFIRSTWEEKOFYEAR { first week of year specifier }
      LOCALE_SDAYNAME1 { long name for Monday }
      LOCALE_SDAYNAME2 { long name for Tuesday }
      LOCALE_SDAYNAME3 { long name for Wednesday }
      LOCALE_SDAYNAME4 { long name for Thursday }
      LOCALE_SDAYNAME5 { long name for Friday }
      LOCALE_SDAYNAME6 { long name for Saturday }
      LOCALE_SDAYNAME7 { long name for Sunday }
      LOCALE_SABBREVDAYNAME1 { 星期一的缩写 }
      LOCALE_SABBREVDAYNAME2 { 星期二的缩写 }
      LOCALE_SABBREVDAYNAME3 { 星期三的缩写 }
      LOCALE_SABBREVDAYNAME4 { 星期四的缩写 }
      LOCALE_SABBREVDAYNAME5 { 星期五的缩写 }
      LOCALE_SABBREVDAYNAME6 { 星期六的缩写 }
      LOCALE_SABBREVDAYNAME7 { 星期天的缩写 }
      LOCALE_SMONTHNAME1 { long name for January }
      LOCALE_SMONTHNAME2 { long name for February }
      LOCALE_SMONTHNAME3 { long name for March }
      LOCALE_SMONTHNAME4 { long name for April }
      LOCALE_SMONTHNAME5 { long name for May }
      LOCALE_SMONTHNAME6 { long name for June }
      LOCALE_SMONTHNAME7 { long name for July }
      LOCALE_SMONTHNAME8 { long name for August }
      LOCALE_SMONTHNAME9 { long name for September }
      LOCALE_SMONTHNAME10 { long name for October }
      LOCALE_SMONTHNAME11 { long name for November }
      LOCALE_SMONTHNAME12 { long name for December }
      LOCALE_SMONTHNAME13 { long name for 13th month (if exists) }
      LOCALE_SABBREVMONTHNAME1 { 一月的缩写 }
      LOCALE_SABBREVMONTHNAME2 { 二月的缩写 }
      LOCALE_SABBREVMONTHNAME3 { 三月的缩写 }
      LOCALE_SABBREVMONTHNAME4 { 四月的缩写 }
      LOCALE_SABBREVMONTHNAME5 { 五月的缩写 }
      LOCALE_SABBREVMONTHNAME6 { 六月的缩写 }
      LOCALE_SABBREVMONTHNAME7 { 七月的缩写 }
      LOCALE_SABBREVMONTHNAME8 { 八月的缩写 }
      LOCALE_SABBREVMONTHNAME9 { 九月的缩写 }
      LOCALE_SABBREVMONTHNAME10 { 十月的缩写 }
      LOCALE_SABBREVMONTHNAME11 { 十一月的缩写 }
      LOCALE_SABBREVMONTHNAME12 { 十二月的缩写 }
      LOCALE_SABBREVMONTHNAME13 { 十三月的缩写(如果有的话) }
      LOCALE_SPOSITIVESIGN { 正号 }
      LOCALE_SNEGATIVESIGN { 负号 }
      LOCALE_IPOSSIGNPOSN { 正号位置 }
      LOCALE_INEGSIGNPOSN { 负号位置 }
      LOCALE_IPOSSYMPRECEDES { mon sym precedes pos amt }
      LOCALE_IPOSSEPBYSPACE { mon sym sep by space from pos amt }
      LOCALE_INEGSYMPRECEDES { mon sym precedes neg amt }
      LOCALE_INEGSEPBYSPACE { mon sym sep by space from neg amt }
      LOCALE_FONTSIGNATURE { font signature }
      LOCALE_SISO639LANGNAME { ISO 缩写语言名称 }
      LOCALE_SISO3166CTRYNAME { ISO 缩写国家名称 }这个行不行,不行的话,告诉我你确切需要的东东~~
      

  5.   

    发给我一份?学习学习!
    [email protected]
      

  6.   

    http://www.ccw.com.cn/htm/app/aprog/01_11_27_4.asp
      

  7.   

    to hjd_cw():
        给我发一个吧,我想学习学习!先谢谢了!
      

  8.   

    hjd_cw():
       给我发一个,我也想看看噢,分可以追加吗
       [email protected]
      

  9.   

    hjd_cw():
       给我发一个,我也想看看噢,分可以追加吗
       [email protected]
      

  10.   

    hjd_cw():give me [email protected]
      

  11.   

    能不能也给我发一个,谢谢!
    [email protected]