编程模式如何结束未响应的程序

有时要编程结束一个程序的运行。
比如说 hWnd  是你要操作的那个窗口的句柄。

如果是一般的情况
::PostMessage(hWnd,WM_CLOSE,0,0);
就可以了。
(注意不要发送 WM_DESTROY消息。
这两者有什么区别呢?WM_CLOSE,会正常关闭程序,比如说,如果是WORD文件未保存,系统会提示你是否要保存的。
而 WM_DESTROY 则不会给你任何提示,就强行结束了。)

但如果是失去响应的应用程序,不论是WM_CLOSE还是WM_DESTROY都无能为力,因为该隔膜泵程序已经不再处理任何消息啦!这时,可以采用下面的代码:

    if( IsHungAppWindow( hWnd ) )   
    {
     DWORD id=0;
     ::GetWindowThreadProcessId(hWnd,&id);
       HANDLE   ps   =   OpenProcess(1,false,id);
       if(   ps   &&   TerminateProcess(ps,-9))
            WriteLog(L"结束未响应的窗口,成功");
       else
            WriteLog(L"结束未响应的窗口,失败");
    }

代码不用解释了吧?有点vc基础的都看得懂。
本来想绑定wap子域名的,不过IDC不提供这个功能。真是晕死!
难道为了反色情,就要禁止绑定wap子域名吗?

wap编程有很多不同。比如说,至少要包含一个form,而且,里面的隔膜泵控件,必须要是 <mobile:TextBox> <mobile:form> 这样的形式的。

别的有很多功能是不支持的。比如我想配置文本的背景色却不能成功哦
好不容易找到的,放在这儿备查!
以发送Ctrl+P为例,hWnd是接受消息的窗口句柄,

   keybd_event(   VK_CONTROL,0,0,0   );  
   ::PostMessage(   hWnd,   WM_KEYDOWN,   'P',0);    
   Sleep   (30);  
   ::PostMessage(   hWnd,   WM_KEYUP,   'P',0);  
   keybd_event(   VK_CONTROL,0,KEYEVENTF_KEYUP,0   );
怎么获得具有输入焦点的子窗口句柄?这个问题看似简单,却困惑了很多有经验的程序员。
下面我把问题分解一下。
1,获得本进程具有输入焦点的子窗口句柄
     GetFoucus
2,获得系统中的当前窗口
    GetForegroundWindow
但要怎么获得整个系统中具有输入焦点的的窗口呢?看下面代码

    CWnd *pWnd = GetForegroundWindow();
                http://www.it168.com/
                if( pWnd )
                {

                    DWORD dwThread = ::GetWindowThreadProcessId(pWnd->m_hWnd,NULL);
                    AttachThreadInput(dwThread, GetCurrentThreadId(), TRUE);
                    // 获取焦点窗口句柄
                    HWND hFocus = ::GetFocus();
                    // 解除贴附
                    AttachThreadInput(dwThread, GetCurrentThreadId(), FALSE);
                     }

转载于:https://www.cnblogs.com/shhxpump/p/3731600.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署

一.flask写的接口 1.1 manage.py启动服务(发送图片base64版) 这里要注意的是用docker的话,记得端口映射 #coding:utf-8 import base64 import io import logging import picklefrom flask import Flask, jsonify, request from PIL import Image from sklearn import metric…

2018中国自动驾驶市场专题分析

来源&#xff1a;智车科技未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#…

Ant步步为营(4)ant启动tomcat

前序&#xff1a; 最近产品要release&#xff0c;一直忙着测试&#xff0c;没有时间学习ant了&#xff0c;今天终于没什么事了赶紧写点东西。这个启动tomcat是好些天之前写的了。在这里跟大家分享一下。 build.xml <?xml version"1.0"?> <project name…

python写日志

需要再加入按照日期生成日志 #coding:utf-8 import logging import logging.handlers class Logger:logFile def __init__(self, logFile):self.logFile logFileself.logger logging.getLogger(mylogger)self.logger.setLevel(logging.INFO)rf_handler logging.handlers.…

MIT科学家Dimitri P. Bertsekas最新2019出版《强化学习与最优控制》(附书稿PDF讲义)...

来源&#xff1a;专知摘要&#xff1a;MIT科学家Dimitri P. Bertsekas今日发布了一份2019即将出版的《强化学习与最优控制》书稿及讲义&#xff0c;该专著目的在于探索这人工智能与最优控制的共同边界&#xff0c;形成一个可以在任一领域具有背景的人员都可以访问的桥梁。REINF…

PHP中的中文截取乱码问题_gb2312_utf-8

一、字符串编码为gb2312&#xff0c;一个中文占俩字节 public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置&#xff0c;$len指字符串长度$strlen $start $len; // 用$strlen存储字符串的总长度&#xff0c;即从字符串的起…

yolov3 anchors用kmeans聚类出先验框+anchor宽高比分析

一&#xff0e;yolov v3聚类出框 # -*- coding: utf-8 -*- import numpy as np import random import argparse import os# # 参数名称 # parser argparse.ArgumentParser(description使用该脚本生成YOLO-V3的anchor boxes\n) # parser.add_argument(--input_annotation_txt…

Geoff Hinton:全新的想法将比微小的改进更有影响力

来源&#xff1a;AI科技评论摘要&#xff1a;日前&#xff0c;WIRED 对 Hinton 进行了一次专访&#xff0c;在访谈中&#xff0c;WIRED 针对人工智能带来的道德挑战和面临的挑战等问题进行了提问&#xff0c;以下为谈话内容。“作为一名谷歌高管&#xff0c;我认为在公开场合抱…

修改TOMCAT服务器图标为应用LOGO

在tomcat下部署应用程序&#xff0c;运行后&#xff0c;发现在地址栏中会显示tomcat的小猫咪图标。有时候&#xff0c;我们自己不想显示这个图标&#xff0c;想换成自己定义的的图标&#xff0c;那么按如下方法操作即可&#xff1a; 参考网上的解决方案&#xff1a;1、将$TOMCA…

python连接mysql的一些基础知识+安装Navicat可视化数据库+flask_sqlalchemy写数据库

一&#xff0e;mysql基础知识 &#xff11;&#xff0e;connect连接数据库 import pymysqldef get_conn():conn pymysql.connect(hostxxx.xxx.xxx.xxx, port3306, userroot, passwd, dbnewspaper_rest) # db:表示数据库名称return conn &#xff12;&#xff0e;创建表 im…

工业互联网平台创新发展白皮书(2018)

来源&#xff1a;走向智能论坛摘要&#xff1a;近日&#xff0c;在“2018年产业互联网与数据经济大会——首届工业互联网平台创新发展暨两化融合推进会”上&#xff0c;国家工业信息安全发展研究中心尹丽波主任发布并解读了《工业互联网平台创新发展白皮书&#xff08;2018&…

迭代器模式和组合模式混用

迭代器模式和组合模式混用 前言 园子里说设计模式的文章算得上是海量了&#xff0c;所以本篇文章所用到的迭代器设计模式和组合模式不提供原理解析&#xff0c;有兴趣的朋友可以到一些前辈的设计模式文章上学学&#xff0c;很多很有意思的。在Head First 设计模式这本书中&…

python实现可扩容队列

#coding:utf-8 """ fzh created on 2019/10/15 构建一个队列 """ import datetimeclass LoopQueue(object):def __init__(self, n10):self.arr [None] * (n1) # 由于特意浪费了一个空间&#xff0c;所以arr的实际大小应该是用户传入的容量1sel…

5G 产业链重要投资节点

来源&#xff1a;兴业证券 ▌5G:大通信容量及超低延时&#xff0c;未来多项应用的基础5G:高工作频率以及频谱带宽带来高通信容量5G(5thgeneration)是指第五代移动电话通信标准。3GPP(第三代合作伙伴计划&#xff0c;电信标准化机构)将5G标准分为了NSA(非独立组网)和SA(独立组网…

Kneser猜想与相关推广

本文本来是想放在Borsuk-Ulam定理的应用这篇文章当中。但是这个文章实在是太长&#xff0c;导致有喧宾夺主之嫌&#xff0c;从而独立出为一篇文章&#xff0c;仅供参考。$\newcommand{\di}{\mathrm{dist}}$ &#xff08;图1&#xff1a;Kneser叙述他的猜想原文手稿&#xff09;…

python .py文件变为.so文件进行加密

&#xff11;.mytest.py 需要加密的内容 #coding:utf-8 import datetimeclass Today():def get_time(self):print(datetime.datetime.now())def say(self):print("hello word!")today Today() today.say() today.get_time() 2.执行setup.py 也就是加密脚本 from…

从技术上解读大数据的应用现状和开源未来

来源&#xff1a;网络大数据作者 | 韩锐、 Lizy Kurian John、詹剑锋摘要&#xff1a;近年来&#xff0c;随着大数据系统的快速发展&#xff0c;各式各样的开源基准测试集被开发出来&#xff0c;以评测和分析大数据系统并促进其技术改进。然而&#xff0c;迄今为止&#xff0c;…

喜欢的一些话(不断更新)

“人生最有价值的时刻&#xff0c;不是最后的功成名就&#xff0c;而是对未来正充满期待与不安之时。” 其实题目很多时候不是水不水的问题&#xff0c;而是你对于题目是如何理解以及解决的&#xff1f;建议你有时间思考下这个问题&#xff0c;什么样的题目是难题以及他们为什么…

十八岁华裔天才携手「量子计算先驱」再次颠覆量子计算

来源&#xff1a;机器之心编译参与&#xff1a;刘晓坤、李泽南摘要&#xff1a;量子计算再一次「被打败了」。今年 8 月&#xff0c;刚刚年满 18 岁的 Ewin Tang 证明了经典算法能以和量子计算机相近的速度解决推荐问题&#xff0c;这位天才少女&#xff08;更正&#xff1a;不…

resnet系列+mobilenet v2+pytorch代码实现

一.resnet系列backbone import torch.nn as nn import math import torch.utils.model_zoo as model_zooBatchNorm2d nn.BatchNorm2d__all__ [ResNet, resnet18, resnet34, resnet50, resnet101, deformable_resnet18, deformable_resnet50,resnet152]model_urls {resnet18:…