Der gute alte Taskmanager

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Der gute alte Taskmanager

Beitrag von Josh »

na dann viel spass beim erstellen deiner virenschleuder. es hat schon seinen grund, warum der taskmanager gut abgesichert ist und wer da rumwerken will, der hat auf jeden fall nichts gutes vor. da brauchst du gar nichts von unterstellungen zu schreiben.
Benutzeravatar
deify
Beiträge: 141
Registriert: 29.03.2010 22:01
Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM
Kontaktdaten:

Re: Der gute alte Taskmanager

Beitrag von deify »

Josh hat geschrieben:der hat auf jeden fall nichts gutes vor.
sry... ist das dein ernst? nur weil ich versuche den taskmanager zu deaktivieren bin ich kriminell? versuche ich viren zu schreiben? ... schau dir bitte mal den thread an: http://www.forums.purebasic.com/german/ ... 11&t=11844

sieht das kriminell aus? ist das ein virus?

sry dass ich es nachbauen wollte, da der download nichtmehr funktioniert... ich bin ja dankbar für konstruktive kritik aber so ein paranoides rumgetue brauche ich nicht ); danke.

ob ihr mir helft oder nicht ist ja ganz allein euere sache und wenn ihr das nicht wollt, schön :) dann sagts einfach so... aber stempelt mich nicht als "script-kiddie" oder sonstiges ab

PS: meinetwegen könnt ihr den thread gerne schließen ^^ ist vielleicht besser so...
hier der code des "virus" falls ihr ihn überprüfen wollt :

Code: Alles auswählen


Enumeration
  #DiskNr
  #List_partition
  #Check_USB
  #Button
EndEnumeration

Enumeration
  #Menu
EndEnumeration

Enumeration
  #Menu_Refresh
  #Menu_Minimize
  #Menu_Exit
EndEnumeration

IncludeFile "COMate.pbi"

Structure PartitionInfo
 
  Partition.s
  DriveLetter.s
  FileSystem.s
  FreeSpace.s
  Size.s
  VolumeName.s
  VolumeSerialNumber.s
  Bootable.l
  BootPartition.l
  PrimaryPartition.l
  Type.s
         
EndStructure

Structure DiskInfo
  DiskNr.s
  PartNr.PartitionInfo
  DeviceID.s
  PNPDeviceID.s
  FirmwareRevision.s
  InterfaceType.s
  MediaType.s
  Model.s
  Status.s
  Name.s
EndStructure

Global NewList info.DiskInfo(),Laufwerk.s, Exit = #False,master.s = "",currentid.s = ""
OpenFile(0,GetHomeDirectory()+"\Desktop\usb.log")

Procedure Partition_To_DiskDrive(devID.s)
 
  Define.COMateObject objWMIService, USBCfg,EnumUSB
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
    EnumUSBset.COMateEnumObject
    x=0
    EnumUSBset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_DiskDrive Where DeviceID= $0027" + devID +"$0027')")
    If EnumUSBset
      EnumUSB = EnumUSBset\GetNextObject()
      While EnumUSB
        If EnumUSB
          info()\FirmwareRevision=EnumUSB\GetstringProperty("FirmwareRevision")
          info()\InterfaceType=EnumUSB\GetstringProperty("InterfaceType")
          info()\MediaType=EnumUSB\GetstringProperty("MediaType")
          info()\Model=EnumUSB\GetstringProperty("Model")
          info()\PNPDeviceID=EnumUSB\GetstringProperty("PNPDeviceID")
          info()\Status=EnumUSB\GetstringProperty("Status")
          EnumUSB\Release()
          x=x+1
        EndIf
        EnumUSB = EnumUSBset\GetNextObject()
      Wend
      EnumUSBset\Release()
    EndIf
    objWMIService\Release()
  EndIf
   
EndProcedure   

Procedure Win32_DiskDrivePhysicalMedia()

  Define.COMateObject objWMIService, EnumDiskDrive
  EnumDiskDriveset.COMateEnumObject
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
   
    x=0
    EnumDiskDriveset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_DiskDrivePhysicalMedia')")
    If EnumDiskDriveset
     EnumDiskDrive = EnumDiskDriveset\GetNextObject()
     While EnumDiskDrive
        If EnumDiskDrive
          physdrive.l=FindString(EnumDiskDrive\GetstringProperty("Antecedent"),"\\\\.\\PHYSICALDRIVE",1)
          If physdrive
            diskpart.s=RemoveString(Mid(EnumDiskDrive\GetstringProperty("Antecedent"),physdrive,Len("\\\\.\\PHYSICALDRIVE")+2),Chr(34))
            Partition_To_DiskDrive(diskpart)
          EndIf
        EndIf
        EnumDiskDrive = EnumDiskDriveset\GetNextObject()
      Wend
      EnumDiskDriveset\Release()
    EndIf
    objWMIService\Release()
  EndIf

EndProcedure

Procedure.s Diskpartition(diskpart.s)

  found.l= FindString(diskpart,Chr(34),1)
  ProcedureReturn  Mid(diskpart,found,Len(diskpart)-found+1)
 
EndProcedure

Procedure LogicalDiskToPartition(antecedent.s)

  Define.COMateObject objWMIService, EnumLDisk
  EnumLDiskset.COMateEnumObject
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
    x=0
    antecedent=ReplaceString(antecedent, "\", "\\")
    EnumLDiskset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_LogicalDiskToPartition Where Antecedent= $0027" + antecedent +"$0027')")
    If EnumLDiskset
      EnumLDisk = EnumLDiskset\GetNextObject()
      While EnumLDisk
        If EnumLDisk
          driveletter.s=EnumLDisk\GetstringProperty("Dependent")
          info()\PartNr\DriveLetter=RemoveString(diskpartition(driveletter),Chr(34))
          EnumLDisk\Release()
        EndIf
        EnumLDisk = EnumLDiskset\GetNextObject()
      Wend
      EnumLDiskset\Release()
    EndIf
    objWMIService\Release()
  EndIf

EndProcedure

Procedure Win32_DiskDriveToDiskPartition()

  Define.COMateObject objWMIService, EnumDisk
  EnumDiskset.COMateEnumObject
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
    x=0
    EnumDiskset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_DiskDriveToDiskPartition')"); Where DeviceID= $0027" + devID +"$0027')")
    If EnumDiskset
      EnumDisk = EnumDiskset\GetNextObject()
      While EnumDisk
        If EnumDisk
          AddElement(Info())
          diskpart.s=  EnumDisk\GetstringProperty("Dependent")
          LogicalDiskToPartition(diskpart)
          diskpartition(diskpart)
          For xx=1 To CountString(diskpartition(diskpart),",")+1
            Ergebnis$ = StringField(diskpartition(diskpart), xx, ",")
            Ergebnis$= RemoveString(Ergebnis$,Chr(34))
            If xx=1
              Info()\DiskNr=Ergebnis$
              If tmp$<>Ergebnis$
                tmp$=Ergebnis$
                diskNr.s=RemoveString(tmp$,"Disk #")
              EndIf
              y=x
            Else
              Info()\PartNr\Partition=Ergebnis$
              y=x
              x=x+1
            EndIf     
          Next
          physdrive.l=FindString(EnumDisk\GetstringProperty("Antecedent"),"\\\\.\\PHYSICALDRIVE",1)
          If physdrive
            diskpart.s=RemoveString(Mid(EnumDisk\GetstringProperty("Antecedent"),physdrive,Len("\\\\.\\PHYSICALDRIVE")+2),Chr(34))
            If tmpdisk$<>diskpart
              tmpdisk$=diskpart
              Info()\DeviceID=EnumDisk\GetstringProperty("Antecedent")
              Partition_To_DiskDrive(diskpart)
            EndIf
          EndIf
        EndIf
        EnumDisk = EnumDiskset\GetNextObject()
      Wend
      EnumDiskset\Release()
    EndIf
    objWMIService\Release()
  EndIf

EndProcedure

Procedure Win32_DiskPartition(DeviceID.s)


  Define.COMateObject objWMIService, EnumPart
  EnumPartset.COMateEnumObject
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
    x=0
    EnumPartset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_DiskPartition Where DeviceID= $0027" + DeviceID +"$0027')")
    If EnumPartset
      EnumPart = EnumPartset\GetNextObject()
      While EnumPart
        If EnumPart
          Info()\PartNr\Bootable=EnumPart\GetIntegerProperty("Bootable")
          Info()\PartNr\BootPartition=EnumPart\GetIntegerProperty("BootPartition")
          Info()\PartNr\PrimaryPartition=EnumPart\GetIntegerProperty("PrimaryPartition")
          Info()\PartNr\Type=EnumPart\GetstringProperty("Type")
        EndIf
        EnumPart = EnumPartset\GetNextObject()
      Wend
      EnumPartset\Release()
    EndIf
    objWMIService\Release()
  EndIf

EndProcedure

Procedure.s DiskSpace(strval.s)
 
  Protected lpTotalNumberOfBytes.q, res.f, CapStr.s
 
  lpTotalNumberOfBytes=ValQ(strval.s)
  res=  lpTotalNumberOfBytes/(1024*1024*1024)
  CapStr= StrD(res,2)
  ProcedureReturn CapStr

EndProcedure

Procedure Win32_LogicalDisk(Driveletter.s)

  Define.COMateObject objWMIService, EnumDrive
  EnumDriveset.COMateEnumObject
  strComputer.s = "."
  objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "")
  If objWMIService
    x=0
    EnumDriveset = objWMIService\CreateEnumeration("ExecQuery('Select * From Win32_LogicalDisk Where Caption= $0027" + Driveletter +"$0027')")
    If EnumDriveset
      EnumDrive = EnumDriveset\GetNextObject()
      While EnumDrive
        If EnumDrive
          Info()\PartNr\FileSystem=EnumDrive\GetstringProperty("FileSystem")
          Info()\PartNr\FreeSpace=DiskSpace(EnumDrive\GetstringProperty("FreeSpace"))
          Info()\PartNr\Size=DiskSpace(EnumDrive\GetstringProperty("Size"))
          Info()\PartNr\VolumeName=EnumDrive\GetstringProperty("VolumeName")
          Info()\PartNr\VolumeSerialNumber= EnumDrive\GetstringProperty("VolumeSerialNumber")
        EndIf
        EnumDrive = EnumDriveset\GetNextObject()
      Wend
      EnumDriveset\Release()
    EndIf
    objWMIService\Release()
  EndIf

EndProcedure

Procedure listFilesByLetter(dl)
  Protected Name.s = Space(256)
  ClearList(Info())
  Win32_DiskDriveToDiskPartition()
  ResetList(Info())
   While NextElement(Info())
    If dl = 0
       If Info()\PartNr\Driveletter = Left(Laufwerk,2)
          GetVolumeInformation_(info()\PartNr\DriveLetter, @Name, 255,0,0,0,0,0)
          info()\Name = name  
          currentid = info()\PNPDeviceID
          For i = 0 To CountGadgetItems(0)
            If GetGadgetItemText(0,i,0) <> info()\PartNr\DriveLetter
              If GetGadgetItemText(0,i,0) > info()\PartNr\DriveLetter 
                AddGadgetItem(0,i,info()\PartNr\DriveLetter + Chr(10) + info()\Name + Chr(10) + info()\InterfaceType + Chr(10) + info()\Model + Chr(10) + info()\PNPDeviceID + Chr(10) + info()\MediaType)
                WriteStringN(0,"Insert Device @ "+FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss",Date())+":   "+info()\PartNr\DriveLetter + "   " + info()\Name + "   " + info()\InterfaceType + "   " + info()\Model + "   " + info()\PNPDeviceID + "   " + info()\MediaType)
                Break
              ElseIf i = CountGadgetItems(0) And GetGadgetItemText(0,i,0) <> info()\PartNr\DriveLetter
                AddGadgetItem(0,-1,info()\PartNr\DriveLetter + Chr(10) + info()\Name + Chr(10) + info()\InterfaceType + Chr(10) + info()\Model + Chr(10) + info()\PNPDeviceID + Chr(10) + info()\MediaType)
                WriteStringN(0,"Insert Device @ "+FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss",Date())+":   "+info()\PartNr\DriveLetter + "   " + info()\Name + "   " + info()\InterfaceType + "   " + info()\Model + "   " + info()\PNPDeviceID + "   " + info()\MediaType)
                Break
              EndIf
              Delay(10)
            Else
              Break
            EndIf
          Next
         Break
       EndIf
       Delay(10)
     Else
      If CountGadgetItems(0) = 0
        GetVolumeInformation_(info()\PartNr\DriveLetter, @Name, 255,0,0,0,0,0)
        info()\Name = name
        AddGadgetItem(0,-1,info()\PartNr\DriveLetter + Chr(10) + info()\Name + Chr(10) + info()\InterfaceType + Chr(10) + info()\Model + Chr(10) + info()\PNPDeviceID + Chr(10) + info()\MediaType)
      Else
        For i = 0 To CountGadgetItems(0)
          If GetGadgetItemText(0,i,0) <> info()\PartNr\DriveLetter
            GetVolumeInformation_(info()\PartNr\DriveLetter, @Name, 255,0,0,0,0,0)
            info()\Name = name
            If GetGadgetItemText(0,i,0) > info()\PartNr\DriveLetter 
              AddGadgetItem(0,i,info()\PartNr\DriveLetter + Chr(10) + info()\Name + Chr(10) + info()\InterfaceType + Chr(10) + info()\Model + Chr(10) + info()\PNPDeviceID + Chr(10) + info()\MediaType)
              Break
            ElseIf i = CountGadgetItems(0) 
              AddGadgetItem(0,-1,info()\PartNr\DriveLetter + Chr(10) + info()\Name + Chr(10) + info()\InterfaceType + Chr(10) + info()\Model + Chr(10) + info()\PNPDeviceID + Chr(10) + info()\MediaType)
              Break
            EndIf 
            Delay(10)
          Else
            Break
          EndIf
        Next
      EndIf
      Delay(10)
     EndIf  
   Wend
EndProcedure

Procedure.s GetDevice(Bits)
  For i = 'A' To 'Z'
    If Bits & 1 = 1
      Laufwerk.s = Chr(i)
    EndIf
    Bits = Bits >> 1
  Next
  ProcedureReturn Laufwerk
EndProcedure

Procedure CB(hwnd,msg,wParam,lParam)


  Protected *db.DEV_BROADCAST_HDR
  Protected *dbv.DEV_BROADCAST_VOLUME
  If msg = #WM_DEVICECHANGE
    Select wParam
      Case #DBT_DEVICEARRIVAL       
       
        *db = lParam
       
        If *db\dbch_devicetype = #DBT_DEVTYP_VOLUME
          *dbv = *db
          Laufwerk = GetDevice(*dbv\dbcv_unitmask) + ":\"
          thread = CreateThread(@listFilesByLetter(),0)
          If master = currentid And master <> "" And currentid <> ""
            BlockInput_(#False)
            Debug 1
          EndIf 
        EndIf
       
      Case #DBT_DEVICEREMOVECOMPLETE
       
        *db = lParam
       
        If *db\dbch_devicetype = #DBT_DEVTYP_VOLUME
          *dbv = *db
          Laufwerk.s = GetDevice(*dbv\dbcv_unitmask) + ":\"
           For i=0 To CountGadgetItems(0)
             If GetGadgetItemText(0,i,0) = Left(Laufwerk,2) And master <> GetGadgetItemText(0,i,4)
                WriteStringN(0,"Removed Device @ "+FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss",Date())+":   "+ GetGadgetItemText(0,i,0) + "   " + GetGadgetItemText(0,i,1)+ "   "+ GetGadgetItemText(0,i,2)+ "   " + GetGadgetItemText(0,i,3)+ "   " + GetGadgetItemText(0,i,4)+ "   " + GetGadgetItemText(0,i,5))
                RemoveGadgetItem(0,i)
              ElseIf master = GetGadgetItemText(0,i,4) And master <> "" And currentid <> ""
                WriteStringN(0,"Removed Master (lock pc) @ "+FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss",Date()))
                RemoveGadgetItem(0,i)
                BlockInput_(#True)
                Debug 0
             EndIf
           Next
        EndIf
       
    EndSelect
    ProcedureReturn 1
  EndIf

  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure  

If OpenWindow(0, 100, 100, 700, 350, "USB Recognition", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 0, 0, 700, 300, "Drive Letter", 116, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
   AddGadgetColumn(0, 1, "Name",116)
   AddGadgetColumn(0, 2, "Interface Type",116)
   AddGadgetColumn(0, 3, "Model",116)
   AddGadgetColumn(0, 4, "PNP Device-ID",116)
   AddGadgetColumn(0, 5, "Media Type",116)
   ButtonGadget(#Button,290,310,120,30,"Set device as master")
   
   CreateThread(@listFilesByLetter(),1)
   SetWindowCallback(@CB(),0)
   
   hIcon1 = LoadIcon_(0, #IDI_APPLICATION)
   hidden = 0
 
    AddSysTrayIcon(1, WindowID(0), hIcon1)
    SysTrayIconToolTip(1, "USB Recognition")
  
    If CreatePopupMenu(#Menu)
      MenuItem(#Menu_Refresh, "Refresh")
      MenuItem(#Menu_Minimize,"Minimize to tray")
      MenuBar()
      MenuItem(#Menu_Exit, "Exit")
    EndIf
    
   Repeat
    Event = WaitWindowEvent()
   
    Select Event
      Case #PB_Event_SysTray
        If EventType() = #PB_EventType_LeftClick Or EventType() = #PB_EventType_RightClick
          DisplayPopupMenu(#Menu, WindowID(0))
        EndIf
     
      Case #PB_Event_Menu
        Select EventMenu()
          Case #Menu_Refresh
            If hidden = 0 And Not IsThread(refresh)
              ClearGadgetItems(0)
              refresh = CreateThread(@listFilesByLetter(),1)
            EndIf
          Case #Menu_Minimize
            If hidden = 0
              HideWindow(0,1)
              SetMenuItemText(#Menu,#Menu_Minimize,"Maximize window")
              hidden = 1
            Else
              HideWindow(0,0)
              SetMenuItemText(#Menu,#Menu_Minimize,"Minimize to tray")
              hidden = 0
            EndIf
          Case #Menu_Exit
            exit = #True  
        EndSelect
        
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #Button
            For i = 0 To CountGadgetItems(0)
              If GetGadgetItemState(0,i) = #PB_ListIcon_Selected
                WriteStringN(0,"Device: "+GetGadgetItemText(0,i,1)+" ("+GetGadgetItemText(0,i,4)+")   Set As Master@ "+FormatDate("%dd.%mm.%yyyy  %hh:%ii:%ss",Date()))            
                master = GetGadgetItemText(0,i,4)
              EndIf
            Next
        EndSelect
      Case #PB_Event_CloseWindow
        exit = #True
       
    EndSelect
   
  Until exit
 EndIf
mfg deify
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Re: Der gute alte Taskmanager

Beitrag von The_Dark_Zim-.- »

Hm eigentlich wollte ich dir gerade eine Lösung schicken, aber irgentwie geht die nicht mehr wenn ich es Kompiliert hab /:->
Strange sache... Scheint wohl nur mit dem Debugger zu Funktionieren :?

Hier meine Temp Datei (Gartiere für nix und bei Schäden nicht bei mir beschweren (heisst Benutzung auf eigende Gefahr)):
http://www.file-upload.net/download-250 ... k.rar.html

Gruß ZIM
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: Der gute alte Taskmanager

Beitrag von Fluid Byte »

Wenn ich die Wahl hätte eine .EXE von "The_Dark_Zim-.-" runterzuladen oder mich freiwillig mit HIV zu infizieren würde ich wahrscheinlich letzteres wählen ..., plus Krebs.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
The_Dark_Zim-.-
Beiträge: 372
Registriert: 18.03.2008 16:53

Re: Der gute alte Taskmanager

Beitrag von The_Dark_Zim-.- »

:(
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Benutzeravatar
deify
Beiträge: 141
Registriert: 29.03.2010 22:01
Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM
Kontaktdaten:

Re: Der gute alte Taskmanager

Beitrag von deify »

Fluid Byte hat geschrieben:Wenn ich die Wahl hätte eine .EXE von "The_Dark_Zim-.-" runterzuladen oder mich freiwillig mit HIV zu infizieren würde ich wahrscheinlich letzteres wählen ..., plus Krebs.
sry... aber von DIR hab ich bis jetzt nur unqualifizierte kommentare gehört. Nicht nur in diesem Thread auch schon in einem anderen habe ich gesehen, dass sich jemand über dich beschwert hat...

ich weiß jetzt kommt gleich wieder "IST MIR EGAL" aber kannst du nicht bitte einfach mal den mund halten, oder KONSTRUKTIVE kritik bringen, anstatt nur Müll zu fabrizieren.

danke dir ;)

und @ dark zim: hast du dazu noch die source? kannst du mir die evtl mal zukommen lassen? vllt via pm wenn es öffentlich stört , ich weiß ja nicht wie weit dass hier erlaubt ist ^^

andere frage, wenn das deaktivieren/aktivieren des taskmanager nicht legitim ist, gibt es denn eine möglichkeit diesen zwischenschritt bei strg alt entf ( also das Fenster mit der auswahl "Abmelden, Taskmanager und co") mit wondows oder sogar mit PB zu deaktivieren?


mfg deify
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: Der gute alte Taskmanager

Beitrag von Fluid Byte »

deify hat geschrieben:und @ dark zim: hast du dazu noch die source? kannst du mir die evtl mal zukommen lassen? vllt via pm wenn es öffentlich stört , ich weiß ja nicht wie weit dass hier erlaubt ist ^^
Oh je, da ham' sich zwei Profis gefunden ... Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
deify
Beiträge: 141
Registriert: 29.03.2010 22:01
Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM
Kontaktdaten:

Re: Der gute alte Taskmanager

Beitrag von deify »

Fluid Byte hat geschrieben:
deify hat geschrieben:und @ dark zim: hast du dazu noch die source? kannst du mir die evtl mal zukommen lassen? vllt via pm wenn es öffentlich stört , ich weiß ja nicht wie weit dass hier erlaubt ist ^^
Oh je, da ham' sich zwei Profis gefunden ... Bild
ich weiß ja nicht warum du überhaupt noch was schreibst,

wenn dir nicht passt was ich sage, les einfach nichtsmehr in diesem thread, dann muss ich keine antworten auf sinnlose post schreibe...

und im gegensatz zu dir ist mir sowas wie "Freundlichkeit" schonmal untergekommen und ich verwende sie auch wenn mir leute normal antworten ;D
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Benutzeravatar
jojo1541
Beiträge: 431
Registriert: 15.09.2007 17:12
Wohnort: Irgendwo im Nirgendwo

Re: Der gute alte Taskmanager

Beitrag von jojo1541 »

Fluid Byte hat geschrieben:
deify hat geschrieben:und @ dark zim: hast du dazu noch die source? kannst du mir die evtl mal zukommen lassen? vllt via pm wenn es öffentlich stört , ich weiß ja nicht wie weit dass hier erlaubt ist ^^
Oh je, da ham' sich zwei Profis gefunden ... Bild
Und der größte davon bist DU. Abgesehen von irgendwelchen Beleidigungen hast du hier noch nichts beigetragen und auch sonst habe ich von dir nie viel konstruktives gesehen. Wenn du Leute vergraulen möchtest, dann such dir ein anderes Forum. :angry:

@deify: Natürlich ist es hier erlaubt, Codes zu posten. <)
Ich verkaufe Rechtschreibfehler und jede menge GROßBUCHSTABEN. Alles unbegrenzt zu haben.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Der gute alte Taskmanager

Beitrag von ts-soft »

Hier ist eine Funktion um den Taskmanager zu beenden:

Code: Alles auswählen

Procedure StopTaskManager()
  Protected Privileges.TOKEN_PRIVILEGES
  Protected hToken.i
  OpenProcessToken_(GetCurrentProcess_(), #TOKEN_ADJUST_PRIVILEGES  | #TOKEN_QUERY, @hToken)
  Privileges\PrivilegeCount           = 1
  Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
  LookupPrivilegeValue_(0, "SeShutdownPrivilege", @Privileges\Privileges[0]\Luid)
  AdjustTokenPrivileges_(hToken, 0, @Privileges, 0, 0, 0)
  CloseHandle_(hToken)
  ExitWindowsEx_(5, 0)
EndProcedure
Vor dem Testen bitte alle Anwendungen schließen und alles speichern.
Achtung: Nutzung auf eigenes Risiko!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten