Вопросы по теме 'pinvoke'

Вызов Pinvoke для получения серийного номера Windows?
Обычный способ получить серийный номер Windows — это WMI. ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * From Win32_OperatingSystem"); // ... // Select number from managementobject mo["SerialNumber"] Я не хочу...
1906 просмотров
schedule 01.04.2024

Упорядочивание неуправляемого массива строк из PInvoked OpenFileDialog (GetOpenFileName)
OpenFileDialog возвращает указатель на память, содержащий последовательность строк с завершающим нулем, за которыми следует последний нуль, указывающий на конец массива. Вот как я получаю строки C# из неуправляемого указателя, но я уверен, что...
730 просмотров

PInvoke возвращает тип C с объединением
Как мне P/вызвать функцию C, которая возвращает объединенную структуру?
362 просмотров
schedule 14.11.2023

Рекомендации по организации кода .NET P/Invoke для Win32 API
Я занимаюсь рефакторингом большой и сложной базы кода в .NET, в которой интенсивно используются P/Invoke to Win32 API. Структура проекта не самая лучшая, и я повсюду нахожу операторы DllImport, которые очень часто дублируются для одной и той же...
2573 просмотров
schedule 25.07.2022

Откройте диалоговое окно настроек принтера и сохраните изменения.
Это то же самое, что и этот вопрос, с одним замечанием: нам удалось изменить настройки принтера, но как мы можем сохранить их в качестве настроек принтера по умолчанию ? (исходный вопрос не публикует / не отвечает на это) Код, который я...
3450 просмотров
schedule 19.04.2024

Как вызвать GetWindowLongPtr и SetWindowLongPtr на 32-разрядных платформах?
Я хочу P/Invoke для GetWindowLongPtr и SetWindowLongPtr , и я вижу противоречивую информацию о них . Некоторые источники говорят, что на 32-разрядных платформах GetWindowLongPtr — это просто макрос препроцессора, который вызывает GetWindowLong,...
8736 просмотров
schedule 31.10.2022

Запрос местоположения GPS (только долгота и широта) с телефона WM6 с использованием .NET CF
Я ищу очень простое решение, как получить данные GPS с мобильного телефона WM6. Я не ищу библиотеку-оболочку GPS (похоже, Google находит ТОЛЬКО библиотеки GPS...). Я был бы признателен за кусок кода, который делает именно это: запускает GPS,...
952 просмотров
schedule 19.10.2023

Необходимо активировать окно
У меня такая ситуация. У меня есть дескриптор окна приложения. Мне нужно его активировать. Я пробовал все эти функции, но не всегда работает. (В большинстве случаев это не работает в первый раз, и мне придется вручную щелкнуть по нему, чтобы...
14468 просмотров
schedule 03.05.2024

С# p/invoke, Чтение данных из списка, нарисованного владельцем
У меня есть окно со списком, созданным владельцем, во внешнем приложении ( America Online ), из которого мне нужно получить данные для создания компонента, чтобы помочь людям с его удобством использования. (утилита упростит доступ к некоторым вещам и...
925 просмотров
schedule 02.11.2023

Являются ли .net Enums преобразовываемыми типами? (маршаллинг)
По-видимому, есть список непреобразуемых типов, и пока я не вижу в нем конкретно Enums. Они вообще мутные? Или это зависит от того, объявлены ли они с непреобразуемым базовым типом? //e.g. internal enum SERVERCALL : uint { IsHandled = 0,...
2577 просмотров
schedule 02.09.2022

Доступен ли .NET PInvoke на платформах Linux и Mac OS X?
Вызов платформы в .NET Framework, доступный в Windows. [DllImport("user32.dll", CharSet=CharSet.Auto)] public static extern MessageBoxResult MessageBox(IntPtr hWnd, String text, String caption, int options); Доступен ли PInvoke на платформах...
3366 просмотров
schedule 16.11.2023

Возврат массива структур со структурой, содержащей char[] с помощью PInvoke
У меня есть массив структур, возвращаемый из PInvoke, и он возвращает массив в порядке, если структура просто содержит int или float, но когда я пытаюсь вернуть массив char, он начинает запутываться, я пытался вернуть IntPtr, но это не увенчалось...
3043 просмотров
schedule 07.11.2023

Как мне получить следующий элемент в массиве, когда я получаю первый элемент через pinvoke?
Я использую API, метод которого определен следующим образом: [DllImport("icsneo40.dll")] public static extern Int32 icsneoGetMessages(Int32 hObject, ref icsSpyMessage pMsg, ref Int32 pNumberOfMessages, ref Int32 pNumberOfErrors); с...
431 просмотров
schedule 21.10.2023

Как объявить следующее с помощью метода PInvoke?
Для простого окна сообщений, проверяя http://pinvoke.net/ , я получаю [DllImport("user32.dll")] static extern MessageBoxResult MessageBox(IntPtr hWnd, string text, string caption, int type); Однако компилятор сообщает, что MessageBoxResult...
422 просмотров
schedule 11.10.2022

C# вызывает функцию C, которая возвращает структуру с массивом символов фиксированного размера
Итак, было много вариантов этого вопроса, и, просмотрев несколько, я все еще не могу понять это. Это код C: typedef struct { unsigned long Identifier; char Name[128]; } Frame; Frame GetFrame(int index); Это код С#: struct Frame {...
8404 просмотров
schedule 20.03.2024

Несбалансированный стек при маршаллинге LPSTR и float
Я использую платформу/вызов, и я пытаюсь маршалировать LPSTR с плавающей запятой и int в функцию С++, и я получаю следующую ошибку: вызов функции PInvoke 'Game!Game.Graphics::CreateModel' разбалансировал стек. Вероятно, это связано с тем, что...
249 просмотров
schedule 26.09.2022

Маршалинг SafeHandles от неуправляемого к управляемому
В собственной оболочке dll, которую я пишу, я только что заменил все варианты использования IntPtr (для маршалинга дескрипторов) на SafeHandles. У меня сложилось впечатление, что правильно написанный тип SafeHandle взаимозаменяем с IntPtr таким...
2098 просмотров
schedule 18.03.2024

вызов встроенной функции C ++, приводящей к ошибке переполнения стека
У меня есть определение функции в собственном файле C ++ следующим образом: void fun(byte* arg1, int* arg2, byte arg3) {} Итак, из моего файла C # я вызываю функцию следующим образом: fun(ref byte[] arg1, ref int arg2, byte arg3); Не...
57 просмотров
schedule 21.02.2024

Попытка прочитать/записать ошибку защищенной памяти при вызове функции С++
У меня есть проект C++ X с соглашением о вызовах, установленным как __stdcall (/Gz), и проектом C# Y. Я определил класс myClass в ОБОИХ этих проектах. class myClass { private:int mem1; }; В определении класса C# я поставил перед ним...
120 просмотров
schedule 03.11.2022

Toggle Повышение точности указателя
Мы в основном создаем апплет панели управления. Нам нужно переключить «Увеличить точность указателя» в свойствах мыши. Для этого нам нужно вызвать SystemParametersInfo с помощью SPI_GETMOUSE . Он имеет массив из 3 элементов в качестве третьего...
1088 просмотров
schedule 28.01.2024