Avatar billede winkill Nybegynder
12. september 2000 - 14:44 Der er 11 kommentarer og
1 løsning

Windows 2000 Service

Jeg har lavet en SMTP server i VB6.0 som jeg gerne ville have til at kører som en service på min Windows 2000.

Jeg har prøvet med følgende, men i stedet for at returnerer et handle til min nye serrvice eller i det mindste en fejl, får jeg bare et 0 som svar.

API kaldet GetLastError returnerer ligeledes et 0, men min service er altså ikke blevet registrert, hvad går der galt?

Her er koden:

\' Parametres to OpenSCManager()
Private Const SERVICES_ACTIVE_DATABASE = \"ServicesActive\"
Private Const SC_MANAGER_CREATE_SERVICE = &H2

\' Return values from OpenSCManager()
\'Private Const ERROR_ACCESS_DENIED = 5&
Private Const ERROR_DATABASE_DOES_NOT_EXIST = 1065&
\'Private Const ERROR_INVALID_PARAMETER = 87

\' Parametres to CreateService()
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const SERVICE_WIN32_OWN_PROCESS = &H0
Private Const SERVICE_INACTIVE = &H2
Private Const SERVICE_ERROR_IGNORE = &H0
Private Const SERVICE_PATH = \"\"\"C:\\Documents and Settings\\Administrator\\Skrivebord\\VBStorage\\Lab\\NT Service\\inerd_service.exe\"\"\"

\' CreateService() return values.
Private Const ERROR_ACCESS_DENIED = 5&
Private Const ERROR_CIRCULAR_DEPENDENCY = 1059&
Private Const ERROR_DUP_NAME = 52&
Private Const ERROR_INVALID_HANDLE = 6&
Private Const ERROR_INVALID_NAME = 123&
Private Const ERROR_INVALID_PARAMETER = 87
Private Const ERROR_INVALID_SERVICE_ACCOUNT = 1057&
Private Const ERROR_SERVICE_EXISTS = 1073&

Private Declare Function CreateService Lib \"advapi32.dll\" Alias \"CreateServiceA\" ( _
ByVal hSCManager As Long, _
ByVal lpServiceName As String, _
ByVal lpDisplayName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwServiceType As Long, _
ByVal dwStartType As Long, _
ByVal dwErrorControl As Long, _
ByVal lpBinaryPathName As String, _
ByVal lpLoadOrderGroup As String, _
lpdwTagId As Long, _
ByVal lpDependencies As String, _
ByVal lpServiceStartName As String, _
ByVal lpPassword As String) As Long

Private Declare Function OpenSCManager Lib \"advapi32.dll\" Alias \"OpenSCManagerA\" (ByVal lpMachineName As String, ByVal lpDatabaseName As String, ByVal dwDesiredAccess As Long) As Long

Private Declare Function GetLastError Lib \"kernel32\" () As Long


Public Function RegisterService()
    Dim hSCM As Long
    Dim ret As Long
    hSCM = OpenSCManager(vbNull, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CREATE_SERVICE)
    ret = CreateService(hSCM, App.Title, \"h\" & App.Title, STANDARD_RIGHTS_REQUIRED, SERVICE_WIN32_OWN_PROCESS, SERVICE_INACTIVE, SERVICE_ERROR_IGNORE, SERVICE_PATH, vbNull, vbNull, vbNull, vbNull, vbNull)
End Function
Avatar billede winkill Nybegynder
12. september 2000 - 14:46 #1
Hvis der er nogen der kender en anden måde at registrer en service er det også ok.
Avatar billede 127144146281 Nybegynder
12. september 2000 - 16:29 #2
Avatar billede 127144146281 Nybegynder
12. september 2000 - 16:34 #3
Avatar billede winkill Nybegynder
12. september 2000 - 17:36 #4
Den der MS OCX fil ser ud til at kunne bruges, men er der nogen der har den i en compilet version ???
Avatar billede 127144146281 Nybegynder
12. september 2000 - 17:52 #5
prøver lige at kompilere den
Avatar billede 127144146281 Nybegynder
12. september 2000 - 17:57 #6
hmm næe så ikke alligevel det var lavet til en tidligere ver
Avatar billede 127144146281 Nybegynder
12. september 2000 - 18:05 #7
Avatar billede winkill Nybegynder
12. september 2000 - 18:09 #8
Tak, jeg ser lige på det...

Jeg fik i øvrigt også tre fejl da jeg prøvede at compile den oprindelige source - efter at den var konverteret til VC6
Avatar billede 127144146281 Nybegynder
12. september 2000 - 18:12 #9
ok jeg fik kun 2 weird
Avatar billede winkill Nybegynder
12. september 2000 - 18:14 #10
Jeg fik først en, en fil der ikke kunne findes... så renamede jeg den og så fik jeg... ven lidt, nej, kun to fejl ;-)
Avatar billede winkill Nybegynder
13. september 2000 - 00:13 #11
Ok, det funker.

Tak for hjælpen 127144146281.
Avatar billede 127144146281 Nybegynder
13. september 2000 - 11:23 #12
så lidt
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel