부팅 완료 체크
autohotkey.pe.kr의 글쓴이 : 운장 님께서 만드신 소스
부팅후 cpu점유율이 3초동안 5%이하를 유지하면 부팅완료로 인식
시작프로그램 폴더에 넣고 부팅하시면 보실수 있습니다.
컴퓨터 업글후 완전부팅 시간을 측정해보고자 만들어보았는데요
예전에 느린 컴퓨터에선 부팅후 인터넷 일찍눌렀다가 오랫동안 고생했던걸 생각해보면...
이게 그때 있었으면 좋지 않았을까 싶네요..
fileread,used,C:\boot_memory_percent.txt fileread,used_time,C:\boot_time.txt Gui, 1:Add, Text, x10 y10 w180 h20 center, -현재 사용율- Gui, 1:Add, Text, x10 y30 w90 h15 right,CPU 사용율 : Gui, 1:Add, Text, x100 y30 w90 h15 right vnow, Gui, 1:Add, Text, x70 y100 w80 h20 cred left vlast, Gui, 1:Add, Text, x10 y180 w170 h20 center, -이전부팅 정보- cpu_now:=GetSystemTimes() cnt=0 GuiControl,text,now,%cpu_now% `% if (cpu_now<=5) mem_now:=GetMemoryPer() SetFormat, Float, 0.0 GuiControl,text,now3,%ElapsedTime%초/%used_time% if (cnt=3) Return GetSystemTimes() ; Total CPU Load oldIdleTime := newIdleTime DllCall("GetSystemTimes", "int64P", newIdleTime, "int64P", newKrnlTime, "int64P", newUserTime) GetMemoryPer() }
<--------------------------------------------- AHK 스크립트 내용 --------------------------------------------->
#SingleInstance, Force
StartTime := A_TickCount
menu, tray, NoStandard
menu, tray, DeleteAll
Menu, tray, add, 종료
if used=
used=모름
else
used=%used%`%
if used_time=
used_time=모름
else
used_time=%used_time%초
Gui -0x80000
Gui, 1:Add, Text, x10 y50 w90 h15 right,메모리 사용율 :
Gui, 1:Add, Text, x10 y70 w90 h15 right,경과시간 :
Gui, 1:Add, Text, x100 y50 w90 h15 right vnow2,
Gui, 1:Add, Text, x100 y70 w90 h15 right vnow3,
Gui, 1:Add, Button, x75 y125 w50 h20 g확인 Disabled +default, 확인
Gui, 1:Add, Text, x10 y200 w90 h15 right,메모리 사용율 :
Gui, 1:Add, Text, x100 y200 w90 h15 cblue right,%used%
Gui, 1:Add, Text, x10 y220 w90 h15 right,부팅소요시간 :
Gui, 1:Add, Text, x100 y220 w90 h15 cblue right,%used_time%
Gui, 1:Show, w200 h240 ,부팅완료 체크 -W-
SetFormat, Float, 0.1
GuiControl,text,now,%cpu_now%
sleep 1000
Loop
{
cpu_now:=GetSystemTimes()
cnt++
else
cnt=0
GuiControl,text,now2,%mem_now%`%/%used%
ElapsedTime := (A_TickCount - StartTime)/1000
SetFormat, Float, 0.1
{
GuiControl,text,last,부팅 완료!
GuiControl, Enable,button1
Gui, Font, cred
GuiControl,Font,now2
GuiControl,text,now2,%mem_now%`%/%used%
GuiControl,Font,now3
GuiControl,text,now3,%ElapsedTime%초/%used_time%
filedelete,C:\boot_memory_percent.txt
fileappend,%mem_now%,C:\boot_memory_percent.txt
filedelete,C:\boot_time.txt
fileappend,%ElapsedTime%,C:\boot_time.txt
sleep 2000
exitapp
}
if (mod(a_index,3)=0)
GuiControl,text,last,부팅중...
else if (mod(a_index,3)=1)
GuiControl,text,last,부팅중..
else if (mod(a_index,3)=2)
GuiControl,text,last,부팅중.
sleep 1000
}
확인:
종료:
exitapp
return
{
Static oldIdleTime, oldKrnlTime, oldUserTime
Static newIdleTime, newKrnlTime, newUserTime
oldKrnlTime := newKrnlTime
oldUserTime := newUserTime
Return (1 - (newIdleTime-oldIdleTime)/(newKrnlTime-oldKrnlTime + newUserTime-oldUserTime)) * 100
}
{
VarSetCapacity(memorystatus, 4 )
DllCall("kernel32.dll\GlobalMemoryStatus", "uint",&memorystatus)
mem := *( &memorystatus + 4 )
return mem