Свързани въпроси '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 изгледи
schedule
09.12.2022
Маршалинг на 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