Zum Inhalt springen

Empfohlene Beiträge

Geschrieben
Original geschrieben von Klotzkopp

Wie öffnest du es denn?

Bei CreateProcess bekommst du ein HANDLE, wenn du die Automatisierungsschnittstelle benutzt, hast du einen Dispatch-Zeiger. Ansonsten: Anwendungsfenster suchen und WM_CLOSE hinschicken.

Ich mache keinen Create Prozess ich starte das Fenster mit dem WinExec API.

Mein Problem ist ich weiss nicht was GENAU ich Programmieren muss um es wieder zu schließen. Ich brauchte dafür ein genaues Beispiel.

Zum Programmieren selbst benutze ich Advantage Plex mit einem C++ Compiler.

Da ich da keinen C++ Code habe kann ich auch keinen Posten.

Geschrieben
Original geschrieben von Welenreiter

Ich brauchte dafür ein genaues Beispiel.

...

Da ich da keinen C++ Code habe kann ich auch keinen Posten.

Das verstehe ich nicht. Was bringt dir ein genaues C++-Beispiel, wenn du gar keinen C++-Code hast?
Geschrieben

Mit folgendem Code versuche ich das Fenster zu schließen

#include <winuser.h>

LRESULT SendMessage(&(1:),"WM_Close",0,0);

es funktioniert aber nicht. Wie kann ich ihm sagen das genau dass von mir geöffnete Word Fenster wieder geschlossen werden soll ?

Geschrieben

Indem du SendMessage als ersten Parameter das Fensterhandle des Word-Fensters übergibst. Das musst du natürlich erst mal mit FindWindow(Ex) rausfinden.

Der zweite Parameter muss WM_CLOSE sein, nicht "WM_Close".

Außerdem sieht das nicht nach einem Aufruf aus.

Geschrieben
Original geschrieben von Klotzkopp

Indem du SendMessage als ersten Parameter das Fensterhandle des Word-Fensters übergibst. Das musst du natürlich erst mal mit FindWindow(Ex) rausfinden.

Wie benutze ich jetzt die FindWindow(ex) Funktion genau ??

Kannst du mir dafür ein kurtzes Code beispiel schicken ?

Geschrieben
Original geschrieben von Welenreiter

Wie benutze ich jetzt die FindWindow(ex) Funktion genau ??

Wenn man sich die Zeitspanne zwischen den Beiträgen ansieht, hast du nicht versucht, dir diese Information selbst zu beschaffen. :(

Kannst du mir dafür ein kurtzes Code beispiel schicken ?
Im Allgemeinen erhöht sich die Hilfsbereitschaft der Anderen, wenn man ein wenig Eigenleistung erkennen lässt. Ich helfe dir gern bei Problemen, aber für so was habe ich keine Zeit.
Geschrieben

Eigentlich is es ganz einfach man muss nur wissen wie:

Finde Handle durch Fensterbeschriftung:


HWND HandleZuWord=FindWindow(0,"Dokument1 - Microsoft Word");

Finde Handle durch Klassenname (z.B. mit Spy++ ermitteln):

HWND HandleZuWord=FindWindow("OpusApp",0);

Beenden kannst du es so

PostMessage(HandleZuWord,WM_CLOSE,0,0);

Oder du killst es:

DWORD ProzessID;

GetWindowThreadProcessId(HandleZuWord,&ProzessID);

HWND HandleZumToeten=OpenProcess(PROCESS_ALL_ACCESS, false, ProzessID);

HandleZumToeten=

TerminateProcess(HandleZumToeten, 0);

CloseHandle(HandleZumToeten);

Falls du noch irgendwelche Fragen hast einfach posten!

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...