Тема: HTA: traffic monitor
Монитор трафика для интернет-подключения. Отображает:
- кол-во входящего, отправленного и суммарный объём интернет-трафика;
- текущую скорость прокачки Кб/c;
- денежный расход (округление до 1kb);
Чтобы переместить окно программы: 1) зажать ПКМ;
2) плавно перетащить окно в нужное место.
Цена за трафик по умолчанию - 1.2 [у.е.]/mb.
Чтобы изменить стоимость мегабайта трафика - проще и надёжнее изменить исх.код (см. стр. 102), но если же вы задумаете делать пересчёты в реальном режиме:
1) двойной клик по окну программы;
2) ввести во всплывающей подсказке новую стоимость;
Спасибо за внимание.
<!-- Name: Traffic_monitor.hta
Language: HyperText Application
Author: Аскет, http://forum.script-coding.info
Description: This is...traffic monitor.
Displays sent, received, total amount kBytes, current speed and expense of money for internet-connection.
Created special for GPRS-modem, but must work on other connecting (See string 99).
Based on WMI (this is a such complex and higher technology, than winAPI)
Using: For moving window - press 'Right mouse button' ("ПКМ") and fluent move of window.
For correction the price for 1 mb traffic - 1) Dblclick on program-window
2) input your price in popup-prompt.
-->
<HTML>
<HEAD>
<TITLE>Traffic monitor v1.0</TITLE>
<HTA:APPLICATION
ID="oHTA"
APPLICATIONNAME="Traffic monitor v1.0"
BORDER="NONE"
BORDERSTYLE=""
SCROLL="NO"
SELECTION=NO
CAPTION="yes"
ICON="inetcpl.cpl"
MAXIMIZEBUTTON="no"
MINIMIZEBUTTON="no"
SHOWINTASKBAR="no"
SINGLEINSTANCE="YES"
SYSMENU="NO"
VEотображаетRSION="1.0"
WINDOWSTATE="" />
</HEAD>
<meta author="Gorelov Alexander, June 2011">
<style>
html, body{
margin:0px;
padding:0px;
font:10;
border-style: OUTset;
}
</style>
<BODY SCROLL="no" bgcolor="#88FFC4">
<!----------------------------->
<TABLE CELLSPACING="0" CELLPADDING="0"BORDER="0"WIDTH="100%" HEIGHT="100%" STYLE="FONT:11">
<TR style="font-weight:bold">
<TD >Всего, mb: </TD>
<TD ALIGN="RIGHT" id=total></TD>
</TR>
<Tr>
<TD>Принято:</TD>
<TD ALIGN="RIGHT" id=Received></TD>
</TR>
<TR>
<TD>Отправлено:</TD>
<TD ALIGN="RIGHT" id=Sent></TD>
</TR>
<TR style="font-weight:">
<TD>Скорость, kbps:</TD>
<TD ALIGN="RIGHT" id=speed></TD>
</TR>
<TR style="font-weight:bold;color:red">
<TD>Расход:</TD>
<TD ALIGN="RIGHT" id=PriceField></TD>
</TR>
</TABLE>
</style>
<script type="text/javascript">
var x0, y0;
document.onmousemove=function () {
//if ((event.button!=0)&&(event.button!=1)){
if (event.button!=0){
window.moveBy(event.x-x0, event.y-y0);
return false;
}
document.body.style.cursor="auto";
}
document.onmousedown=function () {
if (event.button!=1){
x0=event.x; y0=event.y;
}
}
onLoad = window.resizeTo(120,75); window.moveTo(screen.availWidth-122, screen.availHeight-100);
</script>
<script language=VBS>
DIM InterfaceName 'имя сетевого интерфейс
InterfaceName = "'WAN [PPP_SLIP] Interface'" '!!!!!! YOU MAY CHOSE OTHER NAME !!!!!
Public price : price = 1.2 'цена за мегабайт трафика
DIM M1 :M1 = 0
updateInfo()
sub updateInfo()
for each PROPS in ( GetObject ("WINMGMTS:").ExecQuery _
("select BytesTotalPersec,BytesReceivedPersec,BytesSentPersec FROM Win32_PerfRawData_Tcpip_NetworkInterface WHERE NAME=" & InterfaceName))
total.Innertext = round(PROPS.BytesTotalPersec / 1048576,3)
Received.Innertext = round(PROPS.BytesReceivedPersec / 1048576 ,3)
Sent.InnerTEXT = round(PROPS.BytesSentPersec / 1048576,3)
PriceField.InnerTEXT= round((PROPS.BytesTotalPersec / 1048576) * price ,2) & ""
'---------- расчёт скорости ----------
speed.InnerText = round((PROPS.BytesTotalPersec-M1)/1024,0)
M1 = PROPS.BytesTotalPersec
next
window.SetTimeout "updateInfo()",1000
end sub
SUB document_ondblclick()
price = Inputbox ("Стоимость мегабайта:","Traffic monitor v1.0 /by Аскет","1.2")
end sub
</script>
<!----------------------------->
</BODY>
</HTML>