社区
Delphi
帖子详情
Help!Help!已知一个窗口的句柄HWND,如何强制关闭它?
CKEN
2000-03-09 09:29:00
...全文
1393
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 API中,
窗口
句柄
是
一个
唯一的整数值,用于标识应用程序中的特定
窗口
。它是操作系统用来区分和操作不同
窗口
的关键标识。获取
窗口
句柄
通常可以通过调用FindWindow、CreateWindow或GetDlgItem等函数来完成。 ...
MFC通过对话框
窗口
句柄
获得对话框对象指针
分类: C/C++2013-02-26 ...MFC在很多的对话框操作中,我们经常要用到在
一个
对话框中调用另
一个
对话框的函数或变量.可以用如下方法来解决.
HWND
hWnd
=::FindWindow(NULL,_T("Sphere")); //得到对话框的
句柄
MFC中获取
窗口
句柄
及相关函数
一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和
句柄
获取和操作问题。本文中将针对各类
句柄
的获得、指针的获得以及MFC中常见应用进行阐述并举例。 ...
Windows_10_System_Programming_2,Objects and Handles
可以通过复制
句柄
(duplicating the handle)来实现这些复制操作(these copy operations)(见本章后面的 “共享内核对象”),但这是
一个
非平凡...如果是,那么它就不是
一个
新的对象,而是现有对象的另
一个
句柄
。
揭示win32 api拦截细节
揭示win32 api拦截细节 原文出处:http://www.codeproject.com/system/hooksys.asp 拦截win32 API 调用对于多数windows开发人员来说都一直是很有挑战性的课题,我承认,这也是我感兴趣的
一个
课题。钩子机制就是用一...
Delphi
5,931
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章