比如说,我的程序用 FindWindow 找到一个正在运行的窗口(非自身程序的,有可能是写字板、Word等),我需要拦截下对该窗口的关闭,让这个窗口无法关闭,只能由我的程序来控制它关闭?谢谢!
解决方案 »
- 有【请】:yanexp(啊福) ,lsftest(), thirdapple(.:RNPA:.陨落雕 - O(1)的未来) 来这领分!
- mscomm 串口通信 com1口,如何检测计算机是否连接了modemo 急啦!!在线
- SQL查詢Access數據庫,怎樣Format日期時間
- 谁用过REAL PRODUCER控件?如何知道文件的压缩进度?(本贴UP有分)
- VBA:在word文档中搜索单词“审稿人”,将光标移到它后面,插入图片?怎么实现!!!
- 散分!如何改变位图的大小(分不够可再加,在线等待)
- 并口打印问题解决,送分!请wzsswz(岌岌荆棘) 进来拿分!
- 如何把标准的方形按扭简单地变成漂亮的圆形按扭?
- VB 错误的文件名或号码
- 各位大虾,谁听说过在一台机器上插4块声卡,然后编一个程序让他们同时发不同的声音?能实现吗?请赐教,谢了。
- 谁有VB MSDN中文版的下载地址???
- 如何加快搜索内存地址数据速度
做捕捉键盘、鼠标的我知道,做捕捉窗口关闭的,应该怎样?谢谢!有能具体一点的资料和例子吗?
=============================
正常手段是无法创建,但有方法创建呀! 如果只是这个原因的话,完全可以用VB来做了! 请问高手还有没有其它原因,一定要用其它工具? 谢谢
基本上没什么差别,只是钩子不同而已,捕捉消息的话,用WH_GetMessage
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400&
Const MF_REMOVE = &H1000&Dim hSysMenu As Long
Dim nCnt As Long
hSysMenu = GetSystemMenu(句柄, False)
If hSysMenu Then
nCnt = GetMenuItemCount(hSysMenu)
If nCnt Then
RemoveMenu hSysMenu, nCnt - 1, MF_BYPOSITION Or MF_REMOVE
RemoveMenu hSysMenu, nCnt - 2, MF_BYPOSITION Or MF_REMOVE
DrawMenuBar 句柄
End If
End If
但不能阻止程序自带的关闭功能和Alt-F4等等方式的关闭.