Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Вниз

Использование функции из kernel32.dll, которой нет в заголовках   Найти похожие ветки 

 
Aldor_   (2004-07-10 13:11) [0]

По поводу соседней ветки о сабже (ссылка ниже): пытаюсь сам написать заголовок для функции (ссылки на страницы msdn ниже) GetComputerNameEx.

interface
...
function GetComputerNameEx(NameType: TComputerNameFormat; lpBuffer: PChar; var nSize: DWORD): BOOL; stdcall;
...
implementation
function GetComputerNameEx; external kernel32 name "GetComputerNameEx";

Тип TComputerNameFormat тоже писал сам:

type
 TComputerNameFormat = (ComputerNameNetBIOS,
   ComputerNameDnsHostname,
   ComputerNameDnsDomain,
   ComputerNameDnsFullyQualified,
   ComputerNamePhysicalNetBIOS,
   ComputerNamePhysicalDnsHostname,
   ComputerNamePhysicalDnsDomain,
   ComputerNamePhysicalDnsFullyQualified,
   ComputerNameMax);

При запуске приложения выдает выдает "Procedure entry point GetComputerNameEx could not be located in the dynamic link library kernel32.dll".
Почему не поключается статически?!

Ссылка на ветку:
http://delphimaster.net/view/14-1089426184/ (правда там меня уже обещали линчевать :)

Ссылка на описание функции GetComputerNameEx (msdn):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getcomputername.asp

Ссылка на описание структуры COMPUTER_NAME_FORMAT (TComputerNameFormat):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/computer_name_format_str.asp


 
ПЛОВ   (2004-07-10 13:18) [1]


> Почему не поключается статически?!

АГА! НЕ ПОДКЛЮЧАЕТЬСЯ!! НУ ТАК ТЕБЕ И НАДО :) Нчего изменять windows.pas!!!!!

p.s. не обижайся


 
deep ©   (2004-07-10 13:39) [2]


> Использование функции из kernel32.dll, которой нет в заголовках
>

когда-то, еще в институте я без прочтения надлежащих книг хотел написать на асме драйвер устройста(для нестандартного чтения дискет в 5-дюймовом дисководе). Знаешь что получилось? Сжег монитор. :))


 
Dann   (2004-07-10 13:50) [3]

ПЛОВ   (10.07.04 13:18) [1]
> Нчего изменять windows.pas!!!!!

 ааааааа (плачет) я не меняа-а-а-ал, я в сво-ой модуль запихну-ул! :))))))))))))))))))))))

deep ©   (10.07.04 13:39) [2]
> Сжег монитор
 
 Преклоняюсь перед Вашим талантом, честное слово, я так не умею :)))


 
Aldor_   (2004-07-10 13:52) [4]

Dann (10.07.04 13:50) [3]

 Это... эт я, извиняюсь за путаницу, я тут не один за компом, тут еще один паренек посты слал.


 
deep ©   (2004-07-10 14:03) [5]


> Dann   (10.07.04 13:50) [3]
>  Преклоняюсь перед Вашим талантом, честное слово, я так
> не умею :)))

дык, сам толком не понял как так получилось(исходник списать на дискетку не получилось). Монитор конечно, не дымылся. Получился интресный эффект -- "звездное небо" как Нортона командора, только не из звездочек а из полной ASCII-таблицы символов. Я комп тихонько выключил и "сделал ноги". А на второй день там уже стояла совсем другая машина.


 
Anatoly Podgoretsky ©   (2004-07-10 14:05) [6]

Вот как надо делать апгрейд машин


 
Rouse_ ©   (2004-07-10 14:27) [7]

А под 98 ее и нет :)
 Windows NT/2000 or later: Requires Windows 2000 or later.
 Windows 95/98/Me: Unsupported.
 
Header: Declared in Winbase.h; include Windows.h.
 Library: Use Kernel32.lib.
 Unicode: Implemented as Unicode and ANSI versions on Windows 2000.


 
Aldor_   (2004-07-10 14:34) [8]

Rouse_ ©   (10.07.04 14:27) [7]

 Стоит ХР, дело, видимо, в чем то еще.
 Спасибо, что обратили внимание, я пропустил, а хотел на на машинах с 98-ми виндами запускать.


 
deep ©   (2004-07-10 14:44) [9]


> Anatoly Podgoretsky ©

:)))
Ну это отдельная тема. Примерно в те же времена для знакомого писал под дос резидента, который отслеживает смену даты (времени) и искусственно создает "проблему 2000". Благодаря мне тот знакомый обновил парк техники, невзирая на то, что проблемы 2000 там естественно не было, но машинки были не шустрые. Исходник имеется. :)))


 
Aldor_   (2004-07-10 15:15) [10]

Есть! Нашел баг.
Вот в чем дело было:
external kernel32 name "GetComputerNameExA"
И все заработало. Осталось только спросить у Борланда какого кулера они заголовки не дополняют (или неполностью дополняют)


 
Aldor_   (2004-07-10 15:39) [11]

Хм... а вот имя функции GlobalMemoryStatusEx так и остается "GlobalMemoryStatusEx" без всяких там "А". Её, кстати, в заголовки тоже не включили.


 
хм ©   (2004-07-10 15:46) [12]

а - это значит используются ascii строки. w - wide строеи. А когда в функции вообще строк нет, то и постфикса соответственно нет


 
Aldor_   (2004-07-10 16:22) [13]

хм ©   (10.07.04 15:46) [12]

Спасибо большое за консультацию, а я и не знал.


 
Marser ©   (2004-07-10 18:48) [14]

На будущее:
http://delphi-jedi.org/
Имеется объявление многих API-функций и не только.
Один из участников - Алекс Коншин.


 
Aldor_   (2004-07-11 04:15) [15]

Marser ©   (10.07.04 18:48) [14]
 Видел, знаем, спасибо :)


 
SammIk ©   (2004-07-11 09:23) [16]

КАк правильно заметили дело в "A" или "W"
Если использоваться прога будет в 98 то используи A, если только
в NT то лучше W(но мона и А). И естесно надо будет работать с
ВаидЧар.
Всего хорошего))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.035 c
4-1087995049
Samael6
2004-06-23 16:50
2004.08.01
Хук на закрытие и свертывание окна


4-1087565956
help
2004-06-18 17:39
2004.08.01
Screenshot


14-1089731821
ded rf
2004-07-13 19:17
2004.08.01
Как узнать код мобильного оператора


1-1090131039
electric
2004-07-18 10:10
2004.08.01
Name = Элемент управления обозревателя Microsoft . Что за чушь?


14-1089625819
АлексейК
2004-07-12 13:50
2004.08.01
Прислали недавно программку...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский