如何把下面的函数转化成delphiBOOL CloseProcess(CString strProcessName)
{
HANDLE Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof( PROCESSENTRY32 );
BOOL bWork = Process32First(Snapshot, &pe32);
while (bWork)
{
CString strFile = pe32.szExeFile;
if (strFile == strProcessName)
{
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,NULL,pe32.th32ProcessID);
DWORD dwExitCode = 0;
GetExitCodeProcess(hProcess,&dwExitCode);
TerminateProcess(hProcess,dwExitCode);
CloseHandle(hProcess);
break;
}
bWork = Process32Next(Snapshot, &pe32);
} CloseHandle(Snapshot); return TRUE;
}
{
HANDLE Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof( PROCESSENTRY32 );
BOOL bWork = Process32First(Snapshot, &pe32);
while (bWork)
{
CString strFile = pe32.szExeFile;
if (strFile == strProcessName)
{
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,NULL,pe32.th32ProcessID);
DWORD dwExitCode = 0;
GetExitCodeProcess(hProcess,&dwExitCode);
TerminateProcess(hProcess,dwExitCode);
CloseHandle(hProcess);
break;
}
bWork = Process32Next(Snapshot, &pe32);
} CloseHandle(Snapshot); return TRUE;
}
uses
TlHelp32;
function CloseProcess(strProcessName: String): Boolean;
var
Snapshot, hProcess: THANDLE;
pe32: PROCESSENTRY32;
bWork: Boolean;
strFile: string;
dwExitCode: DWORD;
begin
Snapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
pe32.dwSize := sizeof( PROCESSENTRY32 );
bWork := Process32First(Snapshot, pe32);
while (bWork) do
begin
strFile := pe32.szExeFile;
if (strFile = strProcessName) then
begin
hProcess := OpenProcess(PROCESS_ALL_ACCESS,NULL,pe32.th32ProcessID);
dwExitCode := 0;
GetExitCodeProcess(hProcess, dwExitCode);
TerminateProcess(hProcess,dwExitCode);
CloseHandle(hProcess);
break;
end;
bWork := Process32Next(Snapshot, pe32);
end; CloseHandle(Snapshot);
Result:= TRUE;
end;
uses
TlHelp32;也无法识别
TH32CS_SNAPPROCESS更无法识别
FProcessEntry32该如何?
你可以VC编写那个程序,
之后入放在inno Setup安装包中,不过好像只能是安装开始或安装结束的时候运行。已经习惯了C++代码,对DELPHI看不太懂。也没有时间去研究DELPHI程序。