Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод значения приоритета в окне, Вывод значения приоритета в окне 
:(
    Опции темы
Abbath1349
Дата 4.1.2011, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Как мне вывести значение приоритета в окне у меня он всегда выводит 32 для процессора и 0 для потока в чем ошибка?
Код

TCHAR CommandLine[256] = _T("notepad ReadMe.txt");
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static STARTUPINFO tin;
    static PROCESS_INFORMATION pInfo;
    static DWORD exitCode;
    PAINTSTRUCT ps;
    HDC hdc;
    TCHAR str[60], tmp[20];
    int i, sum;
    static LARGE_INTEGER frequency, Start, End;
    static __int64 totalTime;
     static DWORD thinf;
    switch (message)
    {
    case WM_CREATE:
        tin.cb = sizeof(STARTUPINFO);
        tin.dwFlags = STARTF_USESHOWWINDOW;
        tin.wShowWindow=SW_SHOWMINIMIZED;
        
        break;
    case WM_COMMAND:
        switch (LOWORD(wParam))
        {
        case ID_FILE_OPEN:
            GetExitCodeProcess(pInfo.hProcess, &exitCode);
            if (exitCode != STILL_ACTIVE) 
            {
            CreateProcess(NULL, CommandLine,
                    NULL, NULL, FALSE, 0, NULL, NULL, &tin, &pInfo);
            SetPriorityClass(GetCurrentThread(),HIGH_PRIORITY_CLASS);
           // SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_ABOVE_NORMAL);
            //thinf=GetThreadPriority(GetCurrentThread());
            
             thinf=GetPriorityClass(GetCurrentProcess());
            QueryPerformanceFrequency(&frequency);
            QueryPerformanceCounter(&Start);
         
            }
            break;
        case ID_FILE_DELETE:
            GetExitCodeProcess(pInfo.hProcess, &exitCode);
            if (exitCode==STILL_ACTIVE) 
            {
            TerminateProcess(pInfo.hProcess, 0);
            QueryPerformanceCounter(&End);
            totalTime = (End.QuadPart - Start.QuadPart)*1000/
            frequency.QuadPart;
            InvalidateRect(hWnd, NULL, TRUE);

            }
            break;
        case IDM_EXIT: DestroyWindow(hWnd); break;
        default: return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
            case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        _tcscpy(str, _T("Время работы цикла в мс: "));
            _i64tot(totalTime, tmp, 10);
        _tcscat(str, tmp);
        TextOut(hdc, 0, 0, str, _tcslen(str));
            
        _i64tot(thinf, str, 10);
        TextOut(hdc, 0, 20, str, _tcslen(str));
        EndPaint(hWnd, &ps);
        break;

    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default: return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

PM MAIL   Вверх
BorisVorontsov
Дата 6.1.2011, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 4
Всего: 10



Ты в коде нигде не задаешь приоритет процесса, но запрашиваешь его. Естественно, возвращается приоритет по-умолчанию, NORMAL_PRIORITY_CLASS.


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
Abbath1349
Дата 7.1.2011, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



но я задаю для потока SetPriorityClass и все равно какой не ставь получается одно число.
PM MAIL   Вверх
Игорь1024
Дата 8.1.2011, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



А права в форточках? Вдруг не даёт изменять приоритет из-за политик безопасности. 
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
Abbath1349
Дата 8.1.2011, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Уже все заработало)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.3499 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.