Свързани въпроси 'pinvoke'

Възможно ли е подравняване 1:1 на C# структури с поточно предавани записи на Delphi?
Така че имам приложение на Delphi, което взема записи от различни типове, хвърля ги в поток от памет чрез stream.Write(record, sizeof(record)) и ги изпраща по наименована тръба. Вземете този запис на Delphi: Type TAboutData = record Version...
806 изгледи
schedule 27.09.2022

SendMessage не работи от C#
Опитвам се да отпечатам буква "а" в активния прозорец от моето приложение: [DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam); ... // global hotkey handler void hook_KeyPressed(object...
2658 изгледи
schedule 29.09.2022

C# struct to C++ Marshalling проблем
Извиквам C++ функция от C#. Това е заглавката на функцията в C++: int src_simple (SRC_DATA *data, int converter_type, int channels) ; И това е еквивалентната C# функция: [DllImport("libsamplerate-0.dll")] public static extern int...
1464 изгледи
schedule 05.10.2022

Входните точки на P/Invoke трябва да съществуват с посочените правилни входни точки
Получавам това предупреждение от инструмента за анализ на код във Visual Studio 2012. Кодът изглежда така: using System; using System.Runtime.InteropServices; namespace MyProgramNamespace { class NativeMethods {...
1092 изгледи
schedule 09.10.2022

c#: общо конвертиране на неуправляван масив в управляван списък
Имам работа с набор от собствени функции, които връщат данни чрез динамично разпределени масиви. Функциите приемат референтен указател като вход, след което го насочват към получения масив. Например: typedef struct result { //..Some...
2771 изгледи
schedule 11.12.2022

Как да инсталирате OpenType (тип на файла: otf) шрифт на приложение Започнете с C#
Трябва да инсталирам шрифт Myriad pro web. otf на клиентската машина, използвайки C#. Моля, предложете. Опитах се да инсталирам според кода, споменат в публикацията [DllImport("gdi32", EntryPoint = "AddFontResource")] public static...
3363 изгледи
schedule 11.12.2022

Извикване на споделен обектен файл на UNIX и Linux .so от c#
Има ли начин файл със споделен обект, написан на C и изграден на Unix, да бъде извикан от C# P/Invoke? Или трябва да използвам Java или нещо подобно?
9712 изгледи
schedule 28.10.2023

Как премествате софтуерен панел за въвеждане (клавиатура) в долната част на екрана на Windows Mobile?
Опитвам се да преместя клавиатурата в долната част на екрана, за да скрия лентата с менюта от 35 пиксела, която се показва по подразбиране на Windows Mobile 5/6. Всички примери, които съм виждал за промяна на лентата с менюта, се занимават със...
2131 изгледи

Маршалинг на c структури в c#
имам един „C“ „DLL“, който може да приема структури като вход, трябва да извикам този dll от моята c# програма Следват примерните структури, които имам в c, трябва да маршалирам тези структури в моя c# код правилно ли правя или грешно?...
3209 изгледи
schedule 19.11.2022

Подравняване на паметта на структурни променливи за p/invoke - Низовете губят последния знак
Опитвам се да чета записи от база данни на Btrieve (v6.15), като използвам btrieve API от C# код чрез P/Invoke. Успях да прочета записи, но последният знак от низове се изрязва по време на четене. Ако увелича размера на низа в моята структура от...
1385 изгледи
schedule 26.11.2022

масив като функционален параметър c към c# объркване
Опитвам се да напиша клас в C#, за да използвам експорти от dll, но се натъкнах на куп функции, които имат масив като функционален параметър, който не съм сигурен как се справя. По-долу е даден пример. Как бих използвал тази функция в C#?...
254 изгледи
schedule 14.11.2023

NetUserGetInfo/NetLocalGroupGetInfo връща грешка 1722
Имам следния код (VB.NET), който е предназначен да определи дали дадено име на акаунт се отнася за локална група или потребителски акаунт. Това ще се извиква само за акаунти/групи на машина, а не за домейн. Module netapi Private Declare...
3529 изгледи
schedule 25.11.2023

Използване на DLLImport с char** и float**
Опитвам се да използвам DLL файл в C# програма, използвайки DLLImport. Имам следната функция в DLL: int method(char* method, char** params, int n_params, float** res_arr, int* n_res); Извикването на функция трябва да бъде нещо подобно:...
1465 изгледи
schedule 08.11.2023

P/Извикване на неуправляван указател, като IntPtr или като void*
Имам неуправляван код с фиксирана структура в паметта, трябва да прочета и напиша структурата от управляваната страна; приложението е приложение в реално време и не мога да си позволя структурата да се маршалира всеки път, когато ми трябва, така че...
94 изгледи
schedule 19.11.2023

Как да използвате RegNotifyChangeKeyValue
Как мога да използвам API RegNotifyChangeKeyValue, за да ме уведоми, ако RegistryValue "MyValue" в ключа HKEY_CURRENT_USER\Software\Microsoft\Windows\Test е променен. Например, ако стойност с името "MyValue" е създадена в този път:...
1380 изгледи
schedule 19.11.2022

Как да извикам функция в C++ Dll от C#, която има void* обратно извикване и обектен параметър
Опитвам се да създам обвивка на C dll и се опитвам да извикам функция, която има функция за обратно извикване, получава обект като указател, който се предава обратно. Файлът .h работи extern int SetErrorHandler(void (*handler) (int, const...
3922 изгледи
schedule 07.12.2023

регистриране в персонализиран регистър на събитията (C# приложение, но с помощта на win32 API)
Поради ограничение в класа .NET EventLog, имам някакъв код, използващ PInvoke, който се регистрира в регистрационния файл на приложението. Кодът работи без проблем. Но сега бих искал да вляза в персонализиран регистър на събитията. И така, опитах...
3080 изгледи
schedule 13.12.2023

Принудително извикване на SetWinEventHook от основната нишка
Опитвам се да регистрирам някои кукички WinEvents на ниво обект на новосъздадени процеси, но като официален документация казва: За събития извън контекста събитието се доставя в същата нишка, която е извикала SetWinEventHook. Проблемът...
1336 изгледи
schedule 15.12.2023

Обвийте c++ функция, която се нуждае от указател на функция
имам външен dll (с C++ документация за това как да го използвам) и трябва да използвам някои функции вътре в него от моята C# програма. Написах малка обвивка за някои функции и те работят добре, но не знам как да обвивам функции, които се...
381 изгледи
schedule 31.10.2022

Вземете ID на процеса на клиент, който се е свързал към наименуван сървър с C#
Не съм сигурен дали просто не го виждам или какво? Трябва да знам идентификатора на процеса на клиент, който се е свързал чрез наименуван канал към моя сървър от екземпляр на NamedPipeServerStream . възможно ли е такова Междувременно измислих...
3116 изгледи
schedule 28.12.2023