如何限制 MFC 应用程序仅从已知的 USB 闪存驱动器运行
How to Restrict MFC Application to run only from a known USB flash drive
我想制作一个只能从已知的USB闪存驱动器运行的MFC应用程序。如果我们复制到其他地方,则不应运行它。我在这里发现了这样的问题但我真的不明白。请给我一个提示。
在 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);
}
在 C#/C++.NET 中:使用 WMI 作为 USB 驱动器的内部序列号。
尝试代码,如果没有序列号,则有些USB闪存驱动器确实有,有些则没有。
//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());
}
相关文章:
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 与SPI NAND闪存(STM32L4,QSPI)的通信问题
- 从不属于应用程序的闪存读取
- LittleFS文件系统,NOR闪存的文件写入问题
- STM32使用HAL库的外部闪存读取设备ID
- STM32F4 - 在运行时将函数从闪存复制到RAM
- 如何将来自闪存中不同银行的两个内存区域交换为STM32L475
- 为什么在STM32上未清除闪存页面
- 如何在看门狗执行前将日志复制到闪存?
- 一种避免pgm_read访问闪存的方法(avr 微控制器)
- g++arm none eabi从4.9升级到gcc 8.2.生成的二进制文件不再适合闪存
- 如何检查USB插槽中是否存在空闪存卡读卡器?
- 获取闪存驱动器的读写速度
- c/c++:如何知道已用闪存的大小?
- 如何以编程方式使用 MBR 和 USB 闪存扇区
- C++/C 实时闪存流处理
- 在闪存驱动器上为 Windows C++ Code blocks设置 OpenGL
- 如何限制 MFC 应用程序仅从已知的 USB 闪存驱动器运行
- 使用libusb从USB闪存驱动器读取数据
- 如何使用C++将包含多个分区的映像写入Windows上的USB闪存驱动器