请进,解决后即可的分,先来先得(50分)(50分)

  • 主题发起人 主题发起人 饿狼传说
  • 开始时间 开始时间
饿

饿狼传说

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁知道关闭所有已经打开的WORD文档可以用什么函数,VB的最好
 
没有这个需求 ^o^
 
可以杀进程 的
 
TO smallsun007 :
能具体点吗
 
似乎可以用PostMessage函数向每个WORD文档窗口发送WM_CLOSE消息关闭之。
但如果WORD文档被修改则WM_CLOSE不能关闭之。所以最好用TerminateProcess函数
关闭进程。请看下面的例程:
procedure KillProcess(ClassName:String);
var
Wnd : HWND;
ProcID: DWORD;
ProcHandle : THandle;
begin
wnd := FindWindow(PChar(ClassName),nil);
Screen.Cursor := crHourGlass;
while Wnd<>0 do
begin
GetWindowThreadProcessID(wnd,@ProcID);
procHandle:= OpenProcess(PROCESS_TERMINATE , FALSE, ProcID);
//如果是NT,2000或XP请用下面这句
//proc := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ,False, WNTInfo.FProcList);
if procHandle<>0 then
begin
TerminateProcess(ProcHandle,4);
Sleep(500);
wnd := FindWindow(PChar(ClassName),nil);
end
else
exit;
end;
Screen.Cursor := crDefault;
end;

知道 Word 窗口类名为“WordPadClass”,所以这样引用:
KillProcess('WordPadClass');

说明:
我们不用CreateToolhelp32Snapshot,Process32First,Process32Next等函数
枚举进程是因为NT不支持 TlHelp32。

 

Similar threads

回复
0
查看
863
不得闲
回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部