Newsgroup: it.comp.lang.visual-basic
Titolo: Utility

Vi posto il link ad una utility che ho fatto in VB che uso spesso quando 
devo dormire e lascio il pc acceso.
Si chiama AppKiller e serve per scegliere quali applicazioni debbano 
essere terminate e a che ora.
Fa poco a dire il vero, nel senso che alcune applicazioni non si 
riescono a chiudere per ora (KaZaA o altre).
Però vi posto i sorgenti in modo da permettere le aggiunte da parte di 
tutti e può servire da esempio di codice per qualcun altro.
Appena ricevo la mail di conferma dal webmaster posto anche sul sito 
comune :)
Prossimamente aggiungerò anche la funzione di standby del monitor.
Progetto rarrato
http://darkbyte.supereva.it/appkiller.rar
Signature (e sennò PGP che ce l'ho a fare???)
http://darkbyte.supereva.it/appkiller.rar.sig
Alla prox :)

 comune :)
Prima dobbiamo attendere l'elezione del nuovo WM (sempre che l'orologio di
Lord non sia settato sull'orario atomico di Marte...) :-P
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

 autokillarsi...
Fatto.
Nell'elenco dei task attivi mi compariva due volte l'applicazione: una 
istanza era quella del form e l'altra quella dell'eseguibile credo, 
perchè una delle due era "App Killer" che è la caption del form, mentre 
l'altra era "AppKiller" che invece è il nome del progetto e quindi 
dell'eseguibile.
Ho controllato (nella procedura di enumerazione) che l'handle fosse 
diverso da quello del form prima di visualizzarlo nell'elenco, ed in 
effetti ora compare solo il riferimento all'eseguibile che può 
tranquillamente essere killato :)

 
http://darkbyte.supereva.it/appkiller.rar
Perche' non lo posti in *.zip ?
non tutti hanno winrar o la voglia/possibilita' di installarlo
questo e' quello che adopero io e credo che possa chiudere
anche kaaza basta conoscere la classe e killare quella
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String)
As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As
Long, lParam As Any) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal
nMaxCount As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1
Const WM_CLOSE = &H10
Const gcClassnameDSysList = "SysListView32"
Const gcClassnameBabylon = "Babylon"
Const gcClassnameMSIExplorer = "IEFrame"
Const gcClassnameMSVBasic = "wndclass_desked_gsk"
Const gcClassnameNotePad = "Notepad"
Const gcClassnameMyVBApp = "ThunderForm"
Private Sub Form_Load()
    Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
    'Ask for a Window title
    'Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) + "Note: must be an exact match")
    'Search the window
   WinWnd = FindWindow("SysListView32", vbNullString)
   ' WinWnd = FindWindow("Babylon", vbNullString)
    If WinWnd = 0 Then MsgBox "Couldn't find the window ...": Exit Sub
    'Show the window
   ' ShowWindow WinWnd, SW_SHOWNORMAL
    'Create a buffer
    lpClassName = Space(256)
    'retrieve the class name
    RetVal = GetClassName(WinWnd, lpClassName, 256)
    'Show the classname
    MsgBox "Classname: " + Left$(lpClassName, RetVal)
    'Post a message to the window to close itself
    PostMessage WinWnd, WM_CLOSE, 0&, 0&
End Sub
--
Fosco