起步软件技术论坛-X3

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: jianth2005

WordApp 问题【急】

[复制链接]
 楼主| 发表于 2009-10-23 15:19:46 | 显示全部楼层
我是想在用WordApp打开一个Word之前,先遍历一下进程,如果有Word进程就把它关了,如果没有就执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-23 15:24:32 | 显示全部楼层
关于在Delphi中关闭进程的代码
在X3中用不了啊?
该如何转换 ?
回复 支持 反对

使用道具 举报

发表于 2009-10-23 15:34:40 | 显示全部楼层
delphi的代码确实不能直接在x3中使用。你可以翻译一下试试
但是要注意,平台中不支持指针等。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-23 16:18:55 | 显示全部楼层
帮我看看这段Delphi代码如何转换到X3中
-------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
const
   PROCESS_TERMINATE = $0001;
var
   ContinueLoop: boolean;
   FSnapshotHandle: THandle;
   FProcessEntry32: TProcessEntry32;
   ExeFileName:String;
   myResult:integer;
begin
   myResult := 0;
   ExeFileName :='WinWord.exe';
   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
   myResult := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0));
   ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
   end;
   CloseHandle(FSnapshotHandle);
end;
回复 支持 反对

使用道具 举报

发表于 2009-10-23 22:39:23 | 显示全部楼层
上面的代码在delphi6下可以用么?
回复 支持 反对

使用道具 举报

发表于 2009-10-25 12:43:14 | 显示全部楼层
TWordApp.CreateApp在创建进程的时候会先直接获取存在word句柄,没有再生成句柄。在控件里面已经处理了。你还是检查一下外面的环境情况吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 07:11 , Processed in 0.045338 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表