发送什么消息可以关掉IE, 资源管理器

incats 2004-06-25 02:25:01
不是所有的程序都响应WM_CLOSE消息的, 比如IE, 那么程序里有没有办法关掉IE窗口呢?
...全文
169 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
incats 2004-07-05
  • 打赏
  • 举报
回复
to anuo008(小艾) :
用FindWindowEx是没错, 但不该按窗口标题来查找.按类名:IEFrame来查.
gracezhu 2004-07-05
  • 打赏
  • 举报
回复
try this code
//针对所有子窗口执行CloseEnumProc
EnumChildWindows (hwndClient, CloseEnumProc, 0) ;
return 0 ;
枚举函数:BOOL CALLBACK CloseEnumProc (HWND hwnd, LPARAM lParam)
{
if (GetWindow (hwnd, GW_OWNER)) // Check for icon title
return TRUE ;

SendMessage (GetParent (hwnd), WM_MDIRESTORE, (WPARAM) hwnd, 0) ;

if (!SendMessage (hwnd, WM_QUERYENDSESSION, 0, 0))
return TRUE ;

SendMessage (GetParent (hwnd), WM_MDIDESTROY, (WPARAM) hwnd, 0) ;
return TRUE ;
}
anuo008 2004-07-05
  • 打赏
  • 举报
回复
我不想查找进程进行关闭,有没有更好的方法!!谢了
ablewindy 2004-07-01
  • 打赏
  • 举报
回复
有没有试我上面的方法啊!
我试过!绝对没问题啦!
anuo008 2004-06-30
  • 打赏
  • 举报
回复
找到一个IE的Hwnd可以关闭它,但是我想关闭所有打开的IE怎么办啊!!谢谢
anuo008 2004-06-30
  • 打赏
  • 举报
回复
对不起,没说没白,我想关闭所有打开的IE游览器,怎么办啊!! incats(胖无极)
anuo008 2004-06-30
  • 打赏
  • 举报
回复
不好使啊,我之前也是用
HWND hWnd=FindWindowEx(NULL, NULL, NULL, "Microsoft Internet Explorer");
::SendMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
关闭不了游览气啊!!
忠向 2004-06-25
  • 打赏
  • 举报
回复
问题解决了吧!
tgb 2004-06-25
  • 打赏
  • 举报
回复
: incats(胖无极) ( ) 信誉:100 2004-06-25 16:11:00 得分: 0


奇怪, 我已经说了解决方法了啊:
SendMessage(hWndIE, WM_SYSCOMMAND, SC_CLOSE, 0)


===========================
你这个相当于点击了右上角的【X】
incats 2004-06-25
  • 打赏
  • 举报
回复
奇怪, 我已经说了解决方法了啊:
SendMessage(hWndIE, WM_SYSCOMMAND, SC_CLOSE, 0)
anuo008 2004-06-25
  • 打赏
  • 举报
回复
我昨天也在做IE的关闭,没有找到好方法,关注搂住,WM_CLOSE不好使,即使好使,他在队列中,考虑到关闭的即时性,不建议使用,呵呵
incats 2004-06-25
  • 打赏
  • 举报
回复
对说用WM_CLOSE的人, 请您最好测试一下,然后再发表意见. 我不是什么坏的意思. 只是担心某天您突然有这个需求时, 目前的这种想当然的方法会耽误您的时间上安排. 其它方面也一样, 我们不可能面面俱到,但至少可以稍微留心一下. 前面已经强调WM_CLOSE消息不起作用了.
lixiaosan 2004-06-25
  • 打赏
  • 举报
回复
conime.exe(Console IME)IME控制台
输入法编辑器(IME)是一个程序,这个程序允许计算机用户使用标准键盘就能输入复杂的字符与符号。
Kudeet 2004-06-25
  • 打赏
  • 举报
回复
消息用WM_CLOSE就可以了,关键是发送消息的时候要得到目标窗口的句柄。
CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //找到资源管理器
HWND hwnd = pwnd->m_hwnd; //得到它的HWND
windyloft 2004-06-25
  • 打赏
  • 举报
回复
WM_CLOSE
ablewindy 2004-06-25
  • 打赏
  • 举报
回复
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//杀死其它进程
#include <tlhelp32.h>

//关闭exefile指定的进程
void YourClass::ClearProcessByName(CString exefile)
{
exefile.MakeLower();
DWORD dwProcessID;
CList<DWORD,DWORD> m_jcList;
m_jcList.RemoveAll();

HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

PROCESSENTRY32* info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);

if(Process32First(handle,info))
{
if(GetLastError()==ERROR_NO_MORE_FILES )
{
TRACE("No More Process!\n");
}
else
{
CString str;

while(Process32Next(handle,info)!=FALSE)
{
str=info->szExeFile;
str.MakeLower();
if(!exefile.IsEmpty())
{
if(str==exefile)
{
m_jcList.AddHead(info->th32ProcessID);
}
}
}
}
}
delete info;
CloseHandle(handle);

POSITION pos=m_jcList.GetHeadPosition();
while (pos)
{
dwProcessID=m_jcList.GetAt(pos);
HANDLE h=OpenProcess(PROCESS_ALL_ACCESS,TRUE,dwProcessID);
if(h!=NULL)
{
BOOL suc=TerminateProcess(h,0);
if (suc)
{
TRACE("Kill Process Success!\n");
}
m_jcList.GetNext(pos);
}
}
}

void YourClass::OnButtonCloseIe()
{
//你可以像以下方法使用此函数杀掉指定进程
ClearProcessByName("IEXPLORE.EXE");//关闭IE,Kill IEXPLORE.EXE;
}
勇敢的大树 2004-06-25
  • 打赏
  • 举报
回复
WM_QUIT
incats 2004-06-25
  • 打赏
  • 举报
回复
试了一个办法可行:
SendMessage(hWndIE, WM_SYSCOMMAND, SC_CLOSE, 0)
pomelowu 2004-06-25
  • 打赏
  • 举报
回复
//激活并打开IE
void lounchIE()
{
HWND h=FindWindowEx(NULL,NULL,NULL,
"Microsoft Internet Explorer") ;
ShellExecute(h,"open","C:\\simple.html",
NULL,NULL,SW_SHOWNORMAL);

}

//关闭IE及其它应用
void CloseIE()
{
int app=BSM_APPLICATIONS;
unsigned long bsm_app=(unsigned long )app;
BroadcastSystemMessage(BSF_POSTMESSAGE,&bsm_app,
WM_CLOSE,NULL,NULL);
}

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧