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网盘窗体的移动的更多相关文章

  1. DirectUI中模态对话框和菜单的原理(自己控制整个Windows消息循环。或者,用菜单模拟窗体打开时用SetCapture取得控制权,一旦窗体收到WM_CAPTURECHANGED消息就把窗体退出)

    经常有人问关于模态对话框和系统菜单内部实现原理方面的问题, 因为系统通过API隐藏了太多细节,这2个问题确实令初学者甚至是有经验的开发者困扰, 下面是我个人的一些经验总结. 先说模态对话框,外部看模态 ...

  2. {Python之进程} 背景知识 什么是进程 进程调度 并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 multiprocess模块 进程池和mutiprocess.Poll

    Python之进程 进程 本节目录 一 背景知识 二 什么是进程 三 进程调度 四 并发与并行 五 同步\异步\阻塞\非阻塞 六 进程的创建与结束 七 multiprocess模块 八 进程池和mut ...

  3. 多道技术 进程 线程 协程 GIL锁 同步异步 高并发的解决方案 生产者消费者模型

    本文基本内容 多道技术 进程 线程 协程 并发 多线程 多进程 线程池 进程池 GIL锁 互斥锁 网络IO 同步 异步等 实现高并发的几种方式 协程:单线程实现并发 一 多道技术 产生背景 所有程序串 ...

  4. 哪5种IO模型?什么是select/poll/epoll?同步异步阻塞非阻塞有啥区别?全在这讲明白了!

    系统中有哪5种IO模型?什么是 select/poll/epoll?同步异步阻塞非阻塞有啥区别? 本文地址http://yangjianyong.cn/?p=84转载无需经过作者本人授权 先解开第一个 ...

  5. Python并发编程之同步\异步and阻塞\非阻塞

    一.什么是进程 进程: 正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 进程和程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程. 需要强调的是:同一个程序执行两次,那也 ...

  6. Python之路(第三十六篇)并发编程:进程、同步异步、阻塞非阻塞

    一.理论基础 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都是围绕进程的概念展开的. 即使可以利用的cpu只有一个(早期的 ...

  7. 操作系统介绍-操作系统历史,IO,进程的三态,同步异步阻塞非阻塞

    1.操作系统历史 2.进程,IO,同步异步阻塞非阻塞 操作系统历史: 手工操作: 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 手工操 ...

  8. GIL全局解释器锁,线程池与进程池 同步异步,阻塞与非阻塞,异步回调

    GIL全局解释器锁 1.什么是GIL 官方解释:'''In CPython, the global interpreter lock, or GIL, is a mutex that prevents ...

  9. GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例

    转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时 ...

随机推荐

  1. Using an open debug interconnect model to simplify embedded systems design

    Using an open debug interconnect model to simplify embedded systems design Tom Cunningham, Freescale ...

  2. STN1170 Multiprotocol OBD to UART Interpreter

    http://www.obdsol.com/stn1170/ STN1170 supports the following protocols: all legislated OBD II proto ...

  3. CMoLineMgr

    #ifndef __E3GLOGOBJECTDB_H__ #define __E3GLOGOBJECTDB_H__ #include "PubCommon\Singleton.h" ...

  4. linux中的dup()系统调用

    参考1:http://www.blogjava.net/lihao336/archive/2011/12/13/366231.html 在linux纷繁复杂的内核代码中,sys_dup()的代码也许称 ...

  5. SLF4J和Logback日志框架详解

    SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架.   SLF4J是一套 ...

  6. 安装完Framework后如何不重启系统?

    在.net平台下客户端部署时,如果客户端没有安装Framework时,部署程序安装Framework后,有一个要求重启选项,当然是非强制的.如果不想出现这个提示“重启”选项,可以做如下选择: 1.启动 ...

  7. 固定的价格就意味着背叛——《practices of an agile developper》

    “对这个项目,我们必须要有固定的报价.虽然我们还不清楚项目的具体情况,但仍要有一个报价.到星期一,我需要整个团队的评估,并且我们必须要在年末交付整个项目.” Venkat & Andy 提出了 ...

  8. Git使用教程(转载)

    Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...

  9. Python学习(四)数据结构 —— list tuple range

    序列类型 list   tuple   range list 和 tuple list: 列表,由 [] 标识: 有序:可改变列表元素 tuple: 元组,由 () 标识: 有序:不可改变元组元素(和 ...

  10. poj 1035 Spell checker ( 字符串处理 )

    Spell checker Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16675   Accepted: 6087 De ...