Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
MЫW
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
1

PinvokeLib.dll

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

Author24 — интернет-сервис помощи студентам
Уважаемые форумчане, не могли бы вы выложить эту чудесную либу?(
Или хотя-бы скомпилировать... http://msdn.microsoft.com/ru-r... .100).aspx
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2013, 02:27
Ответы с готовыми решениями:

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

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

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

Dll файл в exe файле. Вшить dll libcurl
Проблема такая что приходится таскать всегда libcurl.dll с собой. Надо все носить в одном exe....

6
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
13.04.2013, 02:53 2
а сам чего не соберешь ее copy/paste -> build ?
0
MЫW
124 / 109 / 9
Регистрация: 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
267 / 189 / 33
Регистрация: 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
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
13.04.2013, 03:25 5
возможен тривиальный вариант

вы вообще добавляли dll к проекту? (в vs там что-то типа проект>добавить существующий)
0
MЫW
124 / 109 / 9
Регистрация: 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
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
13.04.2013, 03:40 7
http://habrahabr.ru/post/150327/ перевод статьи про - " extern "C" "
0
13.04.2013, 03:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2013, 03:40
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru