社区
Delphi
帖子详情
Help!Help!已知一个窗口的句柄HWND,如何强制关闭它?
CKEN
2000-03-09 09:29:00
...全文
1963
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
);
就可以了
forgettor
2000-03-09
打赏
举报
回复
PostMessage(hwnd,WM_QUIT/WM_CLOSE,0,0)行不行?
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
);
CKEN
2000-03-09
打赏
举报
回复
我记得好像大部分窗口都可以用alt+f4关闭,api如何写,我有几个控件,那些控件在
win98下烂的很,就是说,如何引发一个系统级的键盘事件(我可以先把那个设为活动
窗口,那样这个窗口就会得到ALT+F4关闭).
forgettor
2000-03-09
打赏
举报
回复
如果想暴力关闭整个程序,用GetWindowThreadProcessID得到窗口所属的进程,然后用TerminateProcess关闭.
实用C#(一)
<script type="text/javascript"
C#7 入门实用指南(一)
假设您已经掌握了 C#语言的基本要素,并且现在准备在工作的 Visual Studio 环境中逐行学习更高级的 C#语言和语法。您将学习如何编写高级的 C#语言主题,包括泛型、lambda 表达式和匿名方法。您将学习使用查询语法构建查询和部署执行聚合函数的查询。您将使用 C# 7 和 SQL Server 2017 执行复杂的连接和存储过程。探索高级文件访问方法,并了解如何序列化和反序列化对象——所有这些都是通过编写可以在 Visual Studio 中运行的工作代码来完成的。
C# 机器学习实用指南(一)
在我们以信息技术为主的工作中,机器学习的必要性无处不在,并且被所有开发者、程序员和分析人员所需求。但为什么使用 C#进行机器学习呢?答案是,大多数生产级企业应用程序都是用 C#编写的,使用了诸如 Visual Studio、SQL Server、Unity 和 Microsoft Azure 等工具。本书通过各种概念、机器学习技术和各种机器学习工具的介绍,为用户提供了一种直观理解,这些工具可以帮助用户将诸如图像和运动检测、贝叶斯直觉、深度学习和信念等智能功能添加到 C# .NET 应用程序中。
C# 面向对象编程实用指南(一)
面向对象编程(OOP)是围绕对象而不是动作组织的编程范式,围绕数据而不是逻辑。随着 C#的最新版本发布,有许多新的增强功能改进了 OOP。本书旨在以引人入胜和互动的方式教授 C#中的 OOP。阅读本书后,您将了解 OOP 的四大支柱,即封装、继承、抽象和多态,并能够利用 C# 8.0 的最新功能,如可空引用类型和异步流。然后,您将探索 OOP 中的各种设计模式、原则和最佳实践。随着现代编程实践的引入,显然开发人员正在寻找更先进的构造,以帮助他们以最有效的方式交付最佳软件。
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章