Precisei pegar o número de série para uma rotina de segurança no sistema em Java que estou desenvolvendo. Mas, o Java não consegue fazer isso "ainda". A solução é criar um programa externo ao Java em uma linguagem CAPAZ de fazer isso (hehehehe - malvadeza), é aí que entra o master C.
Obrigado Assuero, obrigado Google... chegamos à solução:
#include iostream.h
#include stdio.h
#include windows.h
DWORD retornaID(char *drive){
BOOL fResult;
char *pszDriveName;
char szVolName[MAX_PATH];
char szFileSysName[80];
DWORD dwSerialNumber;
DWORD dwMaxComponentLen;
DWORD dwFileSysFlags;
pszDriveName = drive;
fResult = GetVolumeInformation(pszDriveName, szVolName, MAX_PATH,
&dwSerialNumber, &dwMaxComponentLen,
&dwFileSysFlags, szFileSysName, 80);
return dwSerialNumber;
}
int main (int argc, char **argv)
{
char *drive = "c:\\";
printf("ID: %#ld\n", retornaID(drive));
system("PAUSE");
}
Forte abraço,
0 comentários:
Postar um comentário