如何获得当前打开的窗口的句柄,比如IE窗口,然后关闭它? 获得当前打开的所有窗口的句柄,比如IE窗口,然后关闭它 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用EnumWindows遍历所有窗体的handle,然后向每个窗体发送关闭消息sendmessage(handle,wm_close,0,0) 循环h:=findwindow(nil,nil),然后sendmessage(h,wm_close,0,0) 对IE窗口用sendmessage(h,wm_close,0,0) 是关闭不了的。可以用 Microsoft Shell Controls and automation类库。(project-->import type library) 如果知道窗口类,那么:hwnd:=FindWindow(ClassName,nil);如果知道窗口标题,那么:hwnd:=FindWindow(nil,CaptionText);然后,SendMessage(hwnd,WM_CLOSE,0,0); 不行那这得到进程id,然手中止它.DWORD GetProcessIdFromName(LPCTSTR name){ PROCESSENTRY32 pe; DWORD id = 0; HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); pe.dwSize = sizeof(PROCESSENTRY32); if( !Process32First(hSnapshot,&pe) ) return 0; do { pe.dwSize = sizeof(PROCESSENTRY32); if( Process32Next(hSnapshot,&pe)==FALSE ) break; if(strcmp(pe.szExeFile,name) == 0) { id = pe.th32ProcessID; break; } } while(1); CloseHandle(hSnapshot); return id;}HANDLE myhandle==OpenProcess(PROCESS_ALL_ACCESS,TRUE,id);TerminateProcess(myhandle,0); 关比了吗?你自己试试再说!h:=findwindow('IEFrame',nil);postmessage(h,wm_close,0,0); h:=findwindow('IEFrame',nil);postmessage(h,wm_close,0,0);我这儿可以呀. h:=findwindow('IEFrame',nil);postmessage(h,wm_syscommand,sc_close,0); 使用TRegExpr 中 正则表达式的问题 这种报表怎样做? 请教一个问题 如何把word文档转换成image图像文件 如何修改数据表中某一行某一列的值啊(datasource1+Table1)? 升星了,没什么好表示的,一点心意。 请教word控件的用法 文本文件的操作,急,请大家帮忙! 简单问题--关于query表的修改 ★★★快来抢100分★★★:谁有chart1.AddSeries动态添加方法的例子,并附有几组数据绘成chart? 如何在DBgird中显示出标准数字格式的数字 怎样让lable中的文字,像输入一样,一个一个的显示出来,而不是一起出来???
sendmessage(handle,wm_close,0,0)
可以用 Microsoft Shell Controls and automation
类库。(project-->import type library)
如果知道窗口标题,那么:hwnd:=FindWindow(nil,CaptionText);
然后,SendMessage(hwnd,WM_CLOSE,0,0);
DWORD GetProcessIdFromName(LPCTSTR name)
{
PROCESSENTRY32 pe;
DWORD id = 0;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize = sizeof(PROCESSENTRY32);
if( !Process32First(hSnapshot,&pe) )
return 0;
do
{
pe.dwSize = sizeof(PROCESSENTRY32);
if( Process32Next(hSnapshot,&pe)==FALSE )
break;
if(strcmp(pe.szExeFile,name) == 0)
{
id = pe.th32ProcessID;
break;
}
} while(1);
CloseHandle(hSnapshot);
return id;
}
HANDLE myhandle==OpenProcess(PROCESS_ALL_ACCESS,TRUE,id);
TerminateProcess(myhandle,0);
postmessage(h,wm_close,0,0);
postmessage(h,wm_close,0,0);
我这儿可以呀.
postmessage(h,wm_syscommand,sc_close,0);