
Not a question about the code per say. Wondering why I am seeing these two items in the list. Don't see them in the MS Task Manager list or startup items.
Internet Explorer_Hidden
Internet Explorer_Server
Looks pretty nefarious to me.

I ran this on Win 11 but forget where I got the code. I didn't create it.
Scroll down about 7 pages in PB 5.40 or 9 pages on PB ver 6.20 to see those two items:
Code: Select all
;Process Monitor
;By GPI
;Modified by Lance Jepsen
LoadFont (3, "Arial", 14)
SetGadgetFont(#PB_Default, 3)
Structure info
Handle.l
process.l
class$
Name$
EndStructure
;#PROCESS_ALL_ACCESS=$FFF
Global NewList info.info()
Global NewList AllHandle()
Procedure.s GetClassName(Handle)
class$=Space(1024)
GetClassName_(Handle,@class$,Len(class$))
ProcedureReturn Left(class$,Len(class$))
EndProcedure
Procedure.s GetTitle(Handle)
Name$=Space(1024)
GetWindowText_(Handle,@Name$,Len(Name$))
ProcedureReturn Left(Name$,Len(Name$))
EndProcedure
Procedure AddInfo(Handle)
process=0
GetWindowThreadProcessId_(Handle,@process)
class$=GetClassName(Handle)
Name$=GetTitle(Handle)
ResetList(info())
quit=0
i=0
Repeat
If NextElement(info())
If process < info()\process
quit=1
ElseIf process=info()\process
If class$ < info()\class$
quit=1
ElseIf UCase(class$)=UCase(info()\class$)
If Name$ < info()\Name$
quit=1
ElseIf UCase(Name$)=UCase(info()\Name$)
If Handle < info()\Handle
quit=1
ElseIf Handle=info()\Handle
quit=3
EndIf
EndIf
EndIf
EndIf
Else
quit=2
EndIf
Until quit
If quit<3
If quit=1
If PreviousElement(info())=0: ResetList(info()) :EndIf
EndIf
AddElement(info())
info()\Handle=Handle
info()\process=process
info()\class$=class$
info()\Name$=Name$
EndIf
EndProcedure
Procedure TerminateProcess(processid)
process=OpenProcess_(#PROCESS_ALL_ACCESS,1,processid)
If process
TerminateProcess_(process,0)
CloseHandle_(process)
EndIf
EndProcedure
Procedure RefreshList()
ClearList(AllHandle())
ClearList(info())
Handle=GetWindow_(WindowID(0),#GW_HWNDFIRST)
ClearList(AllHandle())
quit=0
Repeat
AddInfo(Handle)
x=GetWindow_(Handle,#GW_CHILD)
If x
AddElement(AllHandle())
AllHandle()=x
EndIf
x=GetWindow_(Handle,#GW_HWNDNEXT)
If x
Handle=x
Else
If LastElement(AllHandle())
Handle=AllHandle()
DeleteElement(AllHandle())
Else
quit=1
EndIf
EndIf
Until quit
ResetList(info())
While NextElement(info())
If oldprocess<>info()\process
oldprocess=info()\process
a$=Hex(oldprocess)
Else
a$=" ''"
EndIf
AddGadgetItem(0, -1, a$+Chr(10)+info()\class$+Chr(10)+info()\Name$+Chr(10)+Hex(info()\Handle))
Wend
SetGadgetState(0,0)
EndProcedure
If OpenWindow(0,100,50,712,450,"Process Monitor",#PB_Window_SystemMenu)
ListIconGadget(0, 30,125,650,300, "Process",70)
AddGadgetColumn(0,1,"Class",220)
AddGadgetColumn(0,2,"Name",260)
AddGadgetColumn(0,3,"Handle",80)
ButtonGadget(3, 256,30, 128,22,"Post Message")
FrameGadget(2,252, 26,136,30,"")
FrameGadget(6,20, 70,670,370,"Windows")
ButtonGadget(4, 395,90, 128,20,"Refresh List")
TextGadget(5,90,12,60, 20, "Message")
ComboBoxGadget(309, 30, 30, 200, 22)
AddGadgetItem(309,0,"*Select*")
AddGadgetItem(309,-1,"WM_DESTROY")
AddGadgetItem(309,-1,"WM_CLOSE")
AddGadgetItem(309,-1,"WM_QUIT")
SetGadgetState(309,0)
RefreshList()
Repeat
event=WaitWindowEvent()
Select event
Case #PB_Event_Gadget
stat=GetGadgetState(0)
If stat>-1
SelectElement(info(),stat)
stat=1
Else
stat=0
EndIf
Select EventGadget()
Case 3;Post Message
If GetGadgetText(309)="WM_CLOSE"
PostMessage_(info()\Handle,#WM_CLOSE,0,0)
EndIf
If GetGadgetText(309)="WM_DESTROY"
PostMessage_(info()\Handle,#WM_DESTROY,0,0)
EndIf
If GetGadgetText(309)="WM_QUIT"
PostMessage_(info()\Handle,#WM_QUIT,0,0)
EndIf
Case 4
RefreshList()
EndSelect
EndSelect
Until event=#PB_Event_CloseWindow
EndIf
// Moved from "Coding Questions" to "General Discussion" (Kiffi)