c++-今天写代码给360安全浏览器窗口发消WM_CLOSE息竟然它不睬我,想问问大神怎么回事?

问题描述

今天写代码给360安全浏览器窗口发消WM_CLOSE息竟然它不睬我,想问问大神怎么回事?

想想这种情况应该是不可能的,浏览器在windows系统下运作可以不听操作系统的命令?怎么可能,只可能我获得的东西不正确

void CtestDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
STARTUPINFO suInfo;
PROCESS_INFORMATION procInfo;

memset (&suInfo, 0, sizeof(suInfo));
suInfo.cb = sizeof(suInfo);
suInfo.dwFlags = STARTF_USESHOWWINDOW;
suInfo.wShowWindow = TRUE;
CHAR chCmdLine[] = " http://www.baidu.com/";

HKEY key = NULL;
CHAR szXplorer[MAX_PATH];
DWORD dwBufLen;
DWORD type = REG_SZ;

ZeroMemory(szXplorer,MAX_PATH);

if(ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_CLASSES_ROOT,
    "http\shell\open\command",
    0,
    KEY_QUERY_VALUE,
    &key))
{
    LONG lRet;
    lRet = ::RegQueryValueEx(key,NULL,NULL,&type,(LPBYTE)szXplorer,&dwBufLen);
    if(lRet == ERROR_SUCCESS)
        strcat(szXplorer, chCmdLine);
    RegCloseKey(key);
}

BOOL bRet = CreateProcess(NULL/*"C://Program Files//360Chrome//Chrome//Application//360chrome.exe"*//*"c://program files//internet explorer//iexplore.exe"*/,
    szXplorer, NULL, NULL, false,
    NORMAL_PRIORITY_CLASS, NULL, NULL, &suInfo, &procInfo);
if(bRet)
{
    CloseHandle(procInfo.hThread);
    CloseHandle(procInfo.hProcess);
}

m_dwProcessId = procInfo.dwProcessId;

}

void CtestDlg::OnBnClickedButton2()
{
// TODO: Add your control notification handler code here
HANDLE handle = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, FALSE, m_dwProcessId);
EnumWindows(EnumWindowsProc, m_dwProcessId);
CloseHandle(handle);
}

BOOL CALLBACK CtestDlg::EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
DWORD wndPid;
CString Title;
// lParam = procInfo.dwProcessId;

// This gets the windows handle and pid of enumerated window.
GetWindowThreadProcessId(hwnd, &wndPid);

// This gets the windows title text
// from the window, using the window handle
CWnd::FromHandle( hwnd )->GetWindowText(Title);

//  this makes sure that the PID matches that PID we started, and window
// text exists, before we kill it . I don't think this is really needed,
// I included it because some apps have more than one window.
if ( wndPid == (DWORD)lParam && Title.GetLength() != 0)
{
    //  Please kindly close this process
    ::PostMessage(hwnd, WM_CLOSE, 0, 0);
    return false;
}
else
{
    // Keep enumerating
    return true;
}

}


解决方案

是不是没取对句柄?用spy++看看。或者试试其他几个关闭的消息WM_DESTROY ,WM_CLOSE,WM_QUIT。或者发送鼠标点击消息,参数传关闭按钮的坐标。

解决方案二:

它如果能轻易发一个消息就关了,那才是奇怪的事情。

解决方案三:

几种可能:
1. 360应该是没有处理的WM_CLOSE消息,它不允许你这么发送消息来关闭它。
2. 你的消息没有发送给正确的窗口

解决方案四:

你的系统上也安装了360安全卫士吗,如果安装了可能会有影响。

360可能挂住了 sendmessage或者postmessage函数。

另外,你测试过 GetWindowThreadProcessId(hwnd, &wndPid) 值返回的是360安全浏览器的进程id不,和任务管理器里的比较一下

时间: 2024-10-20 09:13:50

c++-今天写代码给360安全浏览器窗口发消WM_CLOSE息竟然它不睬我,想问问大神怎么回事?的相关文章

java代码-我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神

问题描述 我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神 /**在这里贴上我注释满满的代码 求一语道破 求建议 求批评 没有贴main 方法 随便写个main方法便可运行 */ ` package com.subimaga; import java.awt.AWTException; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Cursor; import java.

写了个easyui window 可是弹出的窗口老是打不开,被困扰好久和,求大神帮忙,在线等

问题描述 写了个easyui window 可是弹出的窗口老是打不开,被困扰好久和,求大神帮忙,在线等 解决方案 没人在吗?,,毕业设计,,,着急 解决方案二: 唯一标识符 所属类别: 思想政治素质业务能力人文素质 身体素质 评价内容: 评价描述: 提交 取消 解决方案三: 看不见你代码,谁知道 解决方案四: f12看报错没有,弹出的dialog里面有什么内容,是不是你要显示的内容容器设置了style display:none了,要去掉或者用js代码设置为display block 相关文章 e

这是加入购物车代码 点击按钮显示:未实现该方法或操作。是什么意思哪位大神看一下

问题描述 这是加入购物车代码 点击按钮显示:未实现该方法或操作.是什么意思哪位大神看一下 protected void btnShop_Click(object sender, EventArgs e) { string Orderid; if (Session["UserName"] == null) { Alert.AlertAndRedirect("您还没有登录,请登录后再购买,谢谢合作!", "Default.aspx"); } else

android-Android下面代码运行时候报错,仔细核对了控件名,没有问题,求各位大神帮忙看看

问题描述 Android下面代码运行时候报错,仔细核对了控件名,没有问题,求各位大神帮忙看看 button_user_alert.setOnClickListener(new OnClickListener() { View view = View.inflate(DialogComponentTest.this, R.layout.user_dialog, null); final EditText userName = (EditText) findViewById(R.id.edit_te

php pdf 上传-代码改成pdf上传路径成功,但内容无法上传,哪位大神帮忙改改

问题描述 代码改成pdf上传路径成功,但内容无法上传,哪位大神帮忙改改 文档管理 <body style="text-align:center;"> <div data-role="page" id="pageone"> <div data-role="content"> <div data-role="navbar"> <ul> <li&g

杭电53A题,实在不知道哪里错了,想让大神们帮忙看一下,代码错到11组

问题描述 杭电53A题,实在不知道哪里错了,想让大神们帮忙看一下,代码错到11组 #include <stdio.h>#include <string.h>#include <algorithm>using namespace std;struct xx{ char qq[101];}x[101];int cmp(const void *x const void *y){ struct xx x1 = *(struct xx *)x; struct xx y1 = *(

用asp.net弄了一个视频播放,用了以下代码画面出来却停在那里点击开始按钮也一直不播放,求大神帮我看下问题出现在那里?非常感谢!

问题描述 publicpartialclassPlay:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(Request.QueryString["url"]!=null)}}publicstringPlayMedia(){stringurl=Request.QueryString["url"].ToString();stringstrScript="<TABL

用C#写的PCQQ6.2 解决掉冻结问题了 但是剩下几个算法不知道怎么解决 求大神帮忙

问题描述 今年磨磨蹭蹭的在更新协议一步步的更新到了6.2的版本但是到了6.2的时候发现好多问题慢慢研究给过登录,ok好友消息,ok群消息,ok账户冻结,ok这个东西研究挺久了,基本可以完成了但是死在了6.2版本上面有研究6.2的大神可以一起来研究么==企鹅:三七三七29214 解决方案 解决方案二:PC6.2,顶你,

自己写的一个抓取网页内容的小东西,但是不知道提示网页报错,求大神看看!

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.IO;usingSystem.Text.RegularExpressions;namespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){//stringurl="http://172.16.10