如何用程序方式实现 Win2k 或 WinXP 中“拔下或弹出硬件”功能。

of123 2006-07-19 10:39:37
用代码将一个 USB 硬件关闭。
...全文
369 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2006-07-20
  • 打赏
  • 举报
回复
后记:

最终用
Shell "RUNDLL32.EXE shell32.dll,Control_RunDLL hotplug.dll"
以及
SendKeys

缺点是屏上闪一下。以后再研究直接用 API。
fxy_2002 2006-07-19
  • 打赏
  • 举报
回复
严重关注!!!!
mustudent 2006-07-19
  • 打赏
  • 举报
回复
顶住
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
可以从 Microsoft 下载中心下载以下文件:

立即下载 DevCon 软件包。 (http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe) 发布日期:2003 年 1 月 29 日

有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 (http://support.microsoft.com/kb/119591/) 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

DevCon.exe 文件包含以下文件:
文件 说明
I386\DevCon.exe 32 位 DevCon 工具的二进制文件。此文件在 64 位 Windows 上不能充分发挥作用。
Ia64\DevCon.exe 64 位 DevCon 工具的二进制文件。

注意:DevCon 的源代码也可以从 Windows DDK(位于 http://www.microsoft.com/whdc/devtools/ddk/default.mspx/ (http://www.microsoft.com/whdc/devtools/ddk/default.mspx/))中得到,路径是 DDK root\Src\Setup\Devcon,此位置还提供了文档。
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
还好有人回贴
要不剩下的发不上来了
http://support.microsoft.com/?kbid=311272

DevCon 是一个带有内置文档的命令行实用工具。如果您运行 devcon help 命令,将会出现以下命令列表和描述信息。devcon help 命令可提供关于任何命令的详细帮助。使用其中的某些命令,您可以指定远程目标计算机。如果您在 WOW64 上使用 32 位版的 DevCon,则以下命令有效。设备控制台帮助:
devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...]
-r 如果指定它,在命令完成后若需要则重新启动计算机。
<machine> 是目标计算机的名称。
<command> 是将要执行的命令(如下所示)。
<arg>... 是命令需要的一个或多个参数。
要获取关于某一特定命令的帮助,请键入:devcon.exe help <command>
classfilter 允许修改类别筛选程序。
classes 列出所有设备安装类别。
disable 禁用与指定的硬件或实例 ID 匹配的设备。
driverfiles 列出针对设备安装的驱动程序文件。
drivernodes 列出设备的所有驱动程序节点。
enable 启用与指定的硬件或实例 ID 匹配的设备。
find 查找与指定的硬件或实例 ID 匹配的设备。
findall 查找设备,包括那些未显示的设备。
help 显示此信息。
hwids 列出设备的硬件 ID。
install 手动安装设备。
listclass 列出某一安装类别的所有设备。
reboot 重新启动本地计算机。
remove 删除与特定的硬件或实例 ID 匹配的设备。
rescan 扫描以发现新的硬件。
resources 列出设备的硬件资源。
restart 重新启动与特定的硬件或实例 ID 匹配的设备。
stack 列出预期的设备驱动程序堆栈。
status 列出设备的运行状态。
update 手动更新设备。
UpdateNI 手动更新设备,无用户提示
SetHwID 添加、删除和更改根枚举设备的硬件 ID 的顺序。

迈克揉索芙特 2006-07-19
  • 打赏
  • 举报
回复
哇,老大问的哦。
找资料去了.....
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
卸载usb裝置
devcon remove
拔除usb裝置
devcon disable
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
用shell命令就可以了
好像是 xxx /remove
我看看去
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
嘿嘿
我肯定有分接了
zhenmeiyisi 2006-07-19
  • 打赏
  • 举报
回复
学习~
kmlxk0 2006-07-19
  • 打赏
  • 举报
回复
学习~
sicaboy 2006-07-19
  • 打赏
  • 举报
回复
好帖!
DengXingJie 2006-07-19
  • 打赏
  • 举报
回复
关注...
VirtualDesktop 2006-07-19
  • 打赏
  • 举报
回复
http://www.codeproject.com/article.asp?tag=1005522589238896

这个不可以么?我觉得按lz的水平译成vb不难吧?
verywzm 2006-07-19
  • 打赏
  • 举报
回复
MARK

恩,上次偶也想试下这个功能,结果发现全是VC的,呵呵
一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20040714/10/3172923.html

全是vc的vb的没有哦
of123 2006-07-19
  • 打赏
  • 举报
回复
>devcon其中的 remove呢?

删除设备,相当于删除相关驱动程序。
注意,devcon 是替代设备管理器的。

已经知道有三个解决方案:
1 采用 hotplug.dll 动态库的 API 函数 "HotPlugEjectDevice",但此函数未公开,未知调用方法。

2 Shell "RUNDLL32.EXE shell32.dll,Control_RunDLL hotplug.dll" 调出“拔下或弹出硬件”窗口,SendMessage 或 Sendkeys 模拟手工移除。

3 用楼上的 DeviceIoControl 来处理。

研究中。

一笑拔剑 2006-07-19
  • 打赏
  • 举报
回复
devcon其中的 remove呢?
试下看
yinweihong 2006-07-19
  • 打赏
  • 举报
回复
XP下面,单volume的成功,多volume的usb设备,比如移动硬盘,还没测...
of123 2006-07-19
  • 打赏
  • 举报
回复
进一步说明:我的设备是一个 USB 接口的 PC/SC 规范读卡器。
加载更多回复(4)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧