草庐IT

移动设备安全

全部标签

c++ - 使用 native Windows API 的 win32 线程安全队列实现

由于windows缺少条件变量(虽然从vis​​ta开始引入,但windowsXP和2003不支持),用c++实现线程安全的队列不是很容易。StrategiesforImplementingPOSIXConditionVariablesonWin32.我需要的是只使用CriticalSection或Mutex和Event,而不使用信号量和条件变量。我也试图找到一个只使用win32nativeAPI的确切实现,但没有成功。所以我自己完成了一个。问题是我不是100%确定代码是线程安全的。谁能告诉我好不好?classCEventSyncQueue{public:CEventSyncQueue

c# - 在组织中授权 USB 设备的最佳方式?

我正在开发一个项目,我需要限制访问组织网络中非白名单USB设备的使用。我通过检查该USB设备的VID和PID来使用它。现在的问题是,如果假设我有一个AppleI-pad,那将有一个全局VID和PID编号。如果我将任何AppleI-Pad列入白名单,那么根据我当前的情况,所有其他AppleI-Pad都将在网络中获得授权。这是从VID和PID编号检查USB设备的最佳方法,无论该设备是否在组织网络中列入白名单,还是其他比它更好的东西。请提出建议。谢谢。 最佳答案 除了供应商和产品ID之外,USB设备描述符还可以包含设备序列号。如果存在,对

c++ - 跨不同计算机识别设备

我在这里阅读:https://kc.mcafee.com/corporate/index?page=content&id=KB53715&cat=CORP_DATA_LOSS_PREVENTION_HOST&actp=LISTHID、PID、VID和GUID嵌入在设备的硬件中。以下是否有意义:我拿了一个USB键盘,将它插入我的电脑。我读出设备的HID、PID、VID和GUID,并将其保存在某个地方。我将此HID、PID、VID和GUID发送到我friend的计算机上。我的friend插入USB键盘。如果HID、PID、VID和GUID匹配,那么我们的键盘类型相同,甚至可以是同一个键盘,

windows - 如何让 USB 设备加载我的功能驱动程序?

我写了一个usb功能驱动。如果我想让插入我计算机的任何USB设备加载此驱动程序而不是其真正的驱动程序,我应该怎么做?我只知道如果在总线驱动程序创建pdo时更改vid/pid,我可以做到。但我不知道是否有简单的方法可以做到这一点。如何改变总线的行为?过滤器驱动程序可以做到吗?平台是Windows。 最佳答案 最好的办法是实现一个HID(HumanInterfaceDevice)司机。通过遵循HID准则,您需要的大部分功能都已得到支持,而无需编写自定义设备驱动程序。这里有一些帮助您入门的链接:使用HID类简化了编写USB设备驱动程序的工

windows - 为 Windows 8 获取稳定的唯一设备 ID

所以有各种各样的帖子,比如thisone关于获取Windows8设备的唯一标识符。然而,也认识到当各种系统组件改变时标识符改变。来自thedocs:HardwaredriftisthereasonwhytheappshouldnotconsumetheASHWIDbytestreamasis.Ifafewhardwarecomponentschangeorareswitchedoff,theAPIreturnsadifferentASHWID.Theapprisksthepossibilityofincorrectlyidentifyingthesamedeviceasanewdevi

windows - 在 Powershell 中将 X 个文件从一个文件夹移动到另一个文件夹

我有一个文件夹A,其中包含75000个要处理的文件。我旁边有4个文件夹(A、B、C、D),一次可以处理3000个文件。我想要一个脚本从A获取3000个文件并将其放入B。然后它应该再获取3000个文件并放入C,然后是D,​​最后是E下面是我目前的代码。这需要10个文件并将它们移动到B,但它只是永远坐着而不将任何文件放入C、D或E。有没有办法退出代码的EnumerateFiles部分?我只想移动它找到的第一个X个文件,我不关心A中有多少个文件。有什么想法吗?$dirBase="\\networkDir\A\"$dirProc1="\\networkDir\B\"$dirProc2="\\n

c# - 是否可以在不将源移动到目标的情况下在 C# 中进行拖放?

我想知道在UI设计领域是否存在这样的情况,即您将一个TreeList的项目拖放到另一个TreeList项目上只是为了调用一个新窗口(以执行某些功能)但实际上并没有移动源并将其放下到目标上。我有这个要求,但我不确定它是否有意义。我以为树List中的DragandDrop只是将一个项目移动到树的另一个分支,而不是触发弹出。我错了吗?我目前看到的例子,都是将源移动到目标。 最佳答案 拖放基本上是一组被触发的事件。您的代码可以使用Drop事件来执行任何操作。因此,完全有可能在放置时触发弹出窗口。阅读此http://msdn.microsof

windows - DIDEVICEINSTANCE guidInstance 和 guidProduct 在同一设备上发生变化

我在一个项目中使用DirectInput8来监控电脑的各个组件。我们使用DirectInput8来监控操纵杆。通过枚举所有以DI8DEVCLASS_GAMECTRL为类型、以DIEDFL_ATTACHEDONLY为标志的操纵杆来检索数据。最近我注意到我们出现了多个操纵杆。首先,我查看了我们在两次重新启动之间存储组件的xml文件。游戏杆有两个条目,LogitechExtreme3dpro,每个条目都有一个独特的产品指南。我备份了文件并将其删除,在我重新启动机器后下次应用程序启动时有效地强制重新扫描机器。我能够让同样的问题发生并注销guids并且它们每个都不同。该系统只有一个插入的操纵杆,

c# - 如何从 WM_DEVICECHANGE 获取设备信息?

我正在开发一个C#程序,以便在插入设备后立即检索设备的信息。我想问一下,有什么方法可以根据设备插入/拔出时触发的WM_DEVICECHANGE事件获取设备的信息(名称、ID、...).我尝试查看WM_DEVICECHANGE的参数,但其中没有任何内容包含有关设备的信息。提前致谢。 最佳答案 我刚刚在这里回答了类似的问题:https://stackoverflow.com/a/57182910/1886251以下是您需要执行的操作的详细信息:通过WM_DEVICECHANGE获取设备信息您需要在名为RegisterDeviceNoti

c# - 获取文件移动日期时间

当您复制文件(在Windows环境中)时,Creation和LastAccess日期时间会被修改,并且可以使用FileInfo对象进行检索。但是,我找不到任何可靠的日期时间(直接链接到文件),当文件移动到文件夹中时会发生更改。Windows是否会在移动文件时更新文件中的任何日期时间值(并且可以检索)?注意我没有走入死胡同,我有很多解决方法。我只是想知道这是否可以直接在文件级别处理以避免不必要的逻辑。 最佳答案 所以这似乎是它在Windows中的工作方式:创建时间:如果目标文件已经存在,则保留其创建时间,否则设置为当前系统时间。上次修