| 【】Top
 
 【】VB.NET
 【】VB6.0
 
 【】メールマガジンの購読
 【】メールマガジンの解除
 
 
 
 
 
 
 【】会社概要
 
 【】お問い合わせ
 
 
 姉妹サイト「バーチャルコネクション!」はこちらです。
 
 姉妹サイト「七福神のメールでビンゴ!」はこちらです。
 
 
   
 ●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。
 
 
 | 
 
               
                |  |  |  |   
                |  | 
   
 
   
    | 
  
        http://anetm.com/dev/d.cgi?SC=DTDTL&o=Olu 
        
  
                 
               
                 
                  | メモリの使用状況などを確認する |   
                  | 
 |   
                  | .NET でも、メモリの使用状況などを確認することが可能です。 
 この機能を使えば、メモリ不足の警告などを管理する
 アプリケーションを作成することができます。
 
 フォームに次の様なコードを記述します
 
 
 -----------VB.NETコーディングここから-------------------
 
 
 
 1.フォームに、
 ラベルコントロール、
 ピクチャボックスコントロール、
 ピクチャボックスコントロール、
 タイマーコントロールを配置します。
 下記は、デフォルトのオブジェクトの名前と配置を示しています。
 
 ┏━━━━━━━━━━━━━━┓
 ┃Label1                      ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃PictureBox1                 ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃TextBox1                    ┃
 ┗━━━━━━━━━━━━━━┛
 
 ┏━━━━━━━━━━━━━━┓
 ┃Label2                      ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃PictureBox2                 ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃TextBox2                    ┃
 ┗━━━━━━━━━━━━━━┛
 
 ┏━━━━━━━━━━━━━━┓
 ┃Label3                      ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃PictureBox3                 ┃
 ┗━━━━━━━━━━━━━━┛
 ┏━━━━━━━━━━━━━━┓
 ┃TextBox3                    ┃
 ┗━━━━━━━━━━━━━━┛
 
 
 
 ┏━━━━┓
 ┃Timer1  ┃
 ┗━━━━┛
 
 
 
 
 
 2.配置したタイマーコントロール  Timer1 を
 選択して、プロパティウィンドウの「Interval」プロパティを
 1000 にします。
 
 3.フォームで右クリックして、「コードの表示」を
 選び、コード編集画面にします。
 
 
 4.フォームの宣言部に、次のコードを記述します。
 
 Imports System.Runtime.InteropServices
 
 5.さらに、 Public Class Form1 内に、
 次のコードを記述します。
 
 
 'メモリの構造
 Private Structure descMEMORYSTATUS
 
 Dim intLength As Integer
 Dim intMemoryLoad As Integer
 Dim intTotalPhys As Integer
 Dim intAvailPhys As Integer
 Dim intTotalPageFile As Integer
 Dim intAvailPageFile As Integer
 Dim intTotalVirtual As Integer
 Dim intAvailVirtual As Integer
 
 
 End Structure
 
 'API宣言
 Private Declare Sub GlobalMemoryStatus Lib "kernel32.dll" _
 (ByRef lpbuffer As descMEMORYSTATUS)
 
 
 
 
 'パーセントでピクチャボックスを塗ります
 Sub Set_Picbar(ByVal pic As PictureBox, _
 ByVal sngPercent As Single)
 
 Dim g As Graphics
 
 Dim objRectangle As New Rectangle(0, 0, _
 pic.Width * sngPercent, pic.Height)
 With pic
 .Image = New Bitmap(.Width, .Height)
 g = Graphics.FromImage(.Image)
 
 End With
 
 g.DrawRectangle(Pens.Yellow, objRectangle)
 g.FillRectangle(Brushes.Blue, objRectangle)
 
 End Sub
 
 
 
 
 
 Private Sub Timer1_Tick(ByVal sender As Object, _
 ByVal e As System.EventArgs) Handles Timer1.Tick
 Dim MemoryStatus As descMEMORYSTATUS
 
 Dim sngPercen As Single
 
 
 'アンマネージ型のサイズをバイト単位で返します
 MemoryStatus.intLength = Marshal.SizeOf(MemoryStatus)
 
 GlobalMemoryStatus(MemoryStatus)
 
 With MemoryStatus
 
 TextBox1.Text = .intAvailPhys & "バイト /" & _
 .intTotalPhys & "バイト"
 TextBox2.Text = .intAvailPageFile & "バイト /" & _
 .intTotalPageFile & "バイト"
 TextBox3.Text = .intAvailVirtual & "バイト /" & _
 .intTotalVirtual & "バイト"
 
 sngPercen = .intAvailPhys / .intTotalPhys
 Label1.Text = "物理メモリ " & Int(sngPercen * 100) & " %"
 Set_Picbar(PictureBox1, sngPercen)
 
 sngPercen = .intAvailPageFile / .intTotalPageFile
 Label2.Text = "ページファイルメモリ " & _
 Int(sngPercen * 100) & " %"
 Set_Picbar(PictureBox2, sngPercen)
 
 sngPercen = .intAvailVirtual / .intTotalVirtual
 Label3.Text = "仮想メモリ " & Int(sngPercen * 100) & " %"
 Set_Picbar(PictureBox3, sngPercen)
 End With
 
 
 End Sub
 
 
 
 
 
 
 6.ビルドして実行します。
 
 7.メモリの使用状況がリアルタイムに表示されます。
 
 
 
 
 
 -----------VB.NETコーディングここまで-------------------
 
 大規模なメモリを消費する前に、チェックしたりすると、
 ユーザーにとって親切な仕上がりとなりますねっ。
 
 
 
 
 
 |  
  
             
   
 Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。  |  |  |   
                |  |  |  |  |