社区
Delphi
帖子详情
Help!Help!已知一个窗口的句柄HWND,如何强制关闭它?
CKEN
2000-03-09 09:29:00
...全文
1165
20
打赏
收藏
Help!Help!已知一个窗口的句柄HWND,如何强制关闭它?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NoBug
2000-03-10
打赏
举报
回复
向窗口发送WM_CLOSE消息应该是可以的,如果不行可能是因为窗口停止响应,可用如下方法:
...
DWORD dwThreadId,dwProcessId;
HANDLE hProcess;
dwThreadId = GetWindowThreadProcessId(hWnd,&dwProcessId);
hProcess = OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessId);
if(hProcess==NULL) return FALSE;
// so bad !
TerminateProcess(hProcess);
...
不过,这不是一个好方法,以为这样终止一个进程,有时会产生意想不到的后果。
CKEN
2000-03-10
打赏
举报
回复
请问lu0,如何向一个窗口发送带有sc_close的wm_syscommand消息,sendmessage的
api具体如何写?
meijg
2000-03-10
打赏
举报
回复
NoBug的方法是对的,把分给他,如果有问题在来找我
土豆
2000-03-10
打赏
举报
回复
无聊的话题
Lin
2000-03-10
打赏
举报
回复
CKEN:
再试试:SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
CKEN
2000-03-10
打赏
举报
回复
BOOL SendMessage(
HWND hWnd, // handle of destination window
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
中的WPARAM与LPARAM 应该如何填写呢?(消息是WM_CLOSE)
kxy
2000-03-09
打赏
举报
回复
sorry,放错了地方:)
kxy
2000-03-09
打赏
举报
回复
delphi中(d4)中如果编译,要保存才可以,BCB不要保存吗?
olo
2000-03-09
打赏
举报
回复
请问 guzhigang :
怎样取得该窗口的程序INSTANCE,又怎样取得程序的主窗口?有分的。100分。
halfdream
2000-03-09
打赏
举报
回复
你可以确定HWND找对了吗?
我曾试过几次你说的类似情况。一般情况下,
送WM_CLOSE消息多半可以,要是不行送WM_DESTROY消息。
要不然,再试试SendMessage(用法同PostMessage).
另外,还有一点,HWND窗口是程序的主窗口的话可以结束程序。
HWND如果是非主窗口,那情况可能要复杂一些:)
如果有问题的话,可以说得再具体些吗?
guzhigang
2000-03-09
打赏
举报
回复
应设法取得该窗口的程序INSTANCE,然后取得程序的主窗口,在发关闭消息,
lu0
2000-03-09
打赏
举报
回复
嘿嘿,有很多很多窗口都不对WM_CLOSE反应的:)
通常情况下,他们都对WM_SYSCOMMAND里的SC_CLOSE作出反应关闭窗口.如果该函数不
行,看来你需要HOOK一番了.
CKEN
2000-03-09
打赏
举报
回复
我要关的是另一个程序窗口
CKEN
2000-03-09
打赏
举报
回复
不行,没反应,窗口关不了
Lin
2000-03-09
打赏
举报
回复
向窗口发送WM_CLOSE,一般来说,将导致该窗口被关闭(如果它愿意的话)。
刚试过的,应该是没问题的。
注意:如果是用Delphi或者BCB做的程序的话, 一般来说,Application.Handle才是主窗口(0,0,0,0)句柄,而一般显示在桌面上的只是Application.MainForm
mutant
2000-03-09
打赏
举报
回复
如果要强制销毁的话使用
BOOL DestroyWindow(
HWND hWnd // handle to window to destroy
);
就可以了
929
2000-03-09
打赏
举报
回复
我想可以通过向窗口发送WM_CLOSE或WM_DESTROY消息来试试。
BOOL PostMessage(
HWND hWnd, // handle of destination window
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
forgettor
2000-03-09
打赏
举报
回复
PostMessage(hwnd,WM_QUIT/WM_CLOSE,0,0)行不行?
CKEN
2000-03-09
打赏
举报
回复
我记得好像大部分窗口都可以用alt+f4关闭,api如何写,我有几个控件,那些控件在
win98下烂的很,就是说,如何引发一个系统级的键盘事件(我可以先把那个设为活动
窗口,那样这个窗口就会得到ALT+F4关闭).
forgettor
2000-03-09
打赏
举报
回复
如果想暴力关闭整个程序,用GetWindowThreadProcessID得到窗口所属的进程,然后用TerminateProcess关闭.
Windows游戏编程系列之1:GUI
窗口
界面编程及游戏入门实战
我将带领大家来系统学习Windows的
窗口
编程,包括消息、
窗口
、GDI绘图、游戏开发等。本课程比较基础,非常适合初学者入门,读者可以边学习边实践。具体的章节目录和课程内容如下所示:---------------------------------------------Windows游戏编程系列之1:GUI界面编程及游戏入门实战1、Windows创建第
一个
窗口
WinMain入口函数 5进行Windows编程的调试手法 6
窗口
从哪里来? 7
窗口
编程的步骤 7
窗口
编程需要的主要结构 8
窗口
编程需要的主要API 92、Windows的
窗口
过程与消息机制 如何留住
窗口
? 121)Windows的消息与消息循环 142)消息处理函数与常用消息 17)Windows的
窗口
过程函数 19 3、GDI编程之设备上下文 1)GDI的通用编程框架 222)GDI的绘图步骤 253)GDI获取设备
句柄
254、GDI编程之绘制几何图形 画点、线 28颜色COLORREF 29矩形 29画圆、饼图、弦图 305、GDI编程之自定义画笔画刷画笔简介 32画刷简介 33画笔案例 33画刷案例 346、GDI编程之绘制文字 DrawText函数 35TextOut 函数 (wingdi.h) 36CreateFont函数 37绘制文本案例 377、GDI编程之绘制位图 位图简介 381)在资源中添加位图资源 392)从资源中加载位图: LoadBitmap 393)创建
一个
与当前DC相匹配的DC(内存DC) 394)将bitmap放入匹配的DC中:SelectObject 405)成像(1:1 比例 ) 406)取出位图 407)释放位图 418)释放匹配的DC 41绘制位图案例 41 8、Windows鼠标键盘消息 一、键盘消息 421、键盘消息 422、消息参数: 423、消息的使用: 424、键盘消息的案例代码 43二、鼠标消息 441、基本鼠标消息 442、双击消息 443、滚轮消息 454、不响应双击消息 45 9、Windows定时器消息 定时器消息介绍 47创建定时器 47
关闭
定时器 47定时器消息案例代码 4810、GDI游戏之跳舞动画 11、GDI游戏之走路动画 12、GDI贪吃蛇游戏实战
MFC中获取
窗口
句柄
及相关函数
一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和
句柄
获取和操作问题。本文中将针对各类
句柄
的获得、指针的获得以及MFC中常见应用进行阐述并举例。 本文内容索引: ========================================================= MFC中获取常
Windows_10_System_Programming_2,Objects and Handles
可以通过复制
句柄
(duplicating the handle)来实现这些复制操作(these copy operations)(见本章后面的 “共享内核对象”),但这是
一个
非平凡(非常重要)的操作,最好在隐式复制场景中避免。内核对象是引用计数的。
句柄
复制没有固有的限制(除了安全性)-它几乎可以在任何内核对象上工作,不管是有名字的还是没有名字的,而且它在任何时间点上都可以工作(在第3章中,我们将看到
句柄
继承仅在进程创建子进程时可用)。如果是,那么它就不是
一个
新的对象,而是现有对象的另
一个
句柄
。
系统:Shell和GDI Thread和杂项等
Q如何判断是文件,还是目录?急!! T请各位高手指教,在c 语言中,用程序怎样判断要操作的是
一个
目录还是
一个
文件?在c语言中要调用api函数时许包含什么头文件?具体要用到什么函数请多多帮忙!!谢谢!!APathIsDirectory#include Q用程序怎么打印
一个
Word或者RTF文档啊? T比如有C:/a.rtf我怎么可以把它送到打印机打出来呢?AShellExecute C:/a.rtf
VC6.0的若干实用小技巧
作者:VC教程 来源:http://www.d9soft.com 时间:2006-2-11 1:30:501.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看
一个
宏(或变量、函数)的宏定义把光标移动到你想知道的
一个
宏上,就比如
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章