Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 14:23   #1
artemstepanovuch
Новичок
Джуниор
 
Регистрация: 15.03.2013
Сообщений: 1
По умолчанию длл и кернел 32 функции, как сделать?

Peализoвать функцию (в завиcимocти oт варианта) библиoтeки kеrnеl32.dll. трeбoваниe:
библиoтeка c прилoжeниeм cвязываeтcя динамичнo.
Варианты рeализации функций:
CreateDirectory
GetComputerName
WriteFile
WinExec
ReadConsole

Я создал на директорию, но вылетает ошибка ...

#include <iostream>
#include <windows.h>
using namespace std;

typedef BOOL (WINAPI *hCreateDirectoryFunc)(LPSTR lpStr);

int main()
{
hCreateDirectoryFunc hCreateDirectory=NULL;
HMODULE hKernel32=NULL;
hKernel32=GetModuleHandle("kernel32 .dll");
if (hKernel32==NULL)
{
MessageBox(NULL,"Error Load Kernel32","Error",MB_OK);
return FALSE;
}
hCreateDirectory=(hCreateDirectoryF unc)GetProcAddress(hKernel32,"Creat eDirectoryA");
if (hCreateDirectory==NULL)
{
MessageBox(NULL,"Error Load hDelete","Error",MB_OK);
return FALSE;
}
if ((*hCreateDirectory)((LPSTR)"D:\\1" ))
MessageBox(NULL,"Deleted","Message" ,MB_OK);
else
MessageBox(NULL,"Not Deleted","Message",MB_OK);

return 0;

}

помогите пожалуйста! зарание спасибо!
artemstepanovuch вне форума Ответить с цитированием
Старый 15.03.2013, 16:23   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Я здесь вообще не увидел никакой реализации - только попытку импорта.
s-andriano вне форума Ответить с цитированием
Старый 15.03.2013, 18:54   #3
alexey_kip
Форумчанин
 
Регистрация: 19.11.2011
Сообщений: 198
По умолчанию

А то, что
Код:
kernel32 .dll
с пробелом это так и должно быть?
alexey_kip вне форума Ответить с цитированием
Старый 15.03.2013, 19:44   #4
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

2 s-andriano
Там вообще задание не понятно. С одной стороны - реализовать, с другой - тянуть либу...
Тут два варианта - либо требуется простая обертка с импортом родной функции, либо надо свою либу написать и ее грузить уже.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 15.03.2013, 20:39   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Ezhik Kihze Посмотреть сообщение
2 s-andriano
Там вообще задание не понятно. С одной стороны - реализовать, с другой - тянуть либу...
Тут два варианта - либо требуется простая обертка с импортом родной функции, либо надо свою либу написать и ее грузить уже.
Так, как написано в условии - однозначно второе.
Т.е. самому писать урезанный аналог kernel32.dll.
Так написано.
Но, согласен, задание абсурдное, т.к. для этого нужно еще, минимум, указать тип поддерживаемой ФС.
s-andriano вне форума Ответить с цитированием
Старый 15.03.2013, 21:22   #6
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Я тоже сначала подумал второе, но потом задумался... Все-таки для простой учебной задачи реализовывать низкую работу с ФС, да и ТС в коде грузит кернел32...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 15.03.2013, 22:20   #7
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Текст задания не допускает двойного толкования.
В то же время единственное толкование:
- некорректно, т.к. отсутствуют необходимые условия,
- сомнительно, т.к. явно не соответствует студенческому уровню.

Ds: Требовать уточнения задания.

PS. То, что пытается сделать ТС ни разу не аргумент - тут в каждой второй теме приводится решение совсем не той задачи, что присутствует в условии. Значительная часть спрашивающих берет из И-нета первый попавшийся исходник (не важно, в тему или нет) и просят переделать его под их задачу.
Кстати, то, что ТС так и не появился в теме, тоже симптоматично.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю как правильно сделать вызов функции Homutova_Julia Помощь студентам 14 07.06.2011 23:45
Не удаётся изменить переменную в ДЛЛ. Пошагово, она меняется. А при выходе из функции обратно TwiX Общие вопросы Delphi 6 23.05.2010 11:48
Как сделать возврат из функции VladimirVB Общие вопросы Delphi 5 28.08.2009 15:03
Как передать параметры функции в ДЛЛ????? Zerone Общие вопросы Delphi 3 01.06.2009 09:27
Как сделать ссылку в значении функции? Диагностик Microsoft Office Excel 3 18.02.2009 12:44