Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.08.2007, 15:40
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
Сообщение DLL и ОС

Привет, у меня возникло 2 вопроса.
1.Я много встречался когда в программах программеры извлекали функции из DLL не имеющей описания в Дельфи. Но как они знают какие функции есть в этой DLL? И как можно узнать какие фунции содержаться в конкретной DLL?
2.Как узнать какая ОС стоит на компьютере (ее версия, номер SP и т.д)?
3.Заранее благодарен.
Ответить с цитированием
  #2  
Старый 17.08.2007, 15:49
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

1.Есть специальные программы для этого
2.Вот как узнать имя компьютера:
Код:
uses Windows;

function GetComputerNetName: string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetComputerName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;
Как узнать версию компьютера:
http://www.btc.lancom.ru/programming...s_version.html
http://www.btc.lancom.ru/programming..._version2.html
Как узнать имя пользователя:
Код:
function GetUserFromWindows: string;
var
  UserName : string;
  UserNameLen : Dword;
begin
  UserNameLen := 255;
  SetLength(userName, UserNameLen);
  if GetUserName(PChar(UserName), UserNameLen) then
    Result := Copy(UserName,1,UserNameLen - 1)
  else
    Result := 'Unknown';
end;
3.Всегда пожалуйста
__________________

Ответить с цитированием
  #3  
Старый 17.08.2007, 18:05
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от moo2k
Привет, у меня возникло 2 вопроса.
1.Я много встречался когда в программах программеры извлекали функции из DLL не имеющей описания в Дельфи. Но как они знают какие функции есть в этой DLL? И как можно узнать какие фунции содержаться в конкретной DLL?
2.Как узнать какая ОС стоит на компьютере (ее версия, номер SP и т.д)?
3.Заранее благодарен.

Например в Total Commander'e есть приблуда которая по F3 показывает все импортируемые/экспортируемые функции.
А ещё есть утилитка поставляется вместе с делфями которая даёт очень информативную инду о длл и ехе. Не тока импорт/экспорт ф-ий но и ресурсы. Утилитка лежит в делфийском каталоге BIN\ называется TDUMP.EXE правда консольная
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
  #4  
Старый 20.08.2007, 12:40
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
Злость

Цитата:
как можно узнать какие фунции содержаться в конкретной DLL?
Раньше в Windows можно было по правой кнопке выбрать "Быстрый просмотр" для exe и dll. И блокнот выводил список функций (правда, не для всех dll), а теперь этого нет.
Ответить с цитированием
  #5  
Старый 20.08.2007, 14:01
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

PExplorer может показать импорт\экспорт PE файлов.
На счет версии виндов - запусти Paint и нажми в нем О программе, или другую стандартную виндовскую прогу.
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #6  
Старый 21.08.2007, 18:01
Аватар для Keygenmusic
Keygenmusic Keygenmusic вне форума
Активный
 
Регистрация: 24.10.2005
Адрес: Там
Сообщения: 201
Репутация: 20
По умолчанию

2. Узнать какая ОС ? - Винда, Дос, линукс или ещё что думаю просто и вопрос не об этом
Узнать верисю: просто посмотреть - Пуск-Выполнить - winver (энтер). можно в консоли набрать тоже самое или ver.
Узнать программно:
GetVersionEx(var lpVersionInformation:_OSVERSIONINFOA);
Ответить с цитированием
  #7  
Старый 05.09.2007, 12:48
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Цитата:
Сообщение от moo2k
как можно узнать какие фунции содержаться в конкретной DLL?
В папке Bin есть утилита TDump.exe. Надо запустить её с ключом -ee. Пример:

Код:
tdump -ee xmlide.dll
Turbo Dump  Version 5.0.16.12 Copyright (c) 1988, 2000 Inprise Corporation
                    Display of File XMLIDE.DLL

EXPORT ord:0051='__linkproc__ Xmlparse::Finalize'
EXPORT ord:0050='__linkproc__ Xmlparse::Initialize'
EXPORT ord:0036='__fastcall XMLDOMElementImpl::XMLDOMElementImpl(DOM_Element)'
EXPORT ord:0037='__stdcall XMLDOMElementImpl::Release()'
EXPORT ord:0039='__stdcall XMLDOMElementImpl::getAttribute(System::AnsiString, S
ystem::AnsiString *)'
...
Ответить с цитированием
  #8  
Старый 09.01.2008, 18:04
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Печаль Увы

Для моей dll не подходит, т.к. выводит только имена функций, которые я уже давно знаю, а нужно параметры
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter