juu milläköhän apilla voisi "tappaa" prosesseja eli käskeä ne äärimmäisesti sulkeutumaan?
Formille textboxi (Text1) ja buttoni (Command1). Tappaa prosesseja titlen perusteella.
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId 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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Private Const PROCESS_TERMINATE = &H1 Private Sub Command1_Click() Dim hwnd As Long, pid As Long, ph As Long ' etsitään hwnd, huomaa vbNullString (0 ei toimi tässä) hwnd = FindWindow(vbNullString, Text1.Text) ' hankitaan pid GetWindowThreadProcessId hwnd, pid ' prosessin kahva ph = OpenProcess(PROCESS_TERMINATE, 0, pid) ' terminoidaan prosessi hwnd = TerminateProcess(ph, 0) End Sub
Kiitos! Tästä on suuri hyöty...
Toi kai vaa lopettaa sovelluksia eikä prosesseja (kokeilin XP:ssä) mut iha kiva muute
Sovellus on prosessi.
Ei liene kovin vaikeaa muokata tuota tappamaan minkä tahansa prosessin, edellyttäen tietenkin että tietää prosessin kahvan.
tarkotan, että kun XP:n tehtävienhallinnassa on "Sovellukset" ja "Prosessit"-kohdat, niin se lopettaa vaan "Sovellukset"-kohdasta eikä prossuista
Mjooh siis tosiaan kuten sanoin kyllä tuo tietääkseni lopettaa minkä tahansa prosessin kunhan vain kahva on tiedossa. FindWindow+GetWindowThreadProcessId yhdistelmällä ei tietenkään löydy prosessien kahvoja
Oliskohan jotenki mahollista sulkea ihan tiedostoja joiden nimet on jotku tietyt vaik esimerkiksi moi.exeet?
Aihe on jo aika vanha, joten et voi enää vastata siihen.