neXus: kill winword

Wie kann ich offene word dokumente durch einen befehl schließen??
zb. ím comandfenster..??

mfg neXus

  1. Hallo neXus.

    Wie kann ich offene word dokumente durch einen befehl schließen??
    zb. ím comandfenster..??

    Es gäbe die Möglichkeit, den Prozess „winword.exe“ mit einem Tool (kill.exe z. B.) zu beenden, doch das Problem hierbei ist, dass alle Dokumente im Prozess „winword.exe“ gesammelt werden, also nicht getrennt erreichbar sind.

    Einen schönen Dienstag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. gudn tach!

      Wie kann ich offene word dokumente durch einen befehl schließen??
      zb. ím comandfenster..??

      Es gäbe die Möglichkeit, den Prozess „winword.exe“ mit einem Tool (kill.exe z. B.) zu beenden, doch das Problem hierbei ist, dass alle Dokumente im Prozess „winword.exe“ gesammelt werden, also nicht getrennt erreichbar sind.

      falls also nur ein bestimmtes von mehreren offenen dokumenten geschlossen werden soll, kannst du das auch z.b. ueber ein kleines selbstgeschriebenes prograemmchen bewerkstelligen, welches nach einem bestimmten fensternamen sucht und dieses fenster dann schliesst.

      wenn du ein bissl c++ kannst, dann werden dir die stichzeilen

        
      #include <windows.h>  
      HWND w=FindWindowEx(NULL,NULL,NULL,(LPCTSTR)"winword-fenstername");  
      PostMessage(w, WM_CLOSE, 0, 0); // oder starker WM_QUIT  
      
      

      vielleicht weiterhalten.

      ich selbst habe kein ms-word und habe den code auch nicht ausprobiert, aber ich denke, dass mit diesem oder einem aehnlichen code ein beliebiges fenster geschlossen werden sollte.
      ueber google wirst du da sicher schnell noch mehr infos zu finden.

      prost
      seth

      1. Hey das ist klasse das funktioniert ja =)

        Aberkann ich den fensternamen auch variabl machen?
        wenn ja wie muss das ausschaun, weil wenn ich einfach die variable statt den string selbst bekomm ich einen fehler..

        mfg neXus

        1. Hallo neXus

          Hey das ist klasse das funktioniert ja =)

          Aberkann ich den fensternamen auch variabl machen?

          Als Kommandozeilentool über Aufrufparameter, wenn Du eine grafische Oberfläche haben willst, über ein Eingabefeld. Übergabe des Parameters an die Funktion.

          Selbstverständlich solltest Du die Eingabe überprüfen, ...

          Freundliche Grüße

          Vinzenz

        2. gudn tach neXus!

          Aberkann ich den fensternamen auch variabl machen?

          ja.

          wenn ja wie muss das ausschaun, weil wenn ich einfach die variable statt den string selbst bekomm ich einen fehler..

          anstelle der funktion int main(int arg, char *argv[], char *envp[]) erstellst du die funktion
          int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

          lpCmdLine ist dabei der aufrufstring (ohne den programmnamen selbst). jenen kannst du verwenden, um z.b. einen fensternamen zu uebergeben.

          prost
          seth