Posts Tagged 自动

开机自动网络运行指定文件

Posted by on 星期五, 29 十月, 2010

  开机自动到指定IP地址上读取文件并在本地计算机上运行:

  适合机房、有盘网吧等计算机众多的场合使用,用于后期批量更新文件、批量更新驱动等批量执行操作。

  做完系统后,把下面代码另存为*.cmd文件,并设为开机自动启动。系统开机后自动会到192.168.27.99机器上读取config.ini文件,在其中查找自己的计算机名。如果找到,则把对应自己计算机名的一个文件(本例中是reg即注册表文件)复制到本地%temp%也就是临时目录,然后将文件执行(本例是运行regedit将注册表导入)。以达到在服务器端控制所有机器开机自动运行的项目。

for /f "skip=1 tokens=1" %%N IN (\\192.168.27.99\Config.ini) Do if %ComputerName%==%%N (
  xcopy /s /e /d /y \\192.168.27.99\%ComputerName%.reg %temp%\
  regedit.exe /s %temp%\%ComputerName%.reg
) Else (
  @echo 本台机器今天不更新!
)
Exit

MikroTik RouterOS 3.30 安装+免SSH全自动算号+自动注册L6图文全过程

Posted by on 星期二, 7 九月, 2010

首先,工具来自:http://bbs.routerclub.com/thread-44678-1-1.html

本文涉及的工具下载:

现整理如下教程:

为了考虑到没有刻录机的朋友们,所以介绍下在虚拟机中破解算号的过程,其实直接刻盘也一样,下面直接进入主题:

  1. 准备一个硬盘或CF+CFtoIDE,大小看应用了,基本路由功能32M够用了,推荐64M,可以安装大多数功能包。
  2. 新建一个虚拟机,过程没有什么好说的。硬盘要选后挂上的物理硬盘。注意,别选错了,如果不确定的话,先选一块,然后单击下面的“使用单个分区”,下一步看看分区信息,再返回上一步确认。

  3. 下载MikroTik RouterOS 3.20 with keygen(>> Skydrive | 115网盘 | Rayfile <<)的ISO光盘镜像备用。
  4. 在新的虚拟机里选择刚刚下载的ros3.20的ISO光盘镜像,开机。
  5. 光盘引导后,停在这个画面上

  6. 这里只选择system和keygen两个功能包,因为我们要在3.20的基础上算号,然后升级到3.30,升级后直接安装3.30的功能包。
  7. 直接按“I”安装。
  8. 出现“Do you want to keep old configuration? [y/n]:”提示时,按N不保存原来的配置。
  9. “Continue? [y/n]”,按y继续。
  10. 直到下面画面“Press ENTER to reboot”,这时关闭虚拟机。

  11. 然后关闭计算机。将硬盘或CF卡摘出来,挂到真机上。注意,接到真机的位置一定要和虚拟机中相同,如:虚拟机中在Primary Master口上,在真机也一定要接到PM口上。为避免算号失败,尽量接到PM口上。
  12. 开机后出现登陆界面(如果没有显示器ros启动后会有“滴滴”两声,如果没有喇叭。。。那就等硬盘灯不闪了。别告我连硬盘灯都没有。。那就等2、3分钟。),接上网线,用WinBox登录。点“Connect To”右边的“…”按钮(图中绿色框按钮),在弹出的列表中选择我们刚装好的ROS的MAC地址(图中红色框内容)。注意,一定要点前面的MAC地址。

  13. 选好后“Connect To”应该出现MAC地址了,用帐号admin,密码空白登陆,进入WinBox管理界面。
  14. 在WinBox窗口内,下图红色框区域内单击鼠标右键,选择绿框部分Add CPU。

  15. 这时会出现如下图红框部分

  16. 提示CPU使用率100%,若是双核,则为50%。当这个数值降到0%~10%范围之内时,说明ID已经算好了。
  17. 点击“RouterOS Welcome”这个窗口中的“OK”,这个窗口会被关闭。点击Winbox左侧工具栏中的System,选择License

  18. 当Software ID为HU6I-XPT,并且Level为6,说明算号成功了。如果Level不是6并且下面有时间倒计时,请下载HU6I-XPT.KEY文件,将其拖入Winbox中,拖入后Winbox会要求重启。重启后用Winbox连接重新进行此步骤查询Software ID 和Level。
  19. 点击左侧工具栏System,选择Packages,在弹出的“Package List”窗口中选中“keygen”项目,点上方的“Disable”,当右侧出现“scheduled for disable”时,再次点击左侧工具栏System,选择Reboot,点Yes重启。

  20. 重新用Winbox连接ROS,再次打开Package List,如果出现以下状态,说明keygen禁用成功。可以选定keygen,再点击Uninstall将其卸载。为了安全,推荐卸载。

  21. 下面将ros升级到3.30。点WinBox界面中左侧工具条Files,将system-3.30.npk(>> Skydrive | Rayfile | 115网盘 <<)拖入Files窗口。会出现上传窗口,等待上传完毕,点击System,选择Reboot,点击Yes重启。

  22. 重启之后再用Winbox连接ros,可以看到,已经是3.30了。






原始算号过程:http://www.awolf.net/content/ros/hu6i-xpt-is-available.html

网众快车自动登录器

Posted by on 星期三, 14 七月, 2010

网众快车自动登录器 – 单击下载

用于网众快车服务端的自动登录。

用VB写的,相关代码:


Private Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean ‘枚举窗口
On Error Resume Next
Dim sTitle As String
Dim hrect As RECT
sTitle = String(80, 0)
Call GetWindowText(hwnd, sTitle, 80) '获取标题
sTitle = left(sTitle, InStr(sTitle, Chr(0)) - 1)
If Len(sTitle) > 0 And sTitle = "用户登录" Then ’如果标题为“用户登录”,则找到窗口
GetWindowRect hwnd, hrect '获得窗口的位置
coLoginWindow.hwnd = hwnd
coLoginWindow.left = hrect.left
coLoginWindow.top = hrect.top
End If
DoEvents
EnumWindowsProc = True
End Function
Private Function EnumChildWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean '枚举子窗口
On Error Resume Next
Dim hrect As RECT
Dim strCaption As String * 255
GetWindowRect hwnd, hrect

If (hrect.left - coLoginWindow.left = 116) And (hrect.top - coLoginWindow.top = 52) Then coUsername.hwnd = hwnd '如果找到指定位置的窗口
If (hrect.left - coLoginWindow.left = 116) And (hrect.top - coLoginWindow.top = 81) Then coPassword.hwnd = hwnd
If (hrect.left - coLoginWindow.left = 104) And (hrect.top - coLoginWindow.top = 177) Then coLogin.hwnd = hwnd

GetWindowText hwnd, strCaption, Len(strCaption)

DoEvents
EnumChildWindowsProc = True

End Function

Public Function GethWnd() As Long '调用枚举窗口和子窗口的过程
EnumWindows AddressOf EnumWindowsProc, 0&
DoEvents
EnumChildWindows coLoginWindow.hwnd, AddressOf EnumChildWindowsProc, 0&
End Function

Public Sub SendText(strUsername As String, strPassword As String) '像窗口发送用户名密码
Dim i As Integer
SendMessage coUsername.hwnd, WM_ACTIVATE, 0&, 0& '激活窗口
SendMessage coUsername.hwnd, WM_LBUTTONDBLCLK, 0&, 0& '双击窗口
SetForegroundWindow coLoginWindow.hwnd '窗口提前

For i = 1 To Len(strUsername) '循环总共 Len(strUsername) 次
Delay 10, True '等10/1000秒
KeyUPDOWN Asc(UCase(Mid(strUsername, i, 1))), coUsername.hwnd '发送按键消息
Next i
KeyUPDOWN vbKeyTab, coLoginWindow.hwnd '按一次TAB键

Delay 100, True
For i = 1 To Len(strPassword)
Delay 10, True
KeyUPDOWN Asc(UCase(Mid(strPassword, i, 1))), coPassword.hwnd
Next i
End Sub
Private Sub KeyUPDOWN(lKey As Long, rhWnd As Long) '发送按键过程
Dim lParam As Long
lParam = makelparam(lKey, False) '生成lparam参数,按下
PostMessage rhWnd, WM_KEYDOWN, lKey, lParam '发送按键消息
DoEvents
lParam = makelparam(lKey, True)'生成lparam参数,弹起
PostMessage rhWnd, WM_KEYUP, lKey, makelparam(lKey, True)
End Sub
Private Function makelparam(ByVal VirtualKey As Long, ByVal flag As Boolean) As Long '生成lparam参数过程
Dim s As String
Dim Firstbyte As String 'lparam参数的24-31位
If flag = False Then 'keydown
Firstbyte = "00"
Else
Firstbyte = "C0" 'keyup
End If
Dim Scancode As Long
'获得虚拟键扫描码
Scancode = MapVirtualKey(VirtualKey, 0)
Dim Secondbyte As String 'lparam参数的16-23位,即虚拟键扫描码
Secondbyte = Right("00" & Hex(Scancode), 2)
s = Firstbyte & Secondbyte & "0001" '0001为lparam参数的0-15位,即发送次数
makelparam = Val("&H" & s)
End Function

Public Sub ClickLogin() '单击“登录”按钮
SendMessage coLogin.hwnd, WM_ACTIVATE, 0&, 0& '激活登录按钮
SetForegroundWindow coLogin.hwnd '按钮提前
PostMessage coLogin.hwnd, WM_LBUTTONDBLCLK, 0, 0 '双击按钮,不知道为什么,用单击不好使-_-||
DoEvents
End Sub

Public Sub Delay(lTimes As Long, Optional bSleep As Boolean) '自定义的延时过程
Dim l As Long
For l = 0 To lTimes
DoEvents
If bSleep = True Then Sleep 1
Next l
End Sub