Library tutorials & articles
API Programming Series #4
- Introduction
- The concept
- The code
- Remove from CAD list
- Analysis
The concept
Here the key concept to be understood is this:
The task list, while showing the currently running "tasks" on a machine, does not display those registered as services. So to prevent a task from appearing in the task list, we just need to register it as a service. And to make the task appear in the task list again, unregister it. Simple!
Let's get on with the code.
As always, start up Visual Basic and create a new Standard EXE project. A form should have been added to the project by default. Copy the following code into the declarations section of the form:
Private Declare Function GetCurrentProcessId Lib "kernel32"
() As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32"
(ByVal dwProcessID As Long, _ByVal dwType As Long) As Long
Private Const RSP_SIMPLE_SERVICE = 1
Private Const RSP_UNREGISTER_SERVICE = 0
Related articles
Related discussion
-
Run-time error '91'
by converter2009 (1 replies)
-
VB6 Runtime error 381 subsript out of range Error
by Uncle (2 replies)
-
passing and reading parameters from using Shell
by jigartoliya (0 replies)
-
Convert C++ code to VB6
by mawcot (4 replies)
-
listbox scrollbar
by Dennijr (10 replies)
Related podcasts
-
Christian Beauclair
14 mai 2008 (�mission #0074) ::.Christian Beauclair: Stratégies de migration VB6 vers .NET Nous discutons avec Christian Beauclair des stratégies de migration VB6 vers .NET. Entre autres, nous discutons comment utiliser le "VB 6 Code Advisor" et le "Interop Forms Toolkit" pour ajouter la puiss...
i got teh same problem!!!
I get the error: 453: Can't find DLL entry point RegisterServiceProcess in kernel32.
What does this mean?
How do I fix it?
You have written this:
"As always, mail me if you have any comments or questions"
How can we email you, when your email is hidden?
The reason I didnt code it that way was to keep the example simpler, though I admit that this did make it a little longer and less elegant.
Primarily, I wanted to focus on the API call I wanted to explain.
However, now that I see it in black and white, I kinda like it.
So may be I'll go ahead and modify my code.
Thanks
Private Sub MakeUnmake(MakeOrNot As Boolean)
Dim pid As Long
Dim regserv As Long
If MakeOrNot = True Then
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSPSIMPLESERVICE)
Else
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSPUNREGISTERSERVICE)
End If
End Sub
eh?
vc
i really thank you for this arguement but next time use another examples than the allapi viewr??
but anyway i read all the allapi viewer api functions and i know whats there right now and it s really good in addition of being confusing
This thread is for discussions of API Programming Series #4.