но вообще советую полистать вот эти сайты: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1233313403&n=5 http://msdn.microsoft.com/en-us/library/aa394132(VS.85).aspx http://www.magsys.co.uk/delphi/magwmi.asp Да и что тебе не дает юзать HardwareIDExtractor.dll Но лучше копать в сторону WMI потому что это более надежнее
slesh (выше пример прога вообще молчит хотя у друга показало серийник) я бы юзал HardwareIDExtractor.dll )) так она платная эта либа(((((
так сразу бы и сказал что тебе нужен не серийный номер винта, а серийный номер тома. Code: var serial:dword; tmp:dword; begin if GetVolumeInformation('c:\', 0, 0, @serial, tmp, tmp, 0, 0) then showmessage(inttohex(serial, 8));
Вот тут навоял небольшую функцию для получения серийника первого винта юзая WMI Код слегка через жопный, но работает. Code: uses ComObj, ActiveX; function CoInitialize(pvReserved: Pointer): HResult; stdcall; external 'ole32.dll' name 'CoInitialize'; function GetHDDSerialNum():string; var locator:variant; service:variant; properties:variant; p:IUnknown; p1:Olevariant; Enum:IEnumVariant; Value: Cardinal; begin CoInitialize(nil); locator := CreateOleObject('WbemScripting.SWbemLocator'); service := locator.ConnectServer('.'); properties := service.ExecQuery('SELECT * FROM Win32_PhysicalMedia'); p := properties._NewEnum; p.QueryInterface(IEnumVariant, Enum); Enum.Next(1, p1, Value); result := p1.SerialNumber; locator := Unassigned; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(GetHDDSerialNum()); end;
ну это же W7. Там чтобы получить такую инфу необходимо запустить прогу от имени админа. (в контекстном меню кликаеш - запустить от имени администратора) А вообще этот код в основном для XP и 2k3 В Win 2k и ниже пахать скорее всего не будет.
Вот посмотри тут и выбирай какой тебе по душе: http://www.cracklab.ru/download.php?action=list&n=MzU=
Не получается =( возвращает либо ошибку либо мусор...если можно небольшой пример...может чего не так делаю)
скорее всего чтото не так делаеш. А также ты уверен что там именно widechar а не utf8 вот пример простой Code: var s:string; pw:PWideChar; n:dword; begin n := 1024; getmem(pw, n); // выделим память под переменную GetUserNameW(pw, n); // получим имя юзверя в виде WideChar s := WideCharToString(pw); // Преобразуем в нормальный вид freemem(pw); // освободим память ShowMessage(s); // выведем на экран в нормальном виде end;
Подскажите пожалуйста...Я навичок Через Button каким скриптом открывать .bat файлы? типо по этому адрессу БАТ лежит "H:\010101.bat"
В uses добавил ShellAPI на кнопку ввел скрипт этот begin ShellExecute(Handle, 'open', 'H:\La2offline Interlude v1.9\la2offline.vo.uz\123\startGameServer.bat', '', nil, SW_SHOWNORMAL); end; Но когда нажимаю на кнопку в ехе"шнике появляется ошибки! Вот ошибка! _http://www.imagebam.com/image/32666949009139 Но когда вручную врубаю без проги то всё норм, загрузка идет без этих ошибок!