오늘의 목표는 아래의 사진처럼 드라이브 사용량을 표시하는 것이다.
프로그래스바나 라벨에 퍼센트를 표시하는 건 간단하니 핵심코드만 살펴보려고 한다.
우선 타이머를 두어 1초마다 검사하도록 설정한 상태이다 :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public static int GetHDDPercent(string strTargetDriver = "C:\\") { int nPercent = 0; try { // 드라이브 정보에 엑세스하여 모든 논리 드라이브의 이름을 가져옴 System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives(); foreach (System.IO.DriveInfo drive in drives) { if (drive.Name == strTargetDriver) { // 드라이브 전체 용량 int maxc = (int)(drive.TotalSize / 1000000); // 사용중인 용량 ( 전체 용량 - 사용 가능한 용량 ) int cst = (int)((drive.TotalSize - drive.AvailableFreeSpace) / 1000000); nPercent = (int)((float)((float)cst / (float)maxc) * 100); } } } catch (Exception e) { Trace.WriteLine("Exception : " + e.Message); } return nPercent; } | cs |
위의 코드가 핵심 코드이다.
매개 변수로 드라이버명을 입력받아 퍼센트를 반환하는 함수이다.
사실 그리 어려운게 아니라 주석만 봐도 모두 이해가 될...것이다. 😂
디버깅을 해보면 DriverInfo를 통해 모든 정보를 가져오고 있다. 우리는 이를 잘 요리하면 될 뿐..!
위의 함수를 이용해 가져온 값을 설정해주면 끝 :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | private void timerCPU_Tick(object sender, EventArgs e) { int nHDD = CCpuUtil.GetHDDPercent("C:\\"); if (this.nPrevHddC != nHDD) { this.Invoke(new MethodInvoker(delegate () { try { //프로그래스 바 설정 toolStripProgressBar1.Value = nHDD; // 퍼센트 toolStripStatusLabelHddC.Text = nHDD.ToString() + "%"; } catch (Exception ee) { Trace.WriteLine(ee.Message); } })); this.nPrevHddC = nHDD; } } | cs |
'~ 2024.08' 카테고리의 다른 글
[ JS ] Confirm 확인창 (0) | 2019.04.22 |
---|---|
[ HTML / JS ]쿠키를 이용한 24시간 팝업창 만들기 (3) | 2019.01.29 |
[ One hour one life 공략 ] 이번엔 칠면조 구이다! 🦃🦃 (3) | 2019.01.19 |
[ C# ] Log파일 만들기 (0) | 2019.01.19 |
[XE] 모듈 만들기 2탄 controller와 filter (2) | 2018.12.17 |