kilo Опубликовано 21 октября, 2009 Опубликовано 21 октября, 2009 Блин тогда легче вообще от этого кода отказаться и писать другой ужос о_О сколько еще работы Зачем отказываться? Всевото необходимо переписать пару строчек вывода лога установки. В аттач подправленный пример с выводом лога в memo
Apollon Опубликовано 21 октября, 2009 Автор Опубликовано 21 октября, 2009 Зачем отказываться? Всевото необходимо переписать пару строчек вывода лога установки. В аттач подправленный пример с выводом лога в memo Спасибо за подсказку Еще такой вопрос, как через делфи вскрыть экзешник который был скомпилирован ею? Если при этом нету исходников.
C. Tantin Опубликовано 21 октября, 2009 Опубликовано 21 октября, 2009 Еще такой вопрос, как через делфи вскрыть экзешник который был скомпилирован ею? Если при этом нету исходников.Через делфи - никак. Но есть другие инструменты... смотря что тебе нужно. Но чистого исходника в любом случае не получить.
skoworodker Опубликовано 21 октября, 2009 Опубликовано 21 октября, 2009 C. Tantin да, помоему можно только точки входа на процедуры получить
Apollon Опубликовано 21 октября, 2009 Автор Опубликовано 21 октября, 2009 Через делфи - никак. Но есть другие инструменты... смотря что тебе нужно. Но чистого исходника в любом случае не получить. Спасибо понятно.
Apollon Опубликовано 29 октября, 2009 Автор Опубликовано 29 октября, 2009 вопрос такой: Можно ли в Дельфе подключить скачивание файлов с ФТП или ХТТП (легальных файлов), по ссылке + по имени файла скажем например вот так: ftp://dnl.kaspersky.com/kavremuver2010.exe or ftp://dnl.kaspersky.com/kavremuver?.exe И еще чтобы каждый раз скачивала более свежие файлы вместо старых.
C. Tantin Опубликовано 29 октября, 2009 Опубликовано 29 октября, 2009 Можно ли в Дельфе подключить скачивание файлов с ФТП или ХТТП (легальных файлов), по ссылке + по имени файла скажем например вот так:ftp://dnl.kaspersky.com/kavremuver2010.exe or ftp://dnl.kaspersky.com/kavremuver?.exe И еще чтобы каждый раз скачивала более свежие файлы вместо старых. По ссылке - можно. По маске - тоже можно, но перебор ссылок под маску надо будет писать самому. Вообще User, почитай-покачай статьи-сорсы на ресурсах типа delphimaster.ru и delphikingdom.ru, а потом если что-то будет непонятно - спрашивай =)
Apollon Опубликовано 4 ноября, 2009 Автор Опубликовано 4 ноября, 2009 С загрузочным модулем пока на время остановил работу, есть такая проблема, после подгрузки драйвера т.е его копирования в папку system32\drivers. Запускаю процедуру через дельфи чтобы запустить драйвер, но! Чтобы драйвер начал полностью функционировать нужно писать в командной строке net start kernelsecur.sys пытаюсь после этого остановить службу сначала через дельфи путём отключения её процедуры и после через командную строку: net stop kernelsecur.sys Но вместо того чтобы остановить службу, она показывает ошибку. Вопрос как можно обойти эту бутофорию запуска сначала через дельфи, а после через консоль. А просто всё это запихнуть в одну - ну две процедуры в дельфи ?
kilo Опубликовано 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) net start kernelsecur.sys насколько помню имя службы у тебя WinNT_KernelSecurity Фукция запуска сервиса function ServiceStart(aMachine, aServiceName : string ) : boolean; // aMachine это UNC путь, либо локальный компьютер если пусто var h_manager,h_svc: SC_Handle; svc_status: TServiceStatus; Temp: PChar; dwCheckPoint: DWord; begin svc_status.dwCurrentState := 1; h_manager := OpenSCManager(PChar(aMachine), Nil, SC_MANAGER_CONNECT); if h_manager > 0 then begin h_svc := OpenService(h_manager, PChar(aServiceName), SERVICE_START or SERVICE_QUERY_STATUS); if h_svc > 0 then begin temp := nil; if (StartService(h_svc,0,temp)) then if (QueryServiceStatus(h_svc,svc_status)) then begin while (SERVICE_RUNNING <> svc_status.dwCurrentState) do begin dwCheckPoint := svc_status.dwCheckPoint; Sleep(svc_status.dwWaitHint); if (not QueryServiceStatus(h_svc,svc_status)) then break; if (svc_status.dwCheckPoint < dwCheckPoint) then begin // QueryServiceStatus не увеличивает dwCheckPoint break; end; end; end; CloseServiceHandle(h_svc); end; CloseServiceHandle(h_manager); end; Result := SERVICE_RUNNING = svc_status.dwCurrentState; end; остановки function ServiceStop(aMachine,aServiceName : string ) : boolean; // aMachine это UNC путь, либо локальный компьютер если пусто var h_manager,h_svc : SC_Handle; svc_status : TServiceStatus; dwCheckPoint : DWord; begin h_manager:=OpenSCManager(PChar(aMachine),nil, SC_MANAGER_CONNECT); if h_manager > 0 then begin h_svc := OpenService(h_manager,PChar(aServiceName), SERVICE_STOP or SERVICE_QUERY_STATUS); if h_svc > 0 then begin if(ControlService(h_svc,SERVICE_CONTROL_STOP, svc_status))then begin if(QueryServiceStatus(h_svc,svc_status))then begin while(SERVICE_STOPPED <> svc_status.dwCurrentState)do begin dwCheckPoint := svc_status.dwCheckPoint; Sleep(svc_status.dwWaitHint); if(not QueryServiceStatus(h_svc,svc_status))then begin // couldn't check status break; end; if(svc_status.dwCheckPoint < dwCheckPoint)then break; end; end; end; CloseServiceHandle(h_svc); end; CloseServiceHandle(h_manager); end; Result := SERVICE_STOPPED = svc_status.dwCurrentState; end; Изменено 5 ноября, 2009 пользователем kilo
skoworodker Опубликовано 5 ноября, 2009 Опубликовано 5 ноября, 2009 а вот подскажите и мне сенсеи: можно ли реализовать программную задержку по времени без таймера?
kilo Опубликовано 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) Можно без таймера Ставишь задержку выполнения uses sysutils;repeat .... sleep(10000);// задержка until false; Изменено 5 ноября, 2009 пользователем kilo
Apollon Опубликовано 5 ноября, 2009 Автор Опубликовано 5 ноября, 2009 net start kernelsecur.sys насколько помню имя службы у тебя WinNT_KernelSecurity имя было изменено драйвер копируется путём запуска ХСОРУ через батч файл, который соответственно подключён к кнопке.
kilo Опубликовано 5 ноября, 2009 Опубликовано 5 ноября, 2009 драйвер копируется путём запуска ХСОРУ через батч файл, который соответственно подключён к кнопке. Можно и через дельфи копировать файл CopyFile('WinNT_KernelSecurity.sys', 'C:\WINDOWS\system32\drivers\WinNT_KernelSecurity.sys', false); Хотя путь лучше прописывать не напрямую, а через переменные среды.
skoworodker Опубликовано 6 ноября, 2009 Опубликовано 6 ноября, 2009 kilo впринципе похоже но есть глюки к примеру sample: form1.Color:=clred; sleep(1000); form1.Color:=clgreen; sleep(1000); form1.Color:=clred; через 2 секунды загорится только красный, остальное что до "слипа" не выполняется
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти