Makale numarası: 213267 - Son Gözden Geçirme: 22 Ağustos 2007 Çarşamba - Gözden geçirme: 3.4

NASıL YAPıLıR: Windows API Excel 2000'de Windows durum bilgileri edinin.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Microsoft Excel'de programsal olarak sistem durumu bilgilerini almak ve görüntüleyebilirsiniz, çalışma sayfasındaki. Bu adım adım makalede, Windows API işlevlerini kullanarak aşağıdaki bilgileri görüntüleyen bir uygulamalar alt yordamı örnek Microsoft Visual Basic sağlar:
  • GetVersionEx API işlevini Windows sürüm numarası.
  • CPU GetSystemInfo API işlevi ile işlemci türü.
  • GlobalMemoryStatus API işlevi ile boş bellek miktarı.

Windows durum bilgileri almak için örnek kod

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; satılabilirlik ve/veya belirli bir amaca uygunluk da dahil, ancak bununla sınırlı olmamak kaydıyla, örtülü veya açık garanti vermez. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek uzmanları, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Programlama deneyiminiz kısıtlıysa, bir Microsoft Sertifikalı İş Ortağı'na veya Microsoft Danışmanlık Hizmetleri'ne başvurabilirsiniz. Daha fazla bilgi için şu Microsoft Web sitelerini ziyaret edin:

Microsoft Partner - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104) Onaylandı

Microsoft danışma belgesi Hizmetleri - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

Kullanılabilir destek seçenekleri ve Microsoft'a başvurma konusunda daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms) Windows API çağrısı kullanarak Windows durum bilgilerini almak için <a0></a0>, aşağıdaki adımları izleyin:
  1. Microsoft Excel'i başlatın ve sonra da yeni bir çalışma kitabı oluşturun.
  2. Araçlar menüsünden, makro ' nun üzerine gelin ve sonra Visual Basic Düzenleyicisi ' ni tıklatın (veya ALT + F11 tuşlarına basın).
  3. Ekle menüsünden modülü ' nü tıklatın.
  4. Modül sayfasında, aşağıdaki kodu yazın:
    Option Explicit
    
    Type SYSTEM_INFO
        dwOemID As Long
        dwPageSize As Long
        lpMinimumApplicationAddress As Long
        lpMaximumApplicationAddress As Long
        dwActiveProcessorMask As Long
        dwNumberOrfProcessors As Long
        dwProcessorType As Long
        dwAllocationGranularity As Long
        dwReserved As Long
    End Type
    
    Type OSVERSIONINFO
        dwOSVersionInfoSize As Long
        dwMajorVersion As Long
        dwMinorVersion As Long
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
    End Type
    
    Type MEMORYSTATUS
        dwLength As Long
        dwMemoryLoad As Long
        dwTotalPhys As Long
        dwAvailPhys As Long
        dwTotalPageFile As Long
        dwAvailPageFile As Long
        dwTotalVirtual As Long
        dwAvailVirtual As Long
    End Type
    
    'The following three Declare lines must be each entered on a single
    'line.
    
    Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
                 (LpVersionInformation As OSVERSIONINFO) As Long
    Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As _
                MEMORYSTATUS)
    Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As _
                  SYSTEM_INFO)
    
    Public Const PROCESSOR_INTEL_386 = 386
    Public Const PROCESSOR_INTEL_486 = 486
    Public Const PROCESSOR_INTEL_PENTIUM = 586
    Public Const PROCESSOR_MIPS_R4000 = 4000
    Public Const PROCESSOR_ALPHA_21064 = 21064
    
    Sub SystemInformation()
    Dim msg As String         ' Status information.
    Dim NewLine As String     ' New-line.
    Dim ret As Integer        ' OS Information
    Dim ver_major As Integer  ' OS Version
    Dim ver_minor As Integer  ' Minor Os Version
    Dim Build As Long         ' OS Build
    
          NewLine = Chr(13) + Chr(10)  ' New-line.
          ' Get operating system and version.
          Dim verinfo As OSVERSIONINFO
          verinfo.dwOSVersionInfoSize = Len(verinfo)
          ret = GetVersionEx(verinfo)
          If ret = 0 Then
              MsgBox "Error Getting Version Information"
              End
          End If
    
          Select Case verinfo.dwPlatformId
              Case 0
                  msg = msg + "Windows 32s "
              Case 1
                  msg = msg + "Windows 95/98 "
              Case 2
                  msg = msg + "Windows NT/2000 "
          End Select
    
          ver_major = verinfo.dwMajorVersion
          ver_minor = verinfo.dwMinorVersion
          Build = verinfo.dwBuildNumber
          msg = msg & ver_major & "." & ver_minor
          msg = msg & " (Build " & Build & ")" & NewLine & NewLine
    
          ' Get CPU type and operating mode.
          Dim sysinfo As SYSTEM_INFO
          GetSystemInfo sysinfo
          msg = msg + "CPU: "
          Select Case sysinfo.dwProcessorType
              Case PROCESSOR_INTEL_386
                  msg = msg + "Intel 386" + NewLine
              Case PROCESSOR_INTEL_486
                  msg = msg + "Intel 486" + NewLine
              Case PROCESSOR_INTEL_PENTIUM
                  msg = msg + "Intel Pentium" + NewLine
              Case PROCESSOR_MIPS_R4000
                  msg = msg + "MIPS R4000" + NewLine
              Case PROCESSOR_ALPHA_21064
                  msg = msg + "DEC Alpha 21064" + NewLine
              Case Else
                  msg = msg + "(unknown)" + NewLine
          End Select
    
          msg = msg + NewLine
    
          ' Get free memory.
          Dim memsts As MEMORYSTATUS
          Dim memory As Long
          GlobalMemoryStatus memsts
          memory = memsts.dwTotalPhys
          msg = msg + "Total Physical Memory: "
          msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
          memory = memsts.dwAvailPhys
          msg = msg + "Available Physical Memory: "
          msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
          memory = memsts.dwTotalVirtual
          msg = msg + "Total Virtual Memory: "
          msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
          memory = memsts.dwAvailVirtual
          msg = msg + "Available Virtual Memory: "
          msg = msg + Format(memory \ 1024, "###,###,###") + "K" + NewLine
    
          MsgBox msg, vbOKOnly, "System Info"
    End Sub
    					
  5. Araçlar menüsünden, makro ' nun üzerine gelin ve makrolar ' ı tıklatın.
  6. Systemınformation ' ı tıklatın ve sonra da <a2>Çalıştır</a2>'ı tıklatın.
Makroyu, sistem bilgileri gösteren bir ileti kutusu döndürür.

Referanslar

Bu makaledeki kod örneğini kullanma hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
212536  (http://support.microsoft.com/kb/212536/EN-US/ ) OFF2000: Nasıl Knowledge Base makalelerini örnek kod Çalıştır
Windows Apıs, Microsoft Visual Basic'te kullanma hakkında ek bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
161151  (http://support.microsoft.com/kb/161151/EN-US/ ) Nasıl YAPıLıR: Windows durum bilgileri API çağrıları aracılığıyla Al...
189249  (http://support.microsoft.com/kb/189249/EN-US/ ) Nasıl YAPıLıR: Hangi 32-Bit Windows sürümünün kullanılmasını belirlenir.


Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Excel 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbdtacode kbhowtomaster kbprogramming KB213267 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:213267  (http://support.microsoft.com/kb/213267/en-us/ )