Где при создании сервиса указать его описание ? Код (Text): InstallService proc push 0F003Fh push 0 push 0 call OpenSCManagerA mov schSCManager,eax cmp eax,0 jz @ret GetModuleFileNameA PROTO :DWORD,:DWORD,:DWORD push 260 push offset szFileName push 0 call GetModuleFileNameA CreateServiceA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD push 0 push 0 push 0 push 0 push 0 push offset szFileName push 00000001h push 00000002h push 00000110h push 0F01FFh push offset szDisplayName push offset szServiceName push schSCManager call CreateServiceA cmp eax,0 je @exit push eax StartServiceA PROTO :DWORD,:DWORD,:DWORD push 0 push 0 push eax call StartServiceA call CloseServiceHandle jmp @ret @exit: push schSCManager call CloseServiceHandle @ret: ret InstallService endp не могу удалить созданый сервис Код (Text): .686 .model flat,stdcall option casemap:none includelib library\kernel32.lib includelib library\user32.lib includelib library\shell32.lib includelib library\Advapi32.lib .data? schSCManager dd ? .data szServiceName db "szServiceName",0 .code start: OpenSCManagerA PROTO :DWORD,:DWORD,:DWORD push 0F003Fh push 0 push 0 call OpenSCManagerA mov schSCManager,eax OpenServiceA PROTO :DWORD,:DWORD,:DWORD push 10000h push offset szServiceName push schSCManager DeleteService PROTO :DWORD push eax call DeleteService CloseServiceHandle PROTO :DWORD push schSCManager call CloseServiceHandle ExitProcess PROTO :DWORD push eax call ExitProcess end start с удаление разобрался а как вот добавить описане сервиса не савсем понятно
Что значит где?? После регистрации дерните ChangeServiceConfig и ChangeServiceConfig2 для установки дескрипшена.
Спасибо , тоесть я правильно панимаю, __in_opt LPVOID lpInfo указатель на строку описания ? BOOL WINAPI ChangeServiceConfig2( __in SC_HANDLE hService, __in DWORD dwInfoLevel, __in_opt LPVOID lpInfo );
Не совсем dwInfoLevel определяет на какую именно информацию указывает lpInfo. Если dwInfoLevel равен SERVICE_CONFIG_DESCRIPTION, то lpInfo должна указывать на SERVICE_DESCRIPTION . typedef struct _SERVICE_DESCRIPTION { LPTSTR lpDescription; } SERVICE_DESCRIPTION, *LPSERVICE_DESCRIPTION;
Помогите пожалуйста переписать, или хотябы намекните как делать, управляющую процедуру сервиса Windows без макросов IF и тд, мне нужно чтобы там были только команды cmp je jne и тд. Каму не сложно! Код (Text): CtrlHandler proc controlCode1:DWORD LOCAL currentState:DWORD LOCAL success:BOOL mov currentState, 0 mov eax, controlCode1 .if ( eax == SERVICE_CONTROL_STOP ) SendSvcState SERVICE_STOP_PENDING call StopServiceStatus SendSvcState SERVICE_STOPPED .elseif ( eax == SERVICE_CONTROL_PAUSE ) .if ( fRunning != FALSE && fPaused == FALSE ) SendSvcState SERVICE_PAUSE_PENDING call PauseService SendSvcState SERVICE_PAUSED .endif .elseif ( eax == SERVICE_CONTROL_CONTINUE ) .if ( fRunning != FALSE && fPaused == TRUE ) SendSvcState SERVICE_CONTINUE_PENDING call ResumeService SendSvcState SERVICE_RUNNING .endif .elseif ( eax == SERVICE_CONTROL_INTERROGATE ) .elseif ( eax == SERVICE_CONTROL_SHUTDOWN ) .endif ret CtrlHandler endp очень сложная структура получается ни как не могу понять что куда сувать и как сравнивать по очерди
fragment Имеем против. Вы задолбали своими тупыми вопросами WriteFile().. скрины и прочая ахинея. Вам повезло что админам способным банить пофиг.
Ну раскажи мне тогда зём какие вопросы решаются на этом форуме , наверное я просто ошибся адресом , и такое тоже бывает. Причем тут одна тема ? Я пишу программу и у меня возникают вопросы , я бы и писал бы в одну тему если бы её не закрыли.
fragment Я вам уже ответил раз 10%20. Более того вы рассово не желаете юзать отладчик http://www.wasm.ru/forum/viewtopic.php?pid=393883#p393883 и учить матчасть. Таких людей нужно удалять.
Да с отладчиком было бы горазда легче, но тогда зачем мне это нужно ? Я програмирую ради интереса и мне просто интересно самому переписать макросы. Прошу просто немного помощи и вашего совета.
fragment Ну тогда вот ради интереса возьмите этот чертов отладчик в руки. Елки палки. Это последнее железное предупреждение.