Большой Воронежский Форум
» Программирование>Изменение приоритета процесса в Виндоус
icefisher 20:19 26.02.2004
Кто знает решение этой задачки на Паскале?
Использование WinAPI жизненно необходимо [Ответ]
fishca 20:38 26.02.2004
Ответ от Мелкософта:
http://msdn.microsoft.com/library/de...orityclass.asp

BOOL SetPriorityClass(
HANDLE hProcess,
DWORD dwPriorityClass
);

Сначала получаешь хэндл процесса, в паскале тип Integer или Cardinal кажется. И далее вызываешь вышеприведенную функцию с нужным параметром dwPriorityClass. И все. [Ответ]
icefisher 21:39 27.02.2004
спасибо, но это вроде для delphi...
Чего-то не смог ее вызвать из Паскаля
ее же нету во встроенном API паскаля, как же ее позвать на помощь?
[Ответ]
LSL 00:03 28.02.2004
icefisher Паскаль - язык программирования под ДОС. В ДОСе нет процессов, он однозадачен. Ни о каком приоритете речи быть не может.

Но вроде есть какой-то windows.tph ... [Ответ]
icefisher 10:25 28.02.2004
LSL Однако там есть раздел программирования под виндоус. Сам писал програмку, которая выглядит как обычное окошко с изменяемыми размерами этого окна.
По сути дела надо всего лишь вызвать функцию API из ядра Виндоус. Или нет? [Ответ]
LSL 14:51 28.02.2004
icefisher Ну да может... у меня есть книжка - 3mb текста. Там что-то написано. Искал в яндексе "winapi pascal" ? [Ответ]
icefisher 23:25 28.02.2004
LSL что именно написано? У меня тож немного есть, но там про SetPriorityClass нету ничего [Ответ]
LSL 23:51 28.02.2004
icefisher Там много всего написано.. искать надо долго.. проще в интеренете поищи.. [Ответ]
icefisher 00:06 29.02.2004
LSL искал.... [Ответ]
LSL 00:15 29.02.2004
icefisher Ладно.. если очень надо, завтра сам поищу. [Ответ]
fishca 08:27 01.03.2004
Эта функция лежит в Kernel32.dll, грузишь ее и вызываешь ее по имени.
Вот пример:
http://msdn.microsoft.com/library/de...orityclass.asp [Ответ]
serk 21:52 07.03.2004
Все конечно хорошо функцию то мы знаем а вот как ее загрузить под паскалем. По крайней мере под ДОС паскалем я ни разу о таком не слышал. А вот для TPas for Win возможно есть. А почем всетаки не попробовать Delphi? Настолько жестко условия стоят? А если это возможно только путем сильного Геморроя?Мож всетаки делфи? [Ответ]
icefisher 09:46 08.03.2004
function SetPriorityClass(hProcess: THandle; dwPriorityClass:WORD):BOOL;
far;External 'KERNEL32';
Функцию гружу вот так ^^^^^
Но программа говорит, что не может загрузить 32-разрядную библиотеку в 16-разрядной системе ДОС.

К сожалению диск с паскалем у меня забрали, и в TP for win я пока не смогу попробовать реализовать это. [Ответ]
fishca 08:20 09.03.2004
icefisher
А что ты хотел услышать на свою попытку совместить несовместимое? Это в Win 3.х можно было грузить. И там и там 16 разрядов. Тебе нужна dll именно 16 - ти разрядная. [Ответ]
icefisher 19:00 09.03.2004
Мы с преподавательницей сошлись во мнении, что такое сделать в Паскале невозможно. Поэтому перехожу на Делфи, где все намного проще ;-) [Ответ]
fishca 19:23 09.03.2004
icefisher
С этого надо было начинать [Ответ]
icefisher 20:39 09.03.2004
Спасибо всем ответившим. Думаю теперь на Делфи проблем не возникнет. Но если что, то я знаю куда обратится [Ответ]
Вверх