QQ窗体的控制,同步异步打开360网盘,控制360网盘窗体的移动
1.通过system启动飞秋进程的方式:
2.Windows下杀死进程的方式是:taskkill /f/im QQ.exe。截图例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
3、控制360网盘的移动,打开等效果:
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
/************************************************************************/
/*非作业题:因为没有百度网盘,这里以360网盘为例做homework, */
/*以同步的方式打开360 */
/************************************************************************/
voidsynchroOpen360Cloud()
{
while
(1)
{
//以同步方式打开360网盘。注意:64位
的情况下(x86)要有空格,转义字符
system("\"C:\\ProgramFiles
(x86)\\360\\360YunPan\\360cloud\\360Cloud.exe\"");
Sleep(1000);
}
}
/************************************************************************/
/*非作业题:以异步的方式打开360网盘 */
/*异步打开窗体使用的是ShellExecuteA函数 */
/************************************************************************/
voidasynOpen360Cloud()
{
while
(1)
{
//第一个參数是代表系统弹出
//第二个參数是代表运行
//第三个參数运行命令行
//第四个,第五个默认0,
//第六个參数,0代表窗体隐藏,1代表正常,3最大化,6最小化
ShellExecuteA(0,"open","\"C:\\ProgramFiles
(x86)\\360\\360YunPan\\360cloud\\360Cloud.exe\"", 0, 0, 1);
Sleep(5000);
}
}
/************************************************************************/
/* 作业题:打开360网盘 */
/************************************************************************/
voidopen360Cloud()
{
ShellExecuteA(0,"open","\"C:\\Program
Files(x86)\\360\\360YunPan\\360cloud\\360Cloud.exe\"", 0,0,1);
}
/************************************************************************/
/*作业题:改变网盘的位置,从左到右for循环方式 */
/************************************************************************/
voidchangePositionFormLeft2Right(HWNDwin,intstartX,intstartY,intendX,intendY)
{
for
(inti
=startX;i
<=endX;i+=10)
{
SetWindowPos(win,NULL,i,
0, 300, 400, 1);
Sleep(30);
}
}
/************************************************************************/
/*作业题:while方式 从(1000,0)-->(1000,500),使用while */
/************************************************************************/
voidchangePositionFormRTop2RBottom(HWNDwin,intstartX,intstartY,intendX,intendY)
{
while
(startY <=
endY)
{
SetWindowPos(win,NULL,startX,startY,
300, 400, 1);
Sleep(30);//休眠30毫秒
startY
+= 10;
}
}
/************************************************************************/
/*作业题:do while方式实现从(1000,500)-->(0,500); */
/************************************************************************/
voidchangePositionFormRBoottom2LBottom(HWNDwin,intstartX,intstartY,intendX,intendY)
{
do
{
SetWindowPos(win,NULL,startX,startY,
300, 400, 1);
Sleep(30);//休眠
startX
-= 10;
}
while (startX
> endX);
}
/************************************************************************/
/*作业题1、通过goto语句将窗体从(0,500)-->(0,0) */
/************************************************************************/
voidchangePositionFormLBottom2LTop(HWNDwin,intstartX,intstartY,intendX,intendY)
{
flag:if
(startY >endY)
{
Sleep(30);//休眠1次
startY
-= 10;
SetWindowPos(win,NULL,startX,startY,
300, 400, 1);
gotoflag;
}
}
/************************************************************************/
/*作业题:通过递归的方式实现对角线移动 */
/************************************************************************/
voidchangePositionFromLTop2RBottom(HWNDwin,intstartX,intstartY,intendX,intendY)
{
if
(startX ==
endX)
{
return;
}
else
{
startX
+= 10;
startY
= (endY *
startX) /endX;
SetWindowPos(win,NULL,startX,startY,
300, 400, 1);
Sleep(30);
changePositionFromLTop2RBottom(win,startX,startY,endX,endY);
}
}
intmain(void)
{
//非作业题
//synchroOpen360Cloud();
//asynOpen360Cloud();
//作业题:1.五种循环方式。百度网盘或者阿狸旺旺,控制一下,
//这里以360网盘为例进行測试,电脑分辨率:1366*768
//打开360网盘
open360Cloud();
//指针,返回窗体的编号
HWNDwin;
//以下的两个參数各自是类名和标题,通过spy工具中的主信息找到
win
=FindWindowA("Q360CloudLoginWnd","360云盘同步版登录");
//第二步:推断是否存在
if
(win ==
NULL)
{
printf("不存在360网盘");
}
else
{
//1、从(0,0)-->(1000,0)。使用for循环的方式
changePositionFormLeft2Right(win,
0, 0, 1000, 0);
//2、从(1000,0)-->(1000,500),使用while
changePositionFormRTop2RBottom(win,1000,0,1000,500);
//3、dowhile方式实现从(1000。500)-->(0,500)
changePositionFormRBoottom2LBottom(win,
1000, 500, 0,500);
//4、通过goto语句将窗体从(0,500)-->(0,0)
changePositionFormLBottom2LTop(win,0,
500,0,0);
//5、通过goto语句将窗体从(0,0)-->(1000,500)
changePositionFromLTop2RBottom(win,
0, 0, 1000, 500);
}
system("pause");
return
0;
}
QQ窗体的控制,同步异步打开360网盘,控制360网盘窗体的移动的更多相关文章
- DirectUI中模态对话框和菜单的原理(自己控制整个Windows消息循环。或者,用菜单模拟窗体打开时用SetCapture取得控制权,一旦窗体收到WM_CAPTURECHANGED消息就把窗体退出)
经常有人问关于模态对话框和系统菜单内部实现原理方面的问题, 因为系统通过API隐藏了太多细节,这2个问题确实令初学者甚至是有经验的开发者困扰, 下面是我个人的一些经验总结. 先说模态对话框,外部看模态 ...
- {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll
Python之进程 进程 本节目录 一 背景知识 二 什么是进程 三 进程调度 四 并发与并行 五 同步\异步\阻塞\非阻塞 六 进程的创建与结束 七 multiprocess模块 八 进程池和mut ...
- 多道技术 进程 线程 协程 GIL锁 同步异步 高并发的解决方案 生产者消费者模型
本文基本内容 多道技术 进程 线程 协程 并发 多线程 多进程 线程池 进程池 GIL锁 互斥锁 网络IO 同步 异步等 实现高并发的几种方式 协程:单线程实现并发 一 多道技术 产生背景 所有程序串 ...
- 哪5种IO模型?什么是select/poll/epoll?同步异步阻塞非阻塞有啥区别?全在这讲明白了!
系统中有哪5种IO模型?什么是 select/poll/epoll?同步异步阻塞非阻塞有啥区别? 本文地址http://yangjianyong.cn/?p=84转载无需经过作者本人授权 先解开第一个 ...
- Python并发编程之同步\异步and阻塞\非阻塞
一.什么是进程 进程: 正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 进程和程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程. 需要强调的是:同一个程序执行两次,那也 ...
- Python之路(第三十六篇)并发编程:进程、同步异步、阻塞非阻塞
一.理论基础 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的. 即使可以利用的cpu只有一个(早期的 ...
- 操作系统介绍-操作系统历史,IO,进程的三态,同步异步阻塞非阻塞
1.操作系统历史 2.进程,IO,同步异步阻塞非阻塞 操作系统历史: 手工操作: 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 手工操 ...
- GIL全局解释器锁,线程池与进程池 同步异步,阻塞与非阻塞,异步回调
GIL全局解释器锁 1.什么是GIL 官方解释:'''In CPython, the global interpreter lock, or GIL, is a mutex that prevents ...
- GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例
转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...
随机推荐
- Programmer in Google Code
https://code.google.com/p/vsprog/ CLI program support USB_TO_XXX of Versaloon. Support AVR_ISP/JTAG, ...
- IDA resources - Script, Plugin, Project, Book, Tutorial
https://www.hex-rays.com/forum/viewtopic.php?f=6&t=3322 List of scripts:http://www.openrce.org/d ...
- TortoiseSVN 图文使用教程
1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repository? 5 建立一个Working目录 ...
- 数据库中MCO
约束条件指该字段取值的约束条件,“ M ”表示必填.“ C ”表示条件必填.“ O ”表示可填,以下含义同
- 搭建简单Ext
一.EXT是什么? 1. Ext是一个Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力,提高用户体验: 2. Ext是一个用javascript编写,与后 ...
- SQL Server会话KILL不掉,一直处于KILLED /ROLLBACK状态情形浅析[转]
本文将为您描述SQL Server会话KILL不掉,一直处于KILLED /ROLLBACK状态情形浅析,教程操作方法: 今天遇到一个很奇怪的情况,发现一个会话异常,这个会话只是在执行一个简单的存储过 ...
- iOS: 转载CoreData数据库框架
iphone-CoreData的使用详解 一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在M ...
- 直播 背景 技术体系 乐视云直播Demo
背景 最近工作需要做一款直播APP,恩是的,从RTMP协议的实现开始到处理服务器高并发.负载均衡.客户端播放器实现等等等..... 估计全部写完我也到而立之年了吧...... BOSS们估计也是发现了 ...
- GNU Make - 内部变量的赋值和改变
1. 赋值和显示 采用$(info $(variable_name))显示内部变量 eg: FOO=bar $(info $(FOO)) 运行结果: #: make bar 2. 从命令行外部改变 B ...
- iOS 真机调试多台mac电脑共用一个证书
大致流程:在你的开发电脑上导出一个 p12文件,以及在 apple开发者中心下载一个profile文件,把这两个文件导出给你的mac开发友就行了 打开 mac 钥匙工具-----找到你的证书---- ...