我的程序用了ole服务器,我想用过之后把它清除,但是不知道用什么函数.
解决方案 »
- locate()语句出错
- 关于联通SGIP短信问题,请朋友们多多帮忙
- 如果突破非管理员用户使用注册表时的限制。
- 正在学习DELPHI数据库开发的朋友进来看看,不要错过哦
- 不同字段的两个视图如何连接,高手请进!
- 怪事,我的DELHI现在竟然不能 toggle form/unit了,是否要重新装过?
- 工作方面有经验的人来帮帮我分析一下!我面试了一个公司被录取了!可要签合同!违约金是2万
- 请大家留下QQ联系,多交流DELPHI思想。加我的送一套大商场管理系统源代码?
- 如何创建一个空的WAV文件(100分)?
- 有关LoadPicture函数.
- 在一个form的两个实例记录拖动问题
- 高手请进,关于listview+adoquery 100分
BOOL TerminateThread( HANDLE hThread, // handle to the thread
DWORD dwExitCode // exit code for the thread
);
const
PROCESS_TERMINATE=$0001;
//进程的PROCESS_TERMINATE访问权限
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
result:= 0;
FSnapshotHandle := CreateToolhelp32Snapshot
(TH32CS_SNAPPROCESS, 0);
//获取系统所有进程快照
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
//调用Process32First前用Sizeof(FProcessEntry32)填充FProcessEntry32.dwSize
ContinueLoop := Process32First(FSnapshotHandle,
FProcessEntry32);
//获取快照中第一个进程信息并保存到FProcessEntry32结构体中
while integer(ContinueLoop) <> 0 do
//循环枚举快照中所有进程信息
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile))
=UpperCase(ExeFileName))
or (UpperCase(FProcessEntry32.szExeFile)
=UpperCase(ExeFileName))) then
//找到要中止的进程名
Result := Integer(TerminateProcess(OpenProcess(
PROCESS_TERMINATE, BOOL(0),
FProcessEntry32.th32ProcessID), 0));
//中止进程
ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);
//查找下一个符合条件进程
end;
end;
TerminateThread
不安全,应该用
ExitProcess
ExitThread