winapi- все статьи тега


Win32: как получить процесс / поток, которому принадлежит мьютекс?

Я работаю с приложением, в котором в любой момент времени должен существовать только один экземпляр. Для этого есть несколько возможностей: Проверьте запущенные процессы на соответствие имени нашего EXE (ненадежно) найти главное окно (ненадежно, и у меня не всегда есть главное окно) Создайте мьютекс с уникальным именем (GUID) Вариант мьютекса кажется мне наиболее надежным и элегантным. Однако, прежде чем мой второй экземпляр завершится, Я хочу отправить сообщение в уже запущенный экземпл ...

Как определить, когда форма максимизируется?

Я хотел бы определить, когда форма будет развернута, чтобы сохранить определенные настройки (не связанные с размером или позицией) и немного изменить размер и позицию. Есть ли универсальный способ сделать это ? Я попытался поймать сообщение WM_SYSCOMMAND, как в этой статье. Он хорошо работает для максимизации из меню, с помощью кнопки maximize, но он не срабатывает, когда я нажимаю клавишу WIN + UP. Знает ли кто-нибудь универсальный способ, как поймать событие максимизации, включая случай с WIN ...

Win32: как создать элемент управления ListBox с помощью функции CreateWindowExW ()?

Я просмотрел несколько сайтов, документов и учебников, и все они говорят одно и то же, то есть любой элемент управления-это не более чем окно в API Win32, поэтому можно использовать функцию CreateWindowExW() для создания ListBox элемента управления/окна над главным окном приложения. Хотя я понимаю, что все элементы управления являются окнами с различным стилемdwStyle , Мне трудно понять, как создать экземпляр, скажем так, элемента управления ListBox. Я столкнулся с учебником где диалог записыв ...

Скрипт PowerShell, возвращающий неверное разрешение экрана

Я только что написал простой скрипт PowerShell, чтобы получить разрешение экрана моего монитора, но он, похоже, возвращает неправильные значения. # Returns an screen width and screen height of maximum screen resolution function Get-ScreenSize { $screen = [System.Windows.Forms.Screen]::PrimaryScreen $width = $screen.Bounds.Width $height = $screen.Bounds.Height return $width, $height } Get-ScreenSize Я запускаю этот скрипт на мониторе 4k с разрешением 3840 x 2160, но он дает м ...

c++ Windows API рекурсивный поиск не возвращает ожидаемый каталог

В настоящее время я пытаюсь написать программу, которая рекурсивно ищет файл, используя утилиты, присутствующие в windows.h.когда я выполняю следующий код, путь к файлу продолжает добавляться к последнему пути к файлу, но папки не просматриваются, и дескриптор не помечается как недопустимый. Я мучаюсь над этим уже несколько дней. Почему это не рекурсивный поиск? Edit: исправлен код для использования побитовых сравнений. Происходит та же ошибка. #include "stdafx.h" #include <iostre ...

Проверка цифровой подписи программно из Delphi

Мне нужна функция в Delphi для проверки цифровой подписи внешнего EXE или DLL. В моем конкретном приложении я собираюсь иногда вызывать другие процессы, но в целях безопасности я хочу убедиться, что эти исполняемые файлы были созданы нашей организацией перед их запуском. Я видел пример Microsoft в C, однако я не хочу тратить время на перевод этого на Delphi, если кто-то уже сделал это. Я бы предпочел фрагмент или код пример над сторонней библиотекой. Спасибо. ...

USB HID зависает на Read () в c#

Я пытаюсь подключиться к цифровой шкале USB, код действительно подключается к шкале, когда scale.IsConnected сбывается, но зависает на scale.Read(250) , где 250 должно быть таймаутом в миллисекундах, но он никогда не возвращается из чтения Я использую код из этого потока, за исключением одного изменения, которое было связано с новой версией библиотеки HID Майка О Брайена public HidDevice[] GetDevices () { HidDevice[] hidDeviceList; // Metler Toledo hidDeviceList = Hid ...

golang, вызов функции GetVolumeInformation winapi

Пытается вызвать функцию GetVolumeInformation из golang. Хотите получить имя Тома. Используйте спецификации api: BOOL WINAPI GetVolumeInformation( _In_opt_ LPCTSTR lpRootPathName, _Out_opt_ LPTSTR lpVolumeNameBuffer, _In_ DWORD nVolumeNameSize, _Out_opt_ LPDWORD lpVolumeSerialNumber, _Out_opt_ LPDWORD lpMaximumComponentLength, _Out_opt_ LPDWORD lpFileSystemFlags, _Out_opt_ LPTSTR lpFileSystemNameBuffer, _In_ DWORD nFileSystemNameSize ); Используйте код: // ...

Как узнать количество дисплеев в windows?

Я хочу подсчитать количество активных дисплеев. Для Mac я могу использовать следующее: CGDisplayCount nDisplays; CGGetActiveDisplayList(0,0, &nDisplays); log.printf("Displays connected: %d",(int)nDisplays); Как я могу добиться того же в Windows? Я нашелEnumDisplayMonitors , но не могу понять, как его использовать. ...

Является ли диспетчер задач особым видом окна "всегда сверху" для windows 10?

Если мое окно имеет расширенный набор стилей "всегда сверху", я ожидаю, что оно будет поверх всех окон, которые не имеют набора стилей "всегда сверху", и тех окон, которые имеют набор стилей "всегда сверху", но были активированы до активации моего окна. Чтобы проверить эту функцию, я открываю окно Диспетчера задач-установите его всегда сверху, а затем я открываю свое окно (myWindow). В Windows 7 я наблюдаю ожидаемое поведение - myWindow приходит на вершину задачи менеджер. {[6] однако}, в Win ...

Простая платформа C++ для приложений Win32 Windows? [закрытый]

Существует ли простой / малый фреймворк (кроме .NET), который позволяет создавать оконные приложения с C++ под Win32. так же, как маленькая DLL, которую я могу включить в свое приложение. он должен иметь базовые функции , такие как создание окна , кнопок, редактирование текста и обработка их. ...

Как Автоматически Скрыть Полосы Прокрутки На Элементе Управления Редактированием

В настоящее время я пытаюсь создать элемент управления редактированием (http://msdn.microsoft.com/en-us/library/windows/desktop/bb775458 (v=vs.85). aspx ) в моем приложении Win32, но, к сожалению, я не могу заставить вертикальную полосу прокрутки исчезнуть, когда она не используется. В данный момент я использую этот стиль: WS_CHILD | ES_MULTILINE | ES_WANTRETURN | WS_VISIBLE | WS_VSCROLL | ES_AUTOVSCROLL Это покажет полосу прокрутки, но она будет постоянно видна, даже если не требуется. В ...

Определите, указывают ли два имени каталога на один и тот же каталог

У меня есть две строки, содержащие пути к папкам. Есть ли способ определить, указывают ли они каким-то образом на одно и то же место? Сравнение строк кажется немного ненадежным, учитывая такие вещи, как нечувствительность к регистру, искажение длины файла 8.3, subst и т. д. Чтобы проиллюстрировать, как я могу определить, что эти два указывают на одно и то же место: String1 = "c:Program FilesMyFolder" String2 = "C:PROGRA~1MYFOLDER" ...

Как изменить цвет фона combobox

Как изменить цвет фона поля со списком в C++ с помощью Windows API? ...

Синтаксический анализ аргументов командной строки Win32 API

Я пишу консольное приложение Win32, которое можно запустить с дополнительными аргументами, такими как: app.exe /argName1:"argValue" /argName2:"argValue" Должен ли я анализировать его вручную (чтобы иметь возможность определить, какие аргументы присутствуют) из переменных argc/argv, или Win32 API содержит некоторые аргументы парсера? ...

C++ Win32 не получает DBT DEVICEARRIVAL или DBT DEVICEREMOVECOMPLETE на WM DEVICECHANGE

Я работал над обнаружением вставки/удаления USB. Я реализовал код с помощью CreateWindowEx (), передавая WNCLASSEX, который с моим оконным процессом обратного вызова. При вставке и удалении моего usb я успешно получаю сообщение WM_DEVICECHANGE, но wParam всегда устанавливается в DBT_DEVNODES_CHANGED. Я никогда не получаю ни DBT_DEVICEARRIVAL, ни DBT_DEVICEREMOVECOMPLETE. Я использую то, что получаю, но мне действительно нужно уметь отличать устройство прибытие и удаление, так что я могу пр ...

что по WinAPI подставка для

Я начал изучать Win32 API в C. Я видел, что основная функция-это что-то вроде int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { .. } Но я знаю, что функция в C похожа на [ReturnType] [FunctionName] (Args) { .. } В этом случае тип возвращаемого значения-int, а имя функции-WinMain. Так что же означает WINAPI и является ли это необходимым? Спасибо . :) ...

Атомарный Оператор Присваивания

Я использую очень легкую атомарную оболочку в качестве учебного упражнения для примитивных типов данных в C++ для Windows, и у меня есть несколько простых вопросов о реализации оператора присваивания. Рассмотрим две реализации ниже: // Simple assignment Atomic& Atomic::operator=(const Atomic& other) { mValue = other.mValue; return *this; } // Interlocked assignment Atomic& Atomic::operator=(const Atomic& other) { _InterlockedExchange(&mValue, other.mValue); ...

Размер WM не работает должным образом

У меня проблема с WM_SIZE. Я хочу захватить его с помощью PeekMessage (не WndProc). PeekMessage никогда не получает WM_SIZE, поэтому я отправляю дополнительное пользовательское сообщение в окно, чтобы захватить его с помощью PeekMessage, как это (код из WnProc) : case WM_SIZE: PostMessageW(hwnd, WM_USER + 1, wParam, lParam); break; Проблема в том, что я получаю WM_USER + 1 с помощью PeekMessage только тогда, когда окно развернуто или восстановлено. Нет сообщения, когда окно изменяется по ...

Попытка асинхронного ввода-вывода с потоками Win32

Я пишу программу последовательного порта для Windows. Чтобы повысить производительность, я пытаюсь преобразовать подпрограммы в асинхронный ввод-вывод. у меня есть код, который работает довольно хорошо, но я новичок в этом, и я хотел бы улучшить производительность программы дальше. Во время стресс-тестов программы (т. е. пакетных данных в/из порта как можно быстрее при высокой скорости передачи) нагрузка на процессор становится довольно высокой. Если у кого-то есть опыт асинхронного ввода-вывод ...