안녕하세요~ 고고뜌지입니다.😊
오늘 포스팅은 '시스템 상태 조회 프로그램' 입니다.
개발환경은 Winform 입니다.
<목표>
1. CPU / 메모리 실시간 조회
2. 드라이브 조회
3. 바탕화면 파일 자동으로 옮김
<개발기록>
1. CircularProgressBar
a. 프로젝트에 추가
(1) 솔루션용 NuGet 패키지 관리(N) 을 선택합니다.

(2) CircularProgressBar를 설치합니다.
(2) 설치된 CircularProgressBar를 용도에 맞게 사용합니다.

b. 사용한 속성
- CircularProgressBar.Maxmum = (int)값 // 최대값 설정
- CircularProgressBar.Value = (int)값 // 진행값 설정
- CircularProgressBar.Text = (string)값 // 중간에 text 넣기
2. System.IO
- 로컬 pc 의 파일 / 디렉토리 / 드라이브 에 접근가능하게 해주는 클래스 입니다.
- 로컬 파일을 접근할때 유용한 클래스 임
a. File 클래스
- 파일에 대한 만들기, 복사, 삭제, 이동 및 열기를 위한 정적 메서드를 제공
- 디렉터리와 하위 디렉터리에서 만들기, 이동 및 열거를 위한 정적 메서드를 노출합니다.
- 드라이브 정보에 액세스합니다.
(1) 유용한 메서드
- DriveInfo[] Drv = DriveInfo.GetDrives(); // 로컬 드라이브 인식
- // 로컬 드라이브 내의 디렉토리 파일명을 arraylist 형식으로 받아옴
foreach (var Dir in Drv)
{
if (Dir.Name == "C:/")
{
Var directory = Dir.RootDirectory.Name.ToList();
}
}
3. 메모리 값 들고오기
| ManagementClass cls = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection mos = cls.GetInstances(); foreach (ManagementObject n in mos) { int Ram_tot = int.Parse(n["TotalVisibleMemorySize"].ToString()) //총 메모리 사이즈 int Ram_ing = int.Parse(n["FreePhysicalMemory"].ToString()) // 현재 사용중인 메모리 } |
4. CPU 값 들고오기
| Using System.Diagnostics PerformanceCounter Cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total", true); int cpu_num = Convert.ToInt32(Cpu.NextValue()); //현재 값 (퍼센트) |
<개선점>
1. 메모리, CPU 값을 같은 클래스로 들고오는 법
- PerformanceCounter 클래스로 메모리 현재 값을 들고오는 법은 있지만 총 메모리 들고오는 법은 모름
<소스>
<실행파일>
'C# > - Toy projects' 카테고리의 다른 글
| [WPF] 간단한 MBTI 검사기 (0) | 2021.02.26 |
|---|---|
| [WPF] HELLO WORLD (0) | 2021.02.25 |
| [winform] 바코드 생성기 (0) | 2021.01.25 |
| [winform] 피아노 (0) | 2021.01.20 |
| [winform] 계산기 (2) | 2021.01.12 |
댓글