Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

У меня ZipMagic стоит   Найти похожие ветки 

 
AL2002 ©   (2002-09-18 13:41) [0]

Вещь хорошая, но когда запускаю здоровую прогу из архива, комп подвисает. Иногда надолго.
Мне интересно, можно ZipMagicу задать низкий приоритет?
Чтобы он комп не тормозил. В настройках ЗМ такого нету. А программно можно?


 
Юрий Зотов ©   (2002-09-18 15:21) [1]

1. ToolHelp32 + OpenProcess + SetPriorityClass.

2. Или написать свою запускалку - CreateProcess + SetPriorityClass. Это точно работает, использовалось не раз.

3. Под NT приоритет регулируется просто мышкой. А сжатые папки можно делать средствами самой системы.

4. ZipMagic - вещь не безглючная. Например, приводит к глюкам при работе с ярлыками. Раньше я использовал ZipFolder, теперь мне вполне хватает и Windows Commander.

5. В XP встроенная поддержка ZIP"ов.


 
Polevi ©   (2002-09-18 16:47) [2]

мое личное мнение - лучше не использовать ето


 
Pumpkin   (2002-09-19 13:17) [3]

Выкинь его на хрен. Он мне несколько зипов порушил.


 
AL2002 ©   (2002-09-19 15:44) [4]

>2. Или написать свою запускалку - CreateProcess +
>SetPriorityClass. Это точно работает, использовалось не раз.
А пример какой-нить можно где-то взять?



 
Smiths   (2002-09-19 17:10) [5]


> AL2002 © (19.09.02 15:44)
> >2. Или написать свою запускалку - CreateProcess +
> >SetPriorityClass. Это точно работает, использовалось не
> раз.
> А пример какой-нить можно где-то взять?


А у самого мозгов катастрофически не хватает что ли???


 
AL2002 ©   (2002-09-19 17:37) [6]

>А у самого мозгов катастрофически не хватает что ли???
Если бы хватало, не просил бы.



 
Smiths   (2002-09-19 17:58) [7]

Ясно. Вопросов больше не имею.


 
evgeg ©   (2002-09-19 18:04) [8]

Используй WinRar. Знает все форматы и сжимает в своем формате лучше, чем любой другой архиватор. Не глючит и не вешает систему. Может работать в фоновом режиме. Удобно вызывается из контексного меню.


 
Wolf226 ©   (2002-09-19 18:15) [9]

Zip folder рушит архивы когда места на диске не остается, а ты пытаешься туда что-то пихнуть.


 
AL2002 ©   (2002-09-19 18:26) [10]

>Smiths (19.09.02 17:58)
>Ясно. Вопросов больше не имею.
Ну если твои тебе на череп давят, то чего пример не дашь?



 
Smiths   (2002-09-19 18:32) [11]

Хочешь на слабО взять? :)


 
AL2002 ©   (2002-09-19 18:38) [12]

>Smiths (19.09.02 18:32)
>Хочешь на слабО взять? :)
Так ты пример дашь или фак на лицо?



 
CrazyAngel ©   (2002-09-19 18:40) [13]

смотри help по CreateProcess
И еще в FAQ там что-то было , подробнее не могу- дельфи под рукой нет а так не помню :)


 
Smiths   (2002-09-19 18:48) [14]


> AL2002 © (19.09.02 18:38)
> >Smiths (19.09.02 18:32)
> >Хочешь на слабО взять? :)
> Так ты пример дашь или фак на лицо?


Задал на поисковике строку "Delphi CreateProcess SetPriorityClass". Получил МОРЕ ссылок. Для всего ЭТОГО нужно много мозгов???


 
AL2002 ©   (2002-09-19 18:52) [15]

>CrazyAngel © (19.09.02 18:40)
По Ctrl+Alt+Del он есть Zm32.

По хелпу:
BOOL CreateProcess(

LPCTSTR lpApplicationName, // pointer to name of executable module
LPTSTR , // pointer to command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // pointer to process security attributes
LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to thread security attributes
BOOL bInheritHandles, // handle inheritance flag
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // pointer to new environment block
LPCTSTR lpCurrentDirectory, // pointer to current directory name
LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO
LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION
);

Долго ж я раздуплять это буду!..
Пример мне! Пример нужен.

lpApplicationName lpCommandLine — это всё, что я понимаю.
А остальные флаги?


 
AL2002 ©   (2002-09-19 19:15) [16]

>Smiths (19.09.02 18:48)
Тоже вариант.

CreateProcess(NULL, "program.exe", NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi) ?


Смит, ты жлоб.
От тебя, наверное, снега зимой не допросишься.


 
AL2002 ©   (2002-09-19 20:49) [17]

Var
SI: TStartupInfo;
PI: TProcessInformation;

begin
CreateProcess(NiL, PChar(Edit1.Text), Nil, Nil, FALSE, IDLE_PRIORITY_CLASS, Nil, Nil, si, pi);
end;

И нифига не происходит.


 
Smiths   (2002-09-19 20:55) [18]

Ет ты сам с собой разговариваешь? :)


 
AL2002 ©   (2002-09-19 21:15) [19]

>Smiths (19.09.02 20:55)
>Ет ты сам с собой разговариваешь? :)
Смит, ты не просто жлоб, ты подлый, к тому же.
Приятно тебе наблюдать, как человек мучается?

Ты чего, гад, не сказал про si? Ей же надо свойства определить.

И всё равно Zm32 (зип мэджик) не запускается.
Приложения (уф!) запускаются, а ЗМ32 — нет.
Может, потому что консольное?



 
Юрий Зотов ©   (2002-09-20 01:19) [20]

var
SI: TStartupInfo;
PI: TProcessInformation;
begin
ZeroMemory(@SI, SizeOf(SI));
SI.cb := SizeOf(SI);
if Win32Check(CreateProcess(nil, PChar(Edit1.Text), nil, nil, False, 0, nil, nil, SI, PI)) then
begin
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
end
end;

1. В Edit1 программу указывать вместе с путем к ней.
2. Win32Check можно убрать. Нужно только для диагностики ошибок.
3. Запускаться должно, но может быть невидимо.


 
AL2002 ©   (2002-09-20 09:58) [21]

>Юрий Зотов © (20.09.02 01:19)
Запускается. Только что NORMAL_PRIORITY_CLASS, что IDLE_PRIORITY_CLASS — не действует.
Всё равно идут подвисоны. 8(

Наверное, проги сами задают себе приоритет. 8(

И ещё. Наверное, ЗМ32 — это только прога для управления (включения/выключения фолдеров). Остальное в дллке/ах, наверное.
Потому что я когда даже убиваю процесс, зиповые папки всё равно есть. И работают.


 
Юрий Зотов ©   (2002-09-20 10:14) [22]

> Всё равно идут подвисоны.
Может быть связано с глюками программы.

> Наверное, проги сами задают себе приоритет.
Могут. Поэтому его надо ставить вызовом SetPriorityClass ПОСЛЕ CreateProcess, а не в самом CreateProcess.

> Остальное в дллке/ах, наверное.
Скорее всего. Похоже, ZipMagic - это Com-сервер.


 
AL2002 ©   (2002-09-20 10:21) [23]

>SetPriorityClass ПОСЛЕ CreateProcess
Это по хендлу. А как узнать хендл?

Я нарыл только SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS)

GetCurrentProcess — это ж не то.


 
Юрий Зотов ©   (2002-09-20 10:40) [24]

А на что у Вас TProcessInformation? Хэндл уже в нем, готовый.


 
AL2002 ©   (2002-09-20 10:50) [25]

SetPriorityClass(PI, IDLE_PRIORITY_CLASS)?



 
Юрий Зотов ©   (2002-09-20 13:01) [26]

RTFM.
F1.
PI.hProcess.


 
Гуляющий просто так   (2002-09-20 13:55) [27]

попал ты с этим Zip Magic`ом...
я как-то себе его поставил, удалить по нормальному не удалось, пришлось систему переставлять :(((
2 Юрий Зотов
да, похоже COM-сервер...


 
AL2002 ©   (2002-09-20 13:58) [28]

>Гуляющий просто так (20.09.02 13:55)
Я его просто переписал с другого компа. Без инсталляции.
Даже записей в реестре нет.
Достаточно просто не запускать.

>Юрий Зотов © (20.09.02 13:01)
>RTFM.
>F1.
>PI.hProcess.
Что за RTFM?




Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.02 c
4-45614
Константин
2002-08-28 10:33
2002.10.14
Поиск заданного процесса


14-45561
RV
2002-09-20 14:19
2002.10.14
:)


3-45212
alextov
2002-09-23 16:31
2002.10.14
При удалении нескольких записей курсор прыгает на начало таблицы.


14-45549
Сатир
2002-09-19 21:49
2002.10.14
Коммандная строка


14-45520
MsGuns
2002-09-17 21:47
2002.10.14
Как достать недозрелых бездельников