Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Текст и эллипс Здравствуйте! когда я вывожу на экран текст с помощью DirectDraw и например эллипс(например красного цвета), проходит несколько секунд и текст становиться маленьким, а эллипс приобретает белый цвет?почему так? помогите пожалуйста разобраться? https://www.cyberforum.ru/ win-api/ thread333632.html Надо разобраться с дескриптором безопасности процесса (SetSecurityInfo и GetSecurityInfo) C++ WinAPI
В общем, мне надо убить программно процесс функцией TerminateProcess Друзья! В одном иЗ русскоязычных источников я прочёл: Чтобы извлечь данные о дескрипторе безопасности процесса, вызовите функцию GetSecurityInfo. Чтобы изменить дескриптор безопасности процесса, вызовите функцию SetSecurityInfo Так, нашёл и сами функции в MSND, а дальше тёмный лес, чё там изменять непонятно, я...
C++ WinAPI Toolbar и нажатие его кнопок https://www.cyberforum.ru/ win-api/ thread333497.html
Ув. форумчане, есть очередной вопросик. Если кто сталкивался - укажите, пожалуйста, направление движения. Есть тулбар с кнопками. При выборе кнопки меню, программа сворачивается и выполняет какие-то действия с другими окнами и программами. Вопрос в том, как сделать активацию кнопки на тулбаре удаленно. То есть по комбинации клавиш, если окно программы свернуто или развернуто. Добавлено через...
C++ WinAPI Вопросы по мультимедиа https://www.cyberforum.ru/ win-api/ thread333393.html
1.Как регулировать громкость воспроизведения Audio CD, если для воспроизведения используется MCI? 2.Если никак, то можно ли воспроизвести Audio CD используя DirectShow? 3.Как программно обратиться к системному регулятору громкости, тому который в панели задач? Читал MSDN, но ничего не нашел...
Ошибка: "Variable is being used without being initialized" C++ WinAPI
Здравствуйте! Помогите разобраться это что за ошибка? LPDIRECTDRAWSURFACE7 lpSur; HRESULT hr; hr = lpSur->GetDC(&hdc); if(hr!=DD_OK) return FALSE; TextOut(hdc, 0, 0, "Hello ", 5); lpSur->ReleaseDC(hdc);
C++ WinAPI Почему функция, обрабатывающая хуки, должна быть в dll? насколько я знаю, если ставишь глобальные хуки, нужно делать так, чтобы функция, обрабатывающая хуки, бралась из dll. Но только почему, никак не могу понять. Кто-нибудь знает почему именно из dll? https://www.cyberforum.ru/ win-api/ thread332846.html
C++ WinAPI Связь между программами через windows API https://www.cyberforum.ru/ win-api/ thread332507.html
Здравствуйте. Есть задача наладить обмен данными между программами, одну из которых я пишу на C# а вторая может использовать подключаемые dll. Планирую использовать user32.dll и функции SendMessageA, PostMessageA. Подскажите пожалуйста, как принимать такие сообщения и на сколько данные метод является быстрый, может быть есть другие варианты?
C++ WinAPI Вывести системное время в определенной позиции экрана
Здравствуйте! как можно вывести системное время (текущую дату, месяц, день, часы, минуты, секунды и миллисекунды) в окно WinAPI c++ в определенной позиции экрана? приведите примеры?
C++ WinAPI Написать программу, которая по левому щелчку мыши выводила бы координаты курсора Всем доброго времени суток. Win32 начал только изучать. Для практики, решил написать программу, которая по левому щелчку мыши выводила бы координаты курсора. Вроде как сделал, но выглядит как велосипед. Просто я к этому долго приходил, было много заморочек с типами. Вы как считаете, это нормально ?) case WM_LBUTTONDOWN: { POINT pt; GetCursorPos(&pt); std::ostringstream out; https://www.cyberforum.ru/ win-api/ thread332326.html C++ WinAPI Семафоры Казалось бы простая задача: три потока выводят данные (в данном случае из массива интов на 50 элементов) в статическое окно, затем монопольно запускается 4 поток-писатель, который увеличивает значение цифр в интовом массиве на 1, (0-1-2-3 и т.д.). В это время три потока читателя - ожидают. Возникла беда: нет монопольного доступа к массиву для процесса читателя, вот пример моего кода, плиз может... https://www.cyberforum.ru/ win-api/ thread332244.html
C++ WinAPI OpenGL Вывод текста
Более подходящего раздела не нашёл. В OpenGL проблематично вывести обычный текст. По книге NEHE взял такой код: GLvoid BuildFont(GLvoid) // Построение нашего растрового шрифта {
C++ WinAPI Ресурсы Здравствуйте, уважаемые форумовчане! Строки в ресурсах .rc Как правильно поместить строку в ресурс? Через StringTable? А самое главное, как его считать? Можно ли хранить чистые числа (не строки)? Собственно есть функция: int WINAPI LoadString( __in_opt HINSTANCE hInstance, __in UINT uID, https://www.cyberforum.ru/ win-api/ thread331664.html
67 / 67 / 9
Регистрация: 18.04.2011
Сообщений: 124
0

NtQuerySystemInformation в руках нуба - C++ WinAPI - Ответ 1846185

16.07.2011, 22:26. Показов 3516. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Имею перед собой очень короткий код на C#:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[DllImport("ntdll", EntryPoint="NtQuerySystemInformation")]
private static extern int NtQuerySystemInformation(int dwInfoType, byte[] lpStructure, int dwSize, IntPtr returnLength);
 
    private const int SYSTEM_BASICINFORMATION = 0;
    private const int SYSTEM_TIMEINFORMATION = 3;
    [STAThread]
    static void Main(string[] args)
    {
        byte[] baseInfo = new byte[44];
        byte[] timeInfo = new byte[32]; 
 
        int ret,tm;
        ret = NtQuerySystemInformation(SYSTEM_BASICINFORMATION, baseInfo, baseInfo.Length, 
IntPtr.Zero);
        tm = NtQuerySystemInformation(SYSTEM_TIMEINFORMATION, timeInfo, timeInfo.Length, IntPtr.Zero);
     }
Поскольку с API у меня все плохо, много тупых вопросов:
1. Почему SYSTEM_BASICINFORMATION=0, а SYSTEM_TIMEINFORMATION = 3? Существует нумерация этих параметров, где-то ее можно посмотреть?
2. Структура для SYSTEM_BASICINFORMATION в MSDN выглядит так:
typedef struct _SYSTEM_BASIC_INFORMATION {
BYTE Reserved1[24];
PVOID Reserved2[4];
CCHAR NumberOfProcessors;
} SYSTEM_BASIC_INFORMATION;
Черт с ним с тем, что у меня 44 байта, а здесь - 24 плюс не пойми сколько. Но что означают эти параметры? Что такое Reserved1 и Reserved2, что они показывают? NumberOfProcessors у себя в массиве нашел в последних 4 байтах - но перед этим еще полный массив всяких страшных чисел. Что они показывают?
ВНЕЗАПНО нашел в гугле другую структуру:
typedef struct _SYSTEM_BASIC_INFORMATION
(
ULONG Unknown; / / Always contains zero
ULONG MaximumIncrement; / / a clock unit of measurement
ULONG PhysicalPageSize; / / a memory page size
ULONG NumberOfPhysicalPages; / / system manages the number of pages
ULONG LowestPhysicalPage; / / low-end memory page
ULONG HighestPhysicalPage; / / high-end memory page
ULONG AllocationGranularity;
ULONG LowestUserAddress; / / to end users to address
ULONG HighestUserAddress; / / high-end users to address
ULONG ActiveProcessors; / / activate the processor
UCHAR NumberProcessors; / / the number of processors
) SYSTEM_BASIC_INFORMATION, * PSYSTEM_BASIC_INFORMATION;
Великолепно подходит под мою, как раз 44 байта и последние 4 - количество процессоров. Что за странные структуры на MSDN и где тогда брать правильные структуры?
3. Почему SYSTEM_TIMEINFORMATION там в MSDN вообще нет? Мне нужна еще SYSTEM_HANDLEINFORMATION. Ее там тоже нет.

Не по теме:

да, я знаю, что API в C# - это ужасно и тупо, да. Вопросы остаются.



Вернуться к обсуждению:
NtQuerySystemInformation в руках нуба C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2011, 22:26
Готовые ответы и решения:

NtQuerySystemInformation
1) работает эта функция на win7? 2) как работать с Native api? 3) почему при компиляции,...

Переопределение NtQuerySystemInformation
Я C# программист и никогда не писал на C++, пока не появилась необходимость воспользоваться WinAPI....

Access violation при перехвате NtQuerySystemInformation
Доброго времени суток, друзья, В общем, кратко о задаче: Пишу утилиту по скрытию различных...

Перечисление потоков через NtQuerySystemInformation
Проблема в том, что эта функция возвращает не все потоки. В структуре SYSTEM_PROCESS_INFORMATION у...

2
16.07.2011, 22:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2011, 22:26
Помогаю со студенческими работами здесь

Спасайте нуба)
Значит лазил я во Внешний вид - BeTheme Options и случайно сбросил все настройки на дефолтные. Как...

Вопрос от нуба)
std::cout << "Hello World!\n"; return 0; } я поробывал ее написать в Борланде 6 (так как диск с...

Спасайте нуба
Нужно до 7 утра уже сегодня видимо написать одну из трех программ. Судоку, Покер, Оргонайзер. ...

У игрока на руках 13 карт из 52-ух
У игрока на руках 13 карт из 52-ух. Какая вероятность того, что он имеет 8 карт одной масти? ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru