|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
DLL. Процедуры и функции.
Привет всем. У меня возникла проблема.
Мне нужно: 1) создать dll и в этой DLL процедуру определения серийного номера HDD; 2) вызвав с dll данную функцию вывести ее результат в файл .txt Пытался сделать сам не получилось , искал в инете примеры работы с DLL дам там все поверхностно. Буду очень благодарен за помощь. P.S. Раньше с DLL никогда не работал, так что извините если вопрос идиотский. Программирование - это искусство и наш смысл жизни. |
#2
|
||||
|
||||
Вот есть примерчик (правда на С++)
http://www.sources.ru/pascal/disks/hdd_num.zip Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#3
|
||||
|
||||
А вот еще одна процедурка:
Код:
procedure TForm1.Button1Click(Sender: TObject); var SerialNum:Pdword; a,b:Dword; buffer:array [0..255] of char; begin new(SerialNum); if getVolumeInformation('d:\',buffer,sizeof(buffer),SerialNum,a,b,nil,0) then Label1.Caption:=IntToStr(SerialNum^); Dispose(SerialNum); end; Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#4
|
||||
|
||||
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#5
|
||||
|
||||
Yurk@, я об этом методе определения S/N HDD уже знал.
The Shadow, спасибо, но я это уже находил в интернете. Я не могу составить программу у меня выводит S/N в виде абдакадабры. Кто-нибудь может составить программу именно с пунктами, что выше. Очень надо. Или мне выложить исходники того, что я уже сделал? Программирование - это искусство и наш смысл жизни. Последний раз редактировалось moo2k, 25.02.2008 в 16:58. |
#6
|
||||
|
||||
Давай исходный код! Посмотрим, что можно сделать
Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#7
|
||||
|
||||
Блин он у меня сейчас потерян.
Программирование - это искусство и наш смысл жизни. |
#8
|
||||
|
||||
DLL. Процедуры и функции.
DLL:
Код:
library HDDSNDLL; uses Windows, Classes; {$R *.res} function GetHDDSerial(out SN:DWORD):Boolean; var a,b:Dword; buffer:array [0..255] of char; begin Result := getVolumeInformation('d:\',buffer,sizeof(buffer),@SN,a,b,nil,0); end; exports GetHDDSerial name 'GetHDDSerial'; begin end. В программе до implementation пиши: Код:
function GetHDDSerial(out SN:DWORD):Boolean; external 'HDDSNDLL.dll' name 'GetHDDSerial'; Код:
var N:DWORD; begin if GetHDDSerial(N) then ShowMessage(IntToStr(N)); end; Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#9
|
||||
|
||||
Rokuell, спасибо. Сильно выручил.
Программирование - это искусство и наш смысл жизни. |
#10
|
||||
|
||||
Добавлю лишь, что лучше юзать метод вызова функций из DLL - stdcall (передача аргументов через стек), по умолчанию там fastcall (передача через регистры).
Не профи, но и не чайник . D6 - лучше не придумали. Пока. |
#11
|
|||
|
|||
Добрый день!
Большое спасибо этому чудесному сайту, большое спасибо программистам, которые отвечают на вопросы. По сути: мне необходимо создать программу, только не знаю с какого места зайти в Делфи. Основная функция программы заключается в том, что при нажатии на любую кнопку в Windows-ce, Internet Explorer, флешь анимации (это самое главное), эта кнопка распознавалась, и в программе происходили какие нибудь действия, например записывалось что Пользователь в такое то в время нажал кнопку «добавить» во флешь анимации, или закрыть. Распознавание кнопки хотелось бы, что происходило при помощи сравнения с таким же рисунком, например, Пользователь нажал кнопку «закрыть» далее сработала моя программа, она сравнила со своей базой кнопок «закрыть» с кнопкой которую, нажал пользователь… Так же программа должна, сама понимать на какую кнопку нажал пользователь, просто есть кнопки, которые нельзя распознать как текст, например «>>>» что обозначает далее. Буду рад пообщаться с умными людмию.. |