Avatar billede c_d Nybegynder
07. oktober 2003 - 15:41 Der er 3 kommentarer og
2 løsninger

Fjern min app fra taskmanager

jeg har fundet ud af hvordan man fjerner min app fra taskmanager, men jeg ved ikke hvordan jeg får den fjerne fra processer, jeg går ud fra at det er denne kode plus lidt mér

app.taskvisible = false
Avatar billede lokespas Nybegynder
07. oktober 2003 - 16:42 #1
http://users.pandora.be/mayerson/daniel/scweek/310803-070903.htm

Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End Type

Enum Version
    Win32 = 0
    Win9x = 1
    WinNt = 2
End Enum

Const RSP_SIMPLE_SERVICE = 1
Const RSP_UNREGISTER_SERVICE = 0

Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

OsInfo As OSVERSIONINFO


Sub MakeMeService()
    Dim Pid As Long, regserv As Long
    'get process id
    Pid = GetCurrentProcessId
    'register as service
    regserv = RegisterServiceProcess(Pid, RSP_SIMPLE_SERVICE)
End Sub


Sub UnMakeMeService()
    Dim Pid As Long, regserv As Long

    'Get process ID
    Pid = GetCurrentProcessId()

    'Unregister as service
    regserv = RegisterServiceProcess(Pid, RSP_UNREGISTER_SERVICE)
End Sub


Function HideMe() As Boolean
    Dim WinVer As Integer

    WinVer = GetOsVersion

    If WinVer = Version.Win9x Then
        MakeMeService
    ElseIf WinVer = Version.WinNt Then
        App.Title = ""
    Else
        HideMe = False
        Exit Function
    End If

    HideMe = True
End Function


Function ShowMe(Optional AppTitle As String = "UnHidden Application") As Boolean
    Dim WinVer As Integer

    WinVer = GetOsVersion

    If WinVer = Version.Win9x Then
        UnMakeMeService
    ElseIf WinVer = Version.WinNt Then
        App.Title = AppTitle
    Else
        ShowMe = False
        Exit Function
    End If
    ShowMe = True
End Function


Function GetOsVersion() As Integer
    Dim Ret&

    OsInfo.dwOSVersionInfoSize = Len(OsInfo)
    Ret& = GetVersionEx(OsInfo)
    If Ret& = 0 Then
        GetOsVersion = -1
        Exit Function
    End If

    GetOsVersion = OsInfo.dwPlatformId
End Function
Avatar billede sion Nybegynder
07. oktober 2003 - 22:03 #2
Koden gør præcist det samme som "App.TaskVisible" - den fjerner programmet fra task listen, men IKKE fra processer-listen. Det *er* muligt at fjerne sit program fra processer-listen, men så skal man oprette sit program som en WinNT server, hvilket er en ret kompliceret affære så vidt som jeg er orienteret. Prøv at søge efter noget i retningen af "visual basic nt service" på google :)
Avatar billede c_d Nybegynder
08. oktober 2003 - 19:03 #3
R Der ig noen der ved hvordan man laver sin app til WinNT server
Avatar billede sion Nybegynder
08. oktober 2003 - 21:31 #4
Undskyld, der skulle selvfølgelig have stået "WinNT service" i stedet for "WinNT server" :)

Jeg har fundet et par guides og noget hjælpe til at lave services til dig.
How-To Run Your Application as a Service:
http://www.vbwire.com/advanced/howto/service.asp
http://www.vbwire.com/advanced/howto/service2.asp

Creating an Agent NT Service with VB
http://www.pinnaclepublishing.com/VB/VBmag.nsf/0/2496CE0A783BE738852568E000549E0B

MSDN INFO: Running Visual Basic Applications as Windows NT Services
http://support.microsoft.com/default.aspx?scid=kb;en-us;175948

Håber du kan bruge nogle af linkene til noget :)
-Sion
Avatar billede c_d Nybegynder
09. oktober 2003 - 19:20 #5
Ååhhh Tx M8, d r sku da en lang kode hva!? ;)


c_d
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester