Cómo restringir la aplicación MFC para que se ejecute solo desde una unidad flash USB conocida
Frecuentes
Visto 646 veces
1 Respuestas
2
En MFC: GetFileInformationByHandle
BY_HANDLE_FILE_INFORMATION info;
DWORD dwSerialNumber = 0;
if(GetFileInformationByHandle(FileHandle, &info) != 0)
{
dwSerialNumber = info.dwVolumeSerialNumber;
swprintf(szTemp, L"The Volume Serial Number = %d", info.dwVolumeSerialNumber);
MessageBox(NULL, szTemp, L"Success", MB_OK);
}
else
{
swprintf(szTemp, L"GetFileInformationByHandle Error = %d", GetLastError());
MessageBox(NULL, szTemp, L"Success", MB_OK);
}
En C#/C++.NET: Use WMI el número de serie interno de una unidad USB.
Pruebe este código, si no hay un número de serie, es porque algunas unidades flash USB los tienen, otras no.
//import the System.Management namespace at the top in your "using" statement. Then in a method, or on a button click:
ManagementObjectSearch theSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'");
foreach (ManagementObject currentObject in theSearcher.Get())
{
ManagementObject theSerialNumberObjectQuery = new ManagementObject("Win32_PhysicalMedia.Tag='" + currentObject["DeviceID"] + "'");
MessageBox.Show(theSerialNumberObjectQuery["SerialNumber"].ToString());
}
contestado el 03 de mayo de 12 a las 14:05
¿Cómo puedo obtener FileHandle? He intentado algo como esto. ` 'LPCSTR szBuf = "F:\\"; HANDLE FileHandle = CreateFile(szBuf, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);' Recibí el error 6.` - tpwynn
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c++ mfc or haz tu propia pregunta.
Poner tal restricción en un programa me parece extraño. ¿Podríamos saber lo que está tratando de lograr? - ereOn
Estoy tratando de poner la aplicación en una unidad flash USB. Es como una aplicación plug and play. No es necesario instalar. Pero solo debe ejecutarse desde cierta unidad USB. Solo necesita proteger la copia de la aplicación desde el usb y ejecutarla en todas partes. - tpwynn
posible duplicado de Prevención de la elusión de la protección contra copias - Bo Persson
@BoPersson, ¿copiaste el enlace incorrecto? Esa pregunta no es un duplicado en absoluto. - Mark Ransom