Archiv verlassen und diese Seite im Standarddesign anzeigen : VB: Programm schließen
Morgen!
Ich würde gern mit VB ein Programm schließen, allerdings find' ich nur unmengen von stupiden "Close Application by Caption"-Codes... :eyes:
Das Handle des Programms, das geschlossen werden soll, habe ich, nur brauch' ich jetzt nur noch die richtige Funktion dazu ;)
Vielleicht weiß ja jemand von euch was.
-huha
Crushinator
2004-07-16, 02:01:31
Hast Du die ProcessID oder nur ein Windowhandle? Wenn die ProcessID vorliegt, guckst Du bitte hier (http://www.vbarchiv.net/faq/allg_exitprocess.php).
Wenn Du nur ein Windowhandle hast, könnte man's so machen:
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Const WM_CLOSE = &H10
Public Const WM_DESTROY = &H2
Sub CloseWindow(hWnd as Long)
Call SendMessage(hWnd, WM_CLOSE, 0, 0)
' oder aber auch gnadenloses
Call SendMessage(hWnd, WM_DESTROY, 0, 0)
End Sub
:)
Hmm, irgendwie will beides nicht so recht gehen.
Ich zitiere mal, was der API-Guide von allapi.net zur ShellExecute-Funktion meint:
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.
Gut, ich hab jetzt dieses Handle, nur wie beende ich das gestartete bzw. aufgerufene Programm wieder?
Ich steh' gerade auf dem Schlauch... :freak: -- doofes Wetter.
-huha
*push* -- weiß denn wirklich niemand was?!
Ist wichtig!
-huha
Crushinator
2004-07-18, 17:17:26
Ehrlich gesagt bin ich einwenig überrascht, daß es nicht klappt. Kannst Du bitte einwenig vom Source posten? Nicht daß wir komplett aneinander vorbei reden.
zeckensack
2004-07-18, 17:36:23
Versuch's mal mit ExitProcess (http://msdn.microsoft.com/library/en-us/dllproc/base/exitprocess.asp), oder, für die ganz harten, mit TerminateProcess (http://msdn.microsoft.com/library/en-us/dllproc/base/terminateprocess.asp).
Crushinator
2004-07-18, 18:50:05
Original geschrieben von zeckensack
Versuch's mal mit ExitProcess (http://msdn.microsoft.com/library/en-us/dllproc/base/exitprocess.asp), oder, für die ganz harten, mit TerminateProcess (http://msdn.microsoft.com/library/en-us/dllproc/base/terminateprocess.asp).
Das tut er ja - wenn ich das richtig verstanden habe - bereits, weil einer "meiner" Vorschläge TerminateProcess unter VB beschrieb. ;)
Original geschrieben von Crushinator
Hast Du die ProcessID oder nur ein Windowhandle? Wenn die ProcessID vorliegt, guckst Du bitte hier (http://www.vbarchiv.net/faq/allg_exitprocess.php).
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.