1、

VC++代码:

 #include <stdio.h>
#include <windows.h>
#include <wchar.h> void MoveMouseZ(int _iX, int _iY);
HWND FindSubBtn01(HWND _hWndParent, char *pcSubWndText);
void PrintLocalTime(); void main()
{
Sleep( * );
PrintLocalTime();
printf("\t 程序开始\n"); char *pcParentWndText = "加速精灵 v2.6";
char *pcSubBtnText = "连 接"; bool bBtnConn = false; // 指示 "连 接"按钮 是否为可点击的状态
int iCounter = ;
int iCounterMoveMouse = ;
while ()
{
iCounterMoveMouse ++;
if (iCounterMoveMouse >= )
{
//*
MoveMouseZ(, );
MoveMouseZ(, );
//*/ iCounterMoveMouse = ;
}
/*
HWND hWndParent = ::FindWindowA(NULL, pcParentWndText);
if (hWndParent == 0)
{
PrintLocalTime();
printf("\t Window \"%s\" is not found .\n", pcParentWndText);
}
else
{
HWND hBtnLianJie = FindSubBtn01(hWndParent, pcSubBtnText);
if (hBtnLianJie == 0)
{
PrintLocalTime();
printf("\t Sub Button \"%s\" is not found .\n", pcSubBtnText);
}
else
{
bool bEnabled = ::IsWindowEnabled(hBtnLianJie);
if (bEnabled)
{
PrintLocalTime();
printf("\t 连接断开,即将尝试重新连接\n"); bBtnConn = true;
iCounter = 0; // 模拟 button click事件
// http://blog.sina.com.cn/s/blog_6414c87b0101892x.html
LONG idBtn = GetWindowLong(hBtnLianJie, GWL_ID);
::SendMessageA(hWndParent, WM_COMMAND, MAKEWPARAM(idBtn, BN_CLICKED), (LPARAM)hBtnLianJie);
}
else
{
if (bBtnConn)
iCounter ++; // 连续监测15次,"连 接"按钮都是不可点击的状态,则说明 貌似已经连上去了。
if (iCounter > 15)
{
PrintLocalTime();
printf("\t 貌似 已经重新连接成功\n"); bBtnConn = false;
iCounter = 0;
}
}
}
}
//*/
::Sleep();
} system("pause");
} // 找窗口"加速精灵 v2.6"下的,窗口标题为"连 接"的按钮 - 方式(1)
HWND FindSubBtn01(HWND _hWndParent, char *pcSubWndText)
{
HWND hWndLianJie = ::FindWindowExA(_hWndParent, NULL, "Button", pcSubWndText);
//printf("FindSubBtn01 : 0x%08X\n", hWndLianJie); return hWndLianJie;
} HWND g_hWndLianJie = ; BOOL CALLBACK EnumChildProc(HWND _hWndChild, LPARAM _lParam)
{
char bufText[] = {};
::GetWindowTextA(_hWndChild, bufText, sizeof(bufText));
//printf("\t%s\n", bufText);
if ( == strcmp((char*)_lParam, bufText))
{
//printf("\t\t==\n");
g_hWndLianJie = _hWndChild;
return false;
}
return true;
} // 找窗口"加速精灵 v2.6"下的,窗口标题为"连 接"的按钮 - 方式(2)
HWND FindSubBtn02(HWND _hWndParent, char *pcSubWndText)
{
EnumChildWindows(_hWndParent, EnumChildProc, (LPARAM)pcSubWndText);
return g_hWndLianJie;
} void MoveMouseZ(int _iX, int _iY)
{
// 新的 坐标点 (_iX, _iY) // 屏幕分辨率
int iX = ;
int iY = ;
// 乘数(为什么要乘以这个?暂时不知...)
int iZ = ;
//Sleep(2000);
::mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, , , , );
//Sleep(1000);
::mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, _iX * iZ / iX, _iY * iZ / iY, , );
} void PrintLocalTime()
{
//获取当地的时间。
SYSTEMTIME stLocal;
::GetLocalTime(&stLocal); //显示时间的间隔。
printf("%04u%02u%02u %02u:%02u:%02u:%u \n",
stLocal.wYear, stLocal.wMonth, stLocal.wDay,
stLocal.wHour, stLocal.wMinute, stLocal.wSecond,
stLocal.wMilliseconds);
}

2、

jsjl_for_ubuntu12.04的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  3. win8.1硬盘安装ubuntu14.04双系统

    在网上找了很多方法都失败了,原因是大多数方法都是用mbr方式安装的,如grub4dos,easybcd.以至于连自己都怀疑win8能不能用硬盘安装,差点就去买个u盘来安装了,就在打算放弃的时候在ubu ...

  4. 使用win10远程控制ubuntu16.04

    使用win10远程控制ubuntu16.04,网上很多需要安装xfce桌面的.今天介绍一下,不需要安装其他桌面,使用Ubuntu16.04自带桌面,漂亮美观. Ubuntu16.04端: 1.打开终端 ...

  5. ubuntu14.04下安装node.js

    在网上查了下,起初是下载了一个node-v0.12.7-linux-x64.tar.gz,解压在/home/node路径下,然后在/etc/profile中添加如下命令: export NODE_HO ...

  6. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  7. Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]

    1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...

  8. Ubuntu14.04配置Mono+Jexus

    总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...

  9. deepsooncms在Ubuntu 14.04上部署教程

    deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...

随机推荐

  1. nodejs加WebSocket,聊天工具

    1.WebSocket必须要与服务器连接,所以这里采用node起服务,这里用到了ws,,也有人用nodejs-websocket 2.首先 npm install ws 3.新建一个server.js ...

  2. CloudFlare防护下的破绽:寻找真实IP的几条途径

    本文仅代表作者独立观点,本文提及的技术仅供安全研究和渗透测试用途 看Twitter发现CloudFlare总裁什么的最近很高调,北京.香港的跑着参加会议.发表演说什么的,CloudFlare似乎也没那 ...

  3. 机器学习理论基础学习9--- EM 算法

    EM算法的适用场景: EM算法用于估计含有隐变量的概率模型参数的极大似然估计,或者极大后验概率估计. 当概率模型既含有观测值,又含有隐变量或潜在变量时,就可以使用EM算法来求解概率模型的参数. 当概率 ...

  4. selenium webdriver窗口切换(上)

    selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test201 ...

  5. php深入学习

    关于PHP程序员解决问题的能力 http://rango.swoole.com/archives/340 深入理解PHP内核 by xuhong大牛 http://www.php-internals. ...

  6. VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)

    上一节中鸡啄米讲了文档.视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口. 分割窗口概述       分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或 ...

  7. Data Center Drama 欧拉回路的应用

    这题说的是给了n个点 和m条边, 这m条边是无向的,任务是将这些边变成有向的,并且添加最少的有向边使得这个图中每个点的入度为偶数, 出度为偶数. 我们可以考虑使用欧拉回路来解决这个问题,这样说,假如一 ...

  8. Maximum execution time of 30 seconds exceeded解决错误方法

    Maximum execution time of 30 seconds exceeded解决错误方法Fatal error: Maximum execution time of 30 seconds ...

  9. netty4----日志框架的检查

    https://segmentfault.com/a/1190000005797595 2016年06月25日  ·  4.1k 次阅读 Netty4.x Internal Logger机制 nett ...

  10. 如何写出一个让人很难发现的bug?

    程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug. 那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢? - 1 -新手开发+ ...