С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
#1

PinvokeLib.dll - C++

13.04.2013, 02:27. Просмотров 383. Ответов 6
Метки нет (Все метки)

Уважаемые форумчане, не могли бы вы выложить эту чудесную либу?(
Или хотя-бы скомпилировать... http://msdn.microsoft.com/ru-ru/library/as6wyhwt(v=vs.100).aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 02:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос PinvokeLib.dll (C++):

Точка входа в процедуру InterlockedCompareExchange64 не найдена в библиотеке DLL KERNEL32.DLL - C++
День добрый! При запуске моей программы (много моего кода + много разных сторонних dll) на WinXP SP2, получаем соответствующую ошибку...

Добавление своей dll в список dll подгружаемых процессом чужого процесса - C++
Вообще вопрос такой,как можно внедрить свою dll в список Import чужого не запущенного процесса?Не изменяя структуры файла.

Как узнать путь к загруженной DLL из самой DLL? - C++
Создаю небольшую программку в папке c:/test/app/, есть DLL в папке c:/test/dll/. В коде самой dll, после её подгрузки в программу, можно...

Запись из внедренной dll в другую dll этого процесса - C++
main.cpp #include <Windows.h> extern int writeprocess(); DWORD WINAPI MainThread(LPVOID lpParam) { ...

Dll файл в exe файле. Вшить dll libcurl - C++
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe. Enigma Virtual Box использовать нельзя,...

Как узнать зависимость DLL-ки от других DLL-ек? - C++
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд. Есть какая...

6
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
13.04.2013, 02:53 #2
а сам чего не соберешь ее copy/paste -> build ?
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 03:08  [ТС] #3
Руки не оттуда растут. Не компилится она у меня.
А вообще мне даже её не обязательно.
Вот есть у меня код:
C++
1
2
3
4
DLT_API int fndlt()
{
    return 42;
}
C++
1
DLT_API int fndlt();
И
C#
1
2
        [DllImport("dlt.dll")]
        public static extern int fndlt();
При выполнении fndlt пишет что ненаходит точку входа в процедуру. Когда делал callback копипастой с msdn'а он ругался на то что я неправильно параметры команды задаю.

Добавлено через 2 минуты
Хоть кто нибудь, объясните пожалуйста где я косячу то... Надо список модулей в процессе вытащить, а C# нехочет. Решил на C++ маленькую дллку сделать, как теперь информацию передать без этого незнаю.
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
13.04.2013, 03:23 #4
попробуй для начала из стандартных dll дергать функции как например :
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using namespace System::Runtime::InteropServices;
 
typedef void* HWND;
[DllImport("user32", CharSet=CharSet::Auto)]
extern "C" IntPtr MessageBox(HWND hWnd,
                          String* pText,
                          String* pCaption,
                          unsigned int uType);
void main(void) {
     String* pText = L"Hello World!";
     String* pCaption = L"Platform Invoke Sample";
     MessageBox(0, pText, pCaption, 0);
}
ну а после собери dll из шаблона , не забыв установить галочку на против экспорт символов .
0
abit
271 / 270 / 35
Регистрация: 03.02.2013
Сообщений: 760
13.04.2013, 03:25 #5
возможен тривиальный вариант

вы вообще добавляли dll к проекту? (в vs там что-то типа проект>добавить существующий)
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 03:32  [ТС] #6
Ненадо её добавлять, её подгружать надо...
Объявил так
C++
1
extern "C" __declspec(dllexport) int fndlt();;
Всё заработало. Пойду теперь копать в сторону экспорта моих модулей...

Добавлено через 2 минуты
C++
1
extern "C" DLT_API int fndlt();;
Так тоже пашет

Добавлено через 16 секунд
А вот без "C" почему-то нет.
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
13.04.2013, 03:40 #7
http://habrahabr.ru/post/150327/ перевод статьи про - " extern "C" "
0
13.04.2013, 03:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 03:40
Привет! Вот еще темы с ответами:

Как подключить dll на C# к проекту (dll) на С++ - C++
Подскажите, пожалуйста, как подключить dll на C# к проекту (dll) на С++. В интернете много примеров, где показаны примеры по подключению...

Вызов Dll-фий в другой Dll - C++
не получается дернуть dll в другой dll. Подскажите, как должен происходить вызов dll1 в dll2 ? (псевдокод) dll1.cpp { int...

Обращение к ресурсам DLL из самой DLL - C++
Коллеги, добрый день. Получил следующее задание - Создать библиотеку, DLL назначение которой, выполнить экспорт некоторой функции, в...

Вызов dll ресурсов в dll - C++
Помогите пожалуйста, вот такого рода проблемка вышла: Есть у меня dll и есть необходимость вызвать ресурс в потоке dll файла, который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.