服务器集群管理框架从构思到完成(四)高级应用示例:操作远程Windows服务器的计算器

http://2012.aliyun.com/works/finalist阿里云开发者大赛43号作品)

(一)需求描述

今天来个好玩的,我要在本地操作远程Windows服务器[10.34.130.62]上的计算器计算 (1+2+4)*2 的结果并返回。

(二)实现流程(其中一种)

【Windows】:

1. 10.34.130.62打开计算器(多种方式)

2. 10.34.130.62利用Windows API相关命令(参见帮助文档-命令执行引擎)进行计算

3. 10.34.130.62取得计算结果

4. 10.34.130.62关闭计算器

(三)Lua脚本实现(基于http://blog.csdn.net/w565911788/article/details/8127968

--脚本入口和出口函数EnterBegin()

function EnterBegin()

  --连接到服务器 10.34.130.6210.34.130.44

  ExecCommand("127.0.0.1:connect_one_server{@10.34.130.62@}")

  sleep(1000) 

  ExecCommand("127.0.0.1:get_connect_servers{@all@}")   

  -----------------------------windows-----------------------

  --1. 10.34.130.62打开计算器(多种方式)"C:\\Windows\\System32\\calc.exe"

  --ExecCommand("10.34.130.62:win_cmd{@C: && C:\\Windows\\System32\\calc.exe@}")

  --ExecCommand("10.34.130.62:open_file{@C:\\Windows\\System32\\calc.exe@}")

  ExecCommand("10.34.130.62:open_exe{@C:\\Windows\\System32\\calc.exe|null@}")

  sleep(1000)

  --2. 10.34.130.62利用Windows API相关命令(参见帮助文档-命令执行引擎)进行计算

  --给控件ID为160发送文本 (1+2+4)*2

  ExecCommand("10.34.130.62:win_api{@calc|send_text|160|1+2+4@}")

  sleep(500)

  ExecCommand("10.34.130.62:win_api{@calc|send_text|160|*2@}")

  sleep(500)

  --点击"="按键ID为121

  ExecCommand("10.34.130.62:win_api{@calc|click|121@}")

  sleep(500)

  --3. 10.34.130.62取得计算结果(由于可能是图片无文本属性所以取得空值)

  ExecCommand("10.34.130.62:win_api{@calc|get_text|160@}")

  sleep(500)

  --模拟键盘输入 Alt+2

  --ExecCommand("10.34.130.62:win_api{@calc|send_key|%{2}@}")

  --sleep(500)

  --模拟键盘输入 Ctrl+H

  ExecCommand("10.34.130.62:win_api{@calc|send_key|^{h}@}")

  sleep(500)

  --点击相对坐标(140,40)

  ExecCommand("10.34.130.62:win_api{@calc|click_xy|140|40@}")

  sleep(500)

  --模拟键盘输入 F1

  ExecCommand("10.34.130.62:win_api{@calc|send_key|{F1}@}")

  sleep(500)

  --4. 10.34.130.62关闭计算器

  --ExecCommand("10.34.130.62:kill_proc{@calc@}")

  return 1

end

function sleep (a)

  local b = 1000000*a

  for i=0,b,1 do

    a = i

  end

  return a

end

(四)执行结果截图

【Windows-10.34.130.62】

【Local-Output】

【一些用到的属性】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值