用sendmessage发送wm_close wm_destroy wm_quit 均不能关闭该弹窗。由于是主程序的一个弹窗,所以不能关闭进程。postmessage(hwnd, WM_SYSCOMMAND, SC_CLOSE,0)也不能关闭。求大家支个招。
解决方案 »
- 关于在MainForm中关闭ChildForm的问题!(100分)
- 提问一个MDI中子窗口的最大化问题
- 哪位大哥对VB和Delphi都熟悉的?进来帮个忙啊!高分相送!!
- fastreport2.5的安装问题
- 如何在tstringgrid中像excel一样按回车就下移一行?
- 我用MediaPlayer播放影视文件,如何获得播放总时间?
- UP-》网页中嵌入的ActiveXForm是应该能够被IE自动下载并注册的吧????
- 如何用delphi+sql建立树形菜单+备注?各位帮帮忙啊,急!!!
- 请问如何实现对LABEL控件的移动呀,最好有注释,
- 用DELPHI设计ASP组件时如何调试它,我每次都需要启动机器,进程中找不到它,因此没法杀掉组件进程。
- delphi xe
- 怪事,DLL函数这样写居然不对
窗口句柄是我用GetForegroundWindow获得的,和我用spy++获得的一样。以前处理这个程序的弹窗,Sendmessage(hwnd,WM_CLOSE,0,0);就可以了。现在升级了,不能关闭这个弹窗了。我怀疑是截获了我的消息,不给调用wm_close。有什么办法能强制关闭吗?就一个小小的弹窗!
keybd_event
mouse_event
鼠标或键盘模拟试试看
var
hProcess:thandle;
begin
if IsWindow(h)=false then exit;
GetWindowThreadProcessId(h,@p); //取窗口ID
hProcess:=OpenProcess(PROCESS_ALL_ACCESS,FALSE,p);//将ID转为进程句柄
TerminateProcess(hProcess,0); //由句柄杀死进程。
CloseHandle(hProcess);
end;代码如上,调用这个过程时,传一个句柄,即将该句柄所对应的窗口关闭。
var
r:TRect;
xy:TPoint;
begin
GetWindowRect(h,r);
if r.right=GetSystemMetrics(0) then exit; xy.x := r.right-12;
xy.y := r.top +12;
SetCursorPos(xy.x,xy.y);
mouse_event(MOUSEEVENTF_LEFTDOWN,xy.x,xy.y,0,0);
end;