Avatar billede sorenriis Nybegynder
21. juli 2005 - 00:09 Der er 3 kommentarer og
1 løsning

Lukke program

Jeg har et program, som via en ShellExecute-kommando starter et andet program. Lad os forestille os at det er notepad.

Når jeg nu har notepad åbent - kan jeg så via en delphi-kommando fra mit eget program lukke notepad ned igen?
Avatar billede stone Forsker
21. juli 2005 - 01:28 #1
du kan bruge et edit felt eller som vist forneden.....du behøver ikke at skrive stien ned til programmet bare programnavnet f.eks notepad.exe.....

function KillTask(ExeFileName: string): Integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  Result := 0;
  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
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;




procedure TForm1.Button1Click(Sender: TObject);
begin
KillTask('notepad.exe');
//KillTask(edit1.Text);
end;
Avatar billede sorenriis Nybegynder
21. juli 2005 - 10:13 #2
Den klager over at
FProcessEntry32: TProcessEntry32;
er en undeclared identifier.

Hvordan løses det?
Avatar billede kroning Nybegynder
21. juli 2005 - 10:41 #3
Du tilføjer TlHelp32 til din uses.
Avatar billede sorenriis Nybegynder
24. juli 2005 - 00:42 #4
Virker perfekt..!
Takker..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester