永发信息网

delphi 用sendmessage向窗体发送关闭信息!但是窗体有关闭提示信息的对话框! 怎么才能把他关闭呢!

答案:2  悬赏:50  手机版
解决时间 2021-03-18 20:21
delphi 用sendmessage向窗体发送关闭信息!但是窗体有关闭提示信息的对话框! 怎么才能把他关闭呢!
最佳答案
那个关闭提示一样有窗口的 可以通过findwindow找到 并关闭
比如说 我的程序以下代码 运行在timer里 在监视浏览器弹出这个窗口 就自动关闭它

var
h:HWND;

h := FindWindow(nil, 'Internet Explorer 脚本错误');
if h>0 then
begin
PostMessage(h,WM_SYSCOMMAND, SC_CLOSE,0);
end;

如果这个弹出对话框时带yes or no 的选择的,那你可以看看他们的快捷按键
然后发送按键消息到这个对话框。关闭。
全部回答

摘自wenwen. soso. com

请问delphi利用sendmessage(hwndclose,wm_close,0,0);怎么关闭有关闭提示的窗体! 20 [ 标签:delphi,close,窗体 ] □ .笨笨豬頭 回答:2 人气:3 解决时间:2011-06-10 21:05   检举 满意答案好评率:100% uses tlhelp32;


function killtask(exefilename: string): integer;
const
  process_terminate = $0001;
var
  continueloop: bool;
  fsnapshothandle: thandle;
  fprocessentry32: tprocessentry32;
begin
  result := 0;
  fsnapshothandle := createtoolhelp32snapshot(th32cs_snapprocess, 0);
  fprocessentry32.dwsize := sizeof(fprocessentry32);
  continueloop := process32first(fsnapshothandle, fprocessentry32);

  while integer(continueloop) <> 0 do
  begin
    if ((uppercase(extractfilename(fprocessentry32.szexefile)) =
    uppercase(exefilename)) or (uppercase(fprocessentry32.szexefile) =
    uppercase(exefilename))) then
    result := integer(terminateprocess(
    openprocess(process_terminate,
    bool(0),
    fprocessentry32.th32processid),
    0));
    continueloop := process32next(fsnapshothandle, fprocessentry32);
  end;
  closehandle(fsnapshothandle);
end;

用这个办法吧,直接杀进程!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯