Hur gör jag för att stänga ett program Ett sätt är att skicka Alt+F4 till programmet med SendKeys: Tog mig frihet som Moderator att ändra din rubrik till en lämpligare titel. Detta är ingen snygg lösning men den fungerar. Man ska igentligen skicka WM_CLOSE till fönstren som tillhör processen och om inte det stänger den. I så fall anropa TerminateProcess: Tack För Hjälpen det funkar nu :-) Gör det enkelt för andra att hitta inlägg om det har liknande problem. Varför har ni krånglat till det kan man inte bara använda: Mördare, Mördare! Ha ihjäl processer på det sättet klassas jag som mord. ;o)Stänga ett program öppnat med shell() funktionen
jag har öppnat det med shell "b.exe"
Men Vad ska jag ha för kommando för att stänga skiten????? Sv: Hjälp!!! Se Hit
SendKeys "%{F4}"
/Johan
PS. Tänk på att inläggets rubrik ska spegla innehållet, många ingnorerar helt inlägg utan vettig rubrik!Sv: Stänga ett program öppnat med shell() funktionen
Sv: Stänga ett program öppnat med shell() funktionen
<code>
Option Explicit
Private Const SYNCHRONIZE = &H100000
Private Const PROCESS_TERMINATE As Long = &H1
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private ProcessID As Long
Private Sub Command1_Click()
ProcessID = Shell("Notepad.exe")
End Sub
Private Sub Command2_Click()
Dim hProcess As Long
If ProcessID Then
hProcess = OpenProcess(SYNCHRONIZE Or PROCESS_TERMINATE, 0&, ProcessID)
If hProcess Then
TerminateProcess hProcess, 0&
CloseHandle hProcess
ProcessID = 0
End If
End If
End Sub
</code>Sv: Stänga ett program öppnat med shell() funktionen
Andreas: Jag ska Tänka På Det Där Med Rubriken Nästa Gång
//Mvh Zero xSv: Stänga ett program öppnat med shell() funktionen
Sv:Stänga ett program öppnat med shell() funktionen
Dim myProcess As Process
myProcess = Process.Start("notepad.exe")
myProcess.Kill()Sv: Stänga ett program öppnat med shell() funktionen
Varför inte använda Close() eller CloseMainWindow() istället?
Dim p As Process
p = Process.Start("notepad.exe")
p.WaitForInputIdle(5000)
p.CloseMainWindow()
Det är väl ett snällare sätt.