| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Externes Programm starten / schließen (9829 mal gelesen)
|
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 18. Jan. 2010 07:57 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen! Ich möchte aus einem VBA - Programm ein externes Programm öffnen und wieder schließen, z.B. "notepad.exe". Öffnen über:
Code:
Dim Ergebnis Ergebnis = Shell("C:\Windows\notepad.exe", vbNormalFocus)
Wie schließ ich das Programm wieder ohne wenn und aber? Es brauch keine Abfrage speichern Ja / Nein erfolgen. Hierzu habe ich zwar Dinge / Infos gefunden, wie:
Code:
Private Declare Function SendMessage Lib "user32" ... ...
Gibt es da nicht etwas kurz und knappes wie z.B
Code:
Ergebnis.Kill 'dieses funktioniert leider nicht
Vielen Dank im voraus. Gruß Dirk
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
   
 Beiträge: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
erstellt am: 18. Jan. 2010 08:43 <-- editieren / zitieren --> Unities abgeben:          Nur für Dirk.B
Hallo Dirk, Probiers mal so: Code: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Const WM_CLOSE = &H10 Public Sub Kill() Dim Ergebnis Ergebnis = Shell("C:\Windows\notepad.exe", vbNormalFocus) Dim WinWnd As Long WinWnd = FindWindow(vbNullString, "Unbenannt - Editor") ''Name in "" muss passen! If WinWnd <> 0 Then PostMessage WinWnd, WM_CLOSE, 0&, 0& Else MsgBox "No window of that name exists." End If End Sub
Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Dirk.B Mitglied Tischler / Leiter Arbeitsvorbereitung
  
 Beiträge: 534 Registriert: 25.11.2003
|
erstellt am: 18. Jan. 2010 10:16 <-- editieren / zitieren --> Unities abgeben:         
|