|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.02.2011, 16:37 | #1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
dll
Создаю dll, точнее разбираю пример с http://www.cyberguru.ru/cpp-sources/...yj-shpion.html
Можете пояснить несколько строк? В смысле комментарии поставить? А то Операторы не совсем понятны Код:
|
02.02.2011, 20:29 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
У вас же расписано половину, а во второй стандартные директивы...
__cplusplus - "показывает С++ компилятор" |
03.02.2011, 09:44 | #3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Честно говоря, я не понимаю, зачем необходимо эти секции создавать....
Разбираю пример с этого сайта (ссылка указана в первом посте). Создал dll как было написано. *.dll, *.lib, *.exp скопировал в папку debug с новым проектом, где в последствии должен быть создан exe файл самой программы. Далее пишу код программы. Написал точно так же как на сайте, в результате ошибки линкера: Error 1 error LNK2019: unresolved external symbol __imp__SetKeyboardHook referenced in function _WinMain@16 C:\Documents and Settings\Dimarik\Мои документы\Visual Studio 2010\Projects\my_main_program\my_ma in_program\program.obj Error 2 error LNK1120: 1 unresolved externals C:\Documents and Settings\Dimarik\Мои документы\Visual Studio 2010\Projects\my_main_program\Debug \my_main_program.exe 1 Затем... Прочитал статью модератора этого форума MatBeu.... Добавил Код:
В результате ошибка: Error 1 error LNK1104: cannot open file 'dll_for_my_program.lib' C:\Documents and Settings\Dimarik\Мои документы\Visual Studio 2010\Projects\my_main_program\my_ma in_program\LINK И почему это он не может открыть этот файл? Я его уже куда только не копировал. Во все папки с проектом даже скопировал. Нифига не работает. А почму, не знаю и понять не могу=( Подскажите кто что знает, плиз. Последний раз редактировалось Stilet; 05.02.2011 в 16:09. |
03.02.2011, 11:05 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
какая версия студии?
у меня 2010 ищет в папке с проектом(основная папка проекта именно, где по умолчанию все сорцы!) а потом уже в папках поиска библиотек(в настройках или проекта или студии, смотря от версии) там где лежат обычные либки такие как kernel32.lib Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.02.2011, 15:13 | #5 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
user32.dll можно подключить только динамическим подключением библиотеки? То есть через LoadLibrary как написано в этой статье
http://programmersforum.ru/showthread.php?t=38078 ???? Или же можно статически подключить? P.S. Ведь без подключения user32.dll нельзя будет на API создавать элементы управления BUTTON, EDIT и т.д.? |
05.02.2011, 16:49 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
статически чтоб подключить то подключайте user32.lib к проекту. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
05.02.2011, 17:29 | #7 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Ну. Подключил.
Код:
2 IntelliSense: identifier "BUTTON" is undefined c:\documents and settings\dimarik\мои документы\visual studio 2010\projects\blokirator\blokirator \blokirator.cpp 15 не знает что такое BUTTON |
05.02.2011, 17:38 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это вообще строка должна быть, а не переменная.
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
05.02.2011, 17:40 | #9 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Та я просто читал что это слово определено через #define......
Всё. сделал всё как ты сказал, подключил #pragma comment(lib, "ComCtl32.Lib") и написал CreateWindow("BUTTON", "Press me", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 0, 0, 80, 30, hMainWindow, NULL, hInstance, NULL); В результате всё компилится, а только вот кнопка не создаётся: Последний раз редактировалось Stilet; 05.02.2011 в 20:17. |
05.02.2011, 19:33 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а что возвращает CreateWindow?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пытаюсь понять код user32.dll и gdi32.dll | Beermonza | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 43 | 13.07.2010 15:09 |
Windows I/o без Kernel32.dll и Advapi32.dll | coinkrsk | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 31 | 27.06.2010 08:52 |
[DLL] Загрузка и выгрузка dll в/из чужого процесса | Человек_Борща | Win Api | 4 | 28.02.2010 17:47 |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку | kapustin | Общие вопросы .NET | 10 | 23.09.2009 22:20 |