Показать полную графическую версию : DELPHI
Surround
15-06-2004, 14:36
Подскажите, где можно найти спарвочник по API-функциям для делфи. :)
И еще. Говорят, что если в оконном интерфейсе DELPHI вместо VCL использовать KOL, то откомпилированное приложение будет весить вместо ~400kb 20-30kb. А где можно это дело скачать? и вообще, так ли это? :)
hasherfrog
15-06-2004, 15:30
Не знаю, как сейчас, а раньше вместе с делфи всегда ставился win32 API в виде hlp-файлов. Чтобы использовать их под паскалем, особых мысленных усилий, имхо, не требуется. Просто надо будет привыкнуть к некоторым странным записям типа LPCSTR
Prisoner
17-06-2004, 00:45
hasherfrog прав. Есть такой файлик как win32s.hlp. Кроме того, существуют справочники (http://freesoft.ru/?id=8916) сторонних "производителей". А на счет KOL можно почитать тут (http://bonanzas.rinet.ru/rindex.htm)
Surround
19-06-2004, 19:57
Хочу передать строковой параметр для выполнения WinExec, но тот пишет несоответсвие типов String и PAnsiChar. Мона ли строку как-нить переконвертировать в этот тип, или что-нибудь еще?
Surround
19-06-2004, 22:20
еще несколько вопросов :)
[1] можно ли под XP сделать, чтобы прога была не видна в Диспетчере задач?
[2] и возможно ли оставить консольное приложение в памяти после его выплнения?
[3] как добавить приложение в автозапуск в качестве сервиса?
Thanks!
Исправлено: Surround, 19:52 20-06-2004
Surround
PAnsiChar это строка оканчивающаяся "/0" соответственно перекодировка сводится к банальному
PChar:=String+'#0';
hasherfrog
21-06-2004, 10:34
Surround
1. Теоритически да. Если поломать "Диспетчер задач". Подобные темы неоднократно поднимались на форуме. Поищите их.
2. Откройте "консоль" cmd.exe. Запустите из неё Notepad.exe. Закройте cmd.exe. Как видите, блокнот жив. ЕМНИП, в винде, в отличие от линукса, закрытие родительских приложений не убивает процессы, порождённые из управляющего терминала через SUGHUP.
3. Как вариант "без программирования" - используйте команду консоли sc. Позволяет больше чем достаточно. WinExec + sc -> :)
4. Casting a (long) String to a PChar (http://www.delphifaq.com/fq/q1044.shtml)
Surround
21-06-2004, 18:05
hasherfrog
я что-то не понял со вторым вопросом. Notepad - это оконное приложение, ожидающее ввода символов с клавиатуры, а если консольная программка все сделала, но ей нужно еще следить за процессом, как эй-то в памяти остаться?
Может каким-нибудь циклом занять, или лучше таймер поставить?
может припомнишь, как хотяб ы примерно тема называлась, че-та не нахожу по ключевым словам.... :(
Исправлено: Surround, 18:17 21-06-2004
hasherfrog
22-06-2004, 09:42
Может каким-нибудь циклом занять
Циклом, но с использованием usleep(1000), например. А иначе все ресурсы виндов сожрешь ('этим как раз грешат старые проги под дос). Что касается порождения процессов в винде, то я сейчас как раз с этим работаю. Тут Вам не там :) В линуксе fork - и всех делов. А под виндами будет CreateProcess, но дальше... Дальше всё зависит от того, что Вы конкретно хотите.
По поводу пряток - здесь (http://forum.oszone.net/topic.cgi?forum=18&topic=1264) и точно где-то ещё.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.