|
Hello, Yesterday, I sent this message to have a little help of lua
friends .. ------------------------
Hello, I need to retrieve HDD's infos in lua, and store them in variables. Does someone has an idea, especially the physical serial number, not the one after formatting ? Thanks, JM Venet ------------------- today, after hard searching on the net, I found this : For windows, the disk informations are retrieveable via the library kernell32.dll with the function GetVolumeInformation this function sends these datas (contained in a data structure: _In_opt_ LPCTSTR lpRootPathName, _Out_opt_ LPTSTR lpVolumeNameBuffer, _In_ DWORD nVolumeNameSize, _Out_opt_ LPDWORD lpVolumeSerialNumber, _Out_opt_ LPDWORD lpMaximumComponentLength, _Out_opt_ LPDWORD lpFileSystemFlags, _Out_opt_ LPTSTR lpFileSystemNameBuffer, _In_ DWORD nFileSystemNameSize I coded with Wscite this : local path = 'C:\\Windows\\System32\\kernell32.dll' local func = package.loadlib(path, 'GetVolumeInformation') a = {} a[1] = func.lpRootPathName a[2] = func.lpVolumeNameBuffer a[3] = func.nVolumeNameSize a[4] = func.lpVolumeSerialNumber a[5] = func.lpMaximumComponentLength a[6] = func.lpFileSystemFlags a[7] = func.lpFileSystemNameBuffer a[8] = func.nFileSystemNameSize after process by F5, I received the following messages >lua -e "io.stdout:setvbuf 'no'" "test.lua" lua: test.lua:6: attempt to index local 'func' (a nil value) stack traceback: test.lua:6: in main chunk [C]: ? >Exit code: 1 If I put the lines from the statement a = {}, to the end in comments the messages are : (func is nil) lua -e "io.stdout:setvbuf 'no'" "test.lua" >Exit code: 0 is there someone who can give me a little help to retrieve the datas contained in the stucture returned by the function GetVolumeInformation thanks for help JM Venet |
begin:vcard fn:Jean Marc VENET n:VENET;Jean Marc email;internet:jmvenet@magic.fr tel;cell:+33 609 915 825 x-mozilla-html:TRUE version:2.1 end:vcard