Avatar billede delphin Nybegynder
10. august 2005 - 17:19 Der er 6 kommentarer og
1 løsning

Lukke et vindue i et eksternt program

Hvordan lukker man et vindue i fx acrobat fra delphi?

Følgende kode lukker hele programmet, men jeg vil kun lukke et bestemt vindue/fil i acrobat mens der godt kan være andre vinduer åbne.

h := FindWindow(nil, 'Adobe Acrobat Professional - [test.pdf]');
if h <> 0 then PostMessage(h, WM_CLOSE, 0, 0);
Avatar billede stone Forsker
10. august 2005 - 18:08 #1
hmm hvad hvis din close gik efter caption på det vindue som skal lukkes, har ikke lige et kodeeksempel.....
Avatar billede delphin Nybegynder
10. august 2005 - 19:30 #2
ja - men det gør den faktisk allerede?!? - eller hvad? - jeg har jo angivet filnavn: [test.pdf] - dvs. præcis den fil/vindue jeg vil afslutte, men alligevel lukker hele programmet...
Avatar billede borrisholt Novice
10. august 2005 - 22:05 #3
Det er fordi det er hoved vinduet du finder handlet til. Når det lukkes lukkes hele programmet naturligvis .. Du skal grave handlet frem til dit MDI child der viser selve din pdf fil.

Jens B
Avatar billede delphin Nybegynder
11. august 2005 - 13:12 #4
ja... nu lykkes det (måske ikke så kønt, men det virker):

bare hvis nogle er interesseret:

function EnumProc(wnd: HWND; Lines: TStrings): BOOL; stdcall;
var
  buf, Caption: array[0..255] of char;

begin
  Result := True;
  GetClassName(wnd, buf, SizeOf(buf) - 1);
  SendMessage(wnd, WM_GETTEXT, 256, Integer(@Caption));
  if pdffile=Caption then if wnd <> 0 then PostMessage(Wnd, WM_CLOSE, 0, 0);
end;

....
  MainWindow:=FindWindow('AdobeAcrobat',nil);
  if MainWindow <> 0 then EnumChildWindows(MainWindow, @EnumProc, 0);
Avatar billede delphin Nybegynder
11. august 2005 - 13:15 #5
eller noget i den stil - tak for kommentarene :-)
Avatar billede pigbear Nybegynder
15. august 2005 - 14:42 #6
Undskyld jeg blander mig lidt.. Hm..intressant funktion.., er det muligt at få funktionen at trykke på ok istedet for at lukke vinduet, og evt. skrive en tekst i caption på vinduet ?

PigBear
Avatar billede borrisholt Novice
15. august 2005 - 14:57 #7
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