1.GUI点击打开一个程序那边做一个判断。
hwnd = 获取目标程序窗口句柄;
if(hwnd == NULL /*不存在目标程序窗口句柄*/){
    创建进程,打开目标程序;
}
else{
    设置目标程序句柄属性,使其正常显示、置顶显示、获取鼠标控制权;
    刷新窗口句柄属性;
    显示窗口;
    释放窗口句柄;
}
 
相关API
HWND hwnd = FindWindow(NULL, L"计算器");
if (hwnd == NULL) {
std::cout << "未扎到相关程序的句柄,这里创建程序" << std::endl;
}
else {
std::cout << "找到相关句柄" << std::endl;
SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
ShowWindow(hwnd, SW_SHOWNORMAL);
SetForegroundWindow(hwnd);
SetFocus(hwnd);
std::cout << "修改成功" << std::endl;
ReleaseDC(hwnd, NULL);
}

widnows 使用WIN32 APi 实现修改另一打开程序的窗口显示方式的更多相关文章

  1. Detours简介 (拦截x86机器上的任意的win32 API函数)

    Detours 当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Det ...

  2. MSComm控件与Win32 API操作串口有何区别?

    MSComm控件与Win32 API操作串口有何区别? [问题点数:50分,结帖人shell_shell]   收藏帖子 回复 我是一个小兵,在战场上拼命!   结帖率 83.33% 我以前用MSCo ...

  3. [C++] Win32 API 的多线程Timer管理Trick - 利用PostThreadMessage

    有时候我们需要在程序里定时地完成一些任务, 比如5秒后发送, 10秒后弹窗之类的操作. 这就需要一个类似于定时器的组件. 这个组件在windows.h里被称为Timer. 设置一个Timer 第一步当 ...

  4. WIN32 API ------ 最简单的Windows窗口封装类

    1 开发语言抉择 1.1 关于开发Win32 程序的语言选择 C还是C++ 在决定抛弃MFC,而使用纯Win32 API 开发Window桌面程序之后,还存在一个语言的选择,这就是是否使用C++.C+ ...

  5. win32 API函数

    cozy的博文 win32 API函数大全   (2008-03-15 16:28) 分类: 个人日记 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WN ...

  6. Win32 API编程——前言

    一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),w ...

  7. 【C++】从零开始,只使用FFmpeg,Win32 API,实现一个播放器(一)

    前言 起初只是想做一个直接读取视频文件然后播放字符动画的程序.我的设想很简单,只要有现成的库,帮我把视频文件解析成一帧一帧的原始画面信息,那么我只需要读取里面的每一个像素的RGB数值,计算出亮度,然后 ...

  8. 初次认识 C# win32 api

    第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. ...

  9. Serial Port Programming using Win32 API(转载)

    In this tutorial we will learn How to communicate with an external device like a microcontroller boa ...

随机推荐

  1. 树莓派安装 Nginx + PHP7.0 + Pi Dashboard

    之前我们介绍过树莓派搭建LNMP环境的方法,以及给树莓派装一个仪表盘来监控树莓派运行状态.近期有用户反馈树莓派最新版的系统已经无法找到 PHP5 的软件包了,这是因为新版本已经用 PHP7 替代了 P ...

  2. Sql Server参数化查询之where in和like实现之xml和DataTable传参 (转)

    在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充 文章导读 ...

  3. http://m.blog.csdn.net/article/details?id=49132747

    http://m.blog.csdn.net/article/details?id=49132747

  4. myBatis + SpringMVC上传、下载文件

    摘自: http://limingnihao.iteye.com/blog/1069503 环境:maven+SpringMVC + Spring + MyBatis + MySql 本文主要说明如何 ...

  5. @Autowired注入了dao,为什么还要写getDao(){return userDao}这个方法?有什么作用?

    Autowired private UserDao userDao; @Override public BaseDao<User> getDao() { return userDao; } ...

  6. 总想自己动动手系列·2·本地和外网(Liunx服务器上部署的web项目)按照自定义的报文格式进行交互(完结篇)

    一.准备工作 (1)创建一个web-project工程,部署本地可正常访问,部署在云服务上可访问. (2)理解如何在web.xml文件中配置过滤器,和创建一个自定义的过滤器. (3)懂得如何打war包 ...

  7. c++中的继承和组合

    C++的“继承”特性可以提高程序的可复用性.正因为“继承”太有用.太容易用,才要防止乱用“继承”.我们要给“继承”立一些使用规则: 一.如果类A 和类B 毫不相关,不可以为了使B 的功能更多些而让B  ...

  8. CLR_Via_C#学习笔记之CLR的执行模型

    1:公共语言运行时(Common Language Runtime,CLR)是一个可由多种编程语言使用的“运行时”.CLR的核心功能(比如内存管理.程序集加载.安全性.异常处理和线程同步)可由面向CL ...

  9. 去除Odoo主页中的提示: Your Odoo is not supported.

    来自 有两种方法可Odoo主页中的提示: Your Odoo is not supported. 方法1 - 修改源码 打开\addons\mail\static\src\js目录下的mail.js, ...

  10. Global Times 单词(日常收集)

    1. 2013-09-09 windfall 英[ˈwɪndfɔ:l] 美[ˈwɪndˌfɔl] n.意外之财:被风吹落的果子:意外的收获 eg:Only half made any attempt ...