Avatar billede fatter_keine Nybegynder
21. juni 2004 - 00:49 Der er 13 kommentarer og
1 løsning

Luk applikation

Kan man kode en kodestump der virker som en Opendialog.execute, men som kan vælge applikationer som kører på computeren p.t. ?

Altså så den kan gemme navnet på en udvalgt applikation

Efterfølgende skal den valgt applikation kunne lukkes af delphi applikationen...
Avatar billede dkn Nybegynder
21. juni 2004 - 11:48 #1
det kan man godt ja
Avatar billede dl Nybegynder
21. juni 2004 - 13:52 #2
Jeg mener jeg har nogle kode stumper, til at hente alle programmer som køre ... en et andet eksempel til at lukke et valgt program.

Skrive din mail adr. og jeg sende det.
//dl
Avatar billede fatter_keine Nybegynder
28. juni 2004 - 20:15 #3
fatter_keine@dumazz.dk
Avatar billede dl Nybegynder
28. juni 2004 - 20:59 #4
er sendt.
//dl
Avatar billede dl Nybegynder
04. juli 2004 - 20:04 #5
øhh>  hvem fik point ?
//dl
Avatar billede lanstorp Nybegynder
11. august 2004 - 10:43 #6
>>dl, Kan du ikke lægge dine kodestumper her istedte.
Avatar billede dl Nybegynder
11. august 2004 - 17:07 #7
Denne kode: finder alle programmer som køre på din pc, ligt ligesom  Taskbaren.

program StopProcess;
{$APPTYPE CONSOLE}
uses
  Windows,Messages,SysUtils;

function EnumWindowsProc(WHandle: HWND; LParM: LParam): Boolean; StdCall
Export;
var
  Title, ClassName: array[0..128] of char;
  sTitle , sClass : STRING ;
begin
  Result := TRUE ;
  GetWindowText(WHandle, Title, 128);
  GetClassName(WHandle, ClassName, 128);
  sTitle := Title ;
  sClass := ClassName ;
  IF ParamCount > 0 THEN BEGIN
      Result := UpperCase(sClass) = UpperCase(ParamStr(1));
      IF ParamCount > 1 THEN
        Result := Result AND ( UpperCase(sTitle) = UpperCase(ParamStr(2)));
      Result := NOT Result ;
      IF NOT Result THEN
        PostMessage(WHandle,WM_Close,0,0);
  END ELSE
      WRITELN(sClass , '/' , sTitle,' Handle = ',WHandle );
end;

begin
  EnumWindows(@EnumWindowsProc, $0);
end.
Avatar billede dl Nybegynder
11. august 2004 - 17:08 #8
og denne kode, kan lukke lukke en application.

procedure TForm1.btnFindWindowClick(Sender: TObject);
var
  FoundHwnd: THandle;
  bfr: array[0..255] of Char;
begin
  FoundHwnd := FindWindow(nil, PChar(txtWindowTitle.Text));
  if FoundHwnd <> 0 then
  begin
    lblWindowHandle.Caption := IntToStr(FoundHwnd);
    lblWindowHandle.Tag := FoundHwnd;
    FillChar(bfr, 256, 0);
    GetClassName(FoundHwnd, bfr, 255);
    lblWindowClass.Caption := bfr;
  end
  else
  begin
    lblWindowHandle.Caption := '';
    lblWindowHandle.Tag := 0;
    lblWindowClass.Caption := '';
  end;
end;

procedure TForm1.btnCloseFOundWindowClick(Sender: TObject);
begin
  if lblWindowHandle.Caption <> '' then
    SendMessage(lblWindowHandle.Tag, WM_CLOSE, 0, 0);
end;
Avatar billede dl Nybegynder
11. august 2004 - 17:09 #9
Og så må du lige selv rette det lidt til.
//dl
Avatar billede dl Nybegynder
11. august 2004 - 17:09 #10
øhh>  hvem fik point ?
//dl
Avatar billede lanstorp Nybegynder
11. august 2004 - 22:54 #11
>>dl, det ser ud til at du fik 100 point den 28/06-2004 20:59:33.
Avatar billede dl Nybegynder
12. august 2004 - 07:12 #12
Hvor ser i det ?

ps. takker for dem. ;)
Avatar billede lanstorp Nybegynder
12. august 2004 - 09:04 #13
I venstre kolonne, nr. fire fra toppen. Du har også i sin tid fået en mail.

Accepteret svar: dl
28/06-2004 20:59:33
Point: 100,00

= der hvor du har skrevet:
er sendt.
//dl
Avatar billede dl Nybegynder
12. august 2004 - 12:56 #14
det har jeg ikke noget af... men jeg er så heller ikke betalingsbruger herinde.

//dl
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