Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Программирование
Философия, технологии, алгоритмы!

Ответ
 
Опции темы
Старый 26.02.2004, 20:19   #1   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
Изменение приоритета процесса в Виндоус

Кто знает решение этой задачки на Паскале?
Использование WinAPI жизненно необходимо
  Ответить с цитированием
Старый 26.02.2004, 20:38   #2   
Форумец
 
Аватар для fishca
 
Сообщений: 708
Регистрация: 23.12.2002
Возраст: 52
Записей в дневнике: 1

fishca вне форума Не в сети
Ответ от Мелкософта:
http://msdn.microsoft.com/library/de...orityclass.asp

BOOL SetPriorityClass(
HANDLE hProcess,
DWORD dwPriorityClass
);

Сначала получаешь хэндл процесса, в паскале тип Integer или Cardinal кажется. И далее вызываешь вышеприведенную функцию с нужным параметром dwPriorityClass. И все.
  Ответить с цитированием
Старый 27.02.2004, 21:39   #3   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
спасибо, но это вроде для delphi...
Чего-то не смог ее вызвать из Паскаля
ее же нету во встроенном API паскаля, как же ее позвать на помощь?
  Ответить с цитированием
Старый 28.02.2004, 00:03   #4   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 41

LSL вне форума Не в сети
icefisher Паскаль - язык программирования под ДОС. В ДОСе нет процессов, он однозадачен. Ни о каком приоритете речи быть не может.

Но вроде есть какой-то windows.tph ...
  Ответить с цитированием
Старый 28.02.2004, 10:25   #5   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
LSL Однако там есть раздел программирования под виндоус. Сам писал програмку, которая выглядит как обычное окошко с изменяемыми размерами этого окна.
По сути дела надо всего лишь вызвать функцию API из ядра Виндоус. Или нет?
  Ответить с цитированием
Старый 28.02.2004, 14:51   #6   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 41

LSL вне форума Не в сети
icefisher Ну да может... у меня есть книжка - 3mb текста. Там что-то написано. Искал в яндексе "winapi pascal" ?
  Ответить с цитированием
Старый 28.02.2004, 23:25   #7   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
LSL что именно написано? У меня тож немного есть, но там про SetPriorityClass нету ничего
  Ответить с цитированием
Старый 28.02.2004, 23:51   #8   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 41

LSL вне форума Не в сети
icefisher Там много всего написано.. искать надо долго.. проще в интеренете поищи..
  Ответить с цитированием
Старый 29.02.2004, 00:06   #9   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
LSL искал....
  Ответить с цитированием
Старый 29.02.2004, 00:15   #10   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 41

LSL вне форума Не в сети
icefisher Ладно.. если очень надо, завтра сам поищу.
  Ответить с цитированием
Старый 01.03.2004, 08:27   #11   
Форумец
 
Аватар для fishca
 
Сообщений: 708
Регистрация: 23.12.2002
Возраст: 52
Записей в дневнике: 1

fishca вне форума Не в сети
Эта функция лежит в Kernel32.dll, грузишь ее и вызываешь ее по имени.
Вот пример:
http://msdn.microsoft.com/library/de...orityclass.asp
  Ответить с цитированием
Старый 07.03.2004, 21:52   #12   
Серж
 
Сообщений: 232
Регистрация: 13.02.2004
Возраст: 44

serk вне форума Не в сети
Все конечно хорошо функцию то мы знаем а вот как ее загрузить под паскалем. По крайней мере под ДОС паскалем я ни разу о таком не слышал. А вот для TPas for Win возможно есть. А почем всетаки не попробовать Delphi? Настолько жестко условия стоят? А если это возможно только путем сильного Геморроя?Мож всетаки делфи?
  Ответить с цитированием
Старый 08.03.2004, 09:46   #13   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
function SetPriorityClass(hProcess: THandle; dwPriorityClass:WORD):BOOL;
far;External 'KERNEL32';
Функцию гружу вот так ^^^^^
Но программа говорит, что не может загрузить 32-разрядную библиотеку в 16-разрядной системе ДОС.

К сожалению диск с паскалем у меня забрали, и в TP for win я пока не смогу попробовать реализовать это.
  Ответить с цитированием
Старый 09.03.2004, 08:20   #14   
Форумец
 
Аватар для fishca
 
Сообщений: 708
Регистрация: 23.12.2002
Возраст: 52
Записей в дневнике: 1

fishca вне форума Не в сети
icefisher
А что ты хотел услышать на свою попытку совместить несовместимое? Это в Win 3.х можно было грузить. И там и там 16 разрядов. Тебе нужна dll именно 16 - ти разрядная.
  Ответить с цитированием
Старый 09.03.2004, 19:00   #15   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
Мы с преподавательницей сошлись во мнении, что такое сделать в Паскале невозможно. Поэтому перехожу на Делфи, где все намного проще ;-)
  Ответить с цитированием
Старый 09.03.2004, 19:23   #16   
Форумец
 
Аватар для fishca
 
Сообщений: 708
Регистрация: 23.12.2002
Возраст: 52
Записей в дневнике: 1

fishca вне форума Не в сети
icefisher
С этого надо было начинать
  Ответить с цитированием
Старый 09.03.2004, 20:39   #17   
хз...
 
Сообщений: 94
Регистрация: 13.05.2003

icefisher вне форума Не в сети
Спасибо всем ответившим. Думаю теперь на Делфи проблем не возникнет. Но если что, то я знаю куда обратится
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind