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. MONO,原来你是水中月

    什么是MONO? MONO项目是由Ximian发起的,由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程.它包含了一个C#语言的编译器,一个CLR的运行时,和一 ...

  2. 解决Visual Studio 2010 “无法导入以下密钥文件” 错误

    错误原文: "错误 1 无法导入以下密钥文件: SamplePlugin.pfx.该密钥文件可能受密码保护.若要更正此问题,请尝试再次导入证书,或手动将证书安装到具有以下密钥容器名称的强名称 ...

  3. X11 FRAMEBUFFER QT

    之前对X11 FRAMEBUFFER理解的不够,现在总结一下Qt Embedded是挪威Trolletch公司的图形化界面开发工具Qt的嵌入式版本,它通过QtAPI与LinuxI/O以及Framebu ...

  4. 设计原则:消除Switch...Case的过程,可能有点过度设计了。

    备注 不要重复自己,也不要重复别人,一旦养成了“拷贝和粘贴”的习惯,写程序的时候非常容易导致重复,好在一直暗示自己要稍后进行重构,本文给出一个重构的示例. 需求 需求:按照年.月和日显示销售数据,根据 ...

  5. linux 程序移植到Android

    用动态链接的方法: arm-linux-gcc hello.c -o hello.out -Wl,-dynamic-linker=/system/lib/ld-linux.so.3 并且拷贝文件到安卓 ...

  6. JOIN与EXISTS(子查询)的效率研究

    使用MySQL提供的Sample数据库Sakila 现将profiling打开,用来一会查看sql执行时间 set profiling=1; exists 子查询与 join联接效率的对比,功能:查看 ...

  7. Linux环境MySQL集群配置

    一.介绍 ======== 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽 然这是基于2台服务器的MySQL ...

  8. environmentmap in unity

    真崩溃之前明明找到这个api了 然后没存 然后我就找不到了... 刚刚遇到个特别邪门的问题 调着调着 vs的断点都显示无效 重启unity vs 电脑都不好使 之后我双击了breakpoint窗口.. ...

  9. Node.js:模块系统、函数

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...

  10. grafana-zabbix图形简单配置

    连接zabbix数据库 加入dashboard Home--Add--加入dashboad 设置dashboad 设置名字,和标签tag,tag可在输入后回车加入多个 加入简单的一张图,測试能否获取到 ...