关于优盘自动运行程序程序的问题

xttflxk 2006-02-06 05:06:25
请问那位高手可以帮我一下用VB实现当插入优盘后会自动运行我优盘上的指定程序的程序就像将VCD放入光驱会自动放映一样急等
...全文
276 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinweihong 2006-02-20
  • 打赏
  • 举报
回复
当然可以,AutoRun.inf里面就可以指定 好象是open=。。。。。.exe
U盘介入系统会有通知消息的,WM_DEVICECHANGE 而且好象只有HOOK这个消息才能知道U盘分配的是哪个盘符
xttflxk 2006-02-20
  • 打赏
  • 举报
回复
楼上大哥,你可以给我一个大概示例吗?你说的爱国者的可以运行指定应用程序吗?
goodname008 2006-02-09
  • 打赏
  • 举报
回复
最后啰嗦一句,如果楼主只是想实现U盘的AutoRun功能,而并非编程练手,可以买爱国者的,因为爱国者的U盘都是从我们公司OEM的,而我们公司的U盘和MP3有AutoRun功能。
goodname008 2006-02-09
  • 打赏
  • 举报
回复
TIMER的办法可不好,使用 SHChangeNotifyRegister 及其相关的一系列函数可以实现监视U盘的插入和拔出操作(当然它的功能不仅限于这个)。

你的想法行得通,和我说的基本一样,你的方案成熟以后可能会变成我的方案。 :D

屏蔽掉Ctrl + Alt + Del的问题,VC版的FAQ里有。
goodname008 2006-02-07
  • 打赏
  • 举报
回复
漏一句,那个ini文件放在U盘根目录,文件名固定下来就行了,就像autorun.inf一样。
goodname008 2006-02-07
  • 打赏
  • 举报
回复
自己定义一个ini文件格式,ini里可以指定运行哪些应用程序,这些应用程序的启动顺序,U盘拔出时是否被强杀掉,启动某程序时是否最大化等等等等。

然后使用 SHChangeNotifyRegister 及其相关的一系列函数可以实现监视U盘的插入和拔出操作(注意:这种作法比处理 WM_DEVICECHANGE 消息要好),最后把程序做出托盘程序,当有U盘插入或拔出时,根据你的程序逻辑来分析那个ini文件,启动(或结束)进程。

其实对于U盘或者MP3的AutoRun功能是有专利的,看似简单的AutoRun要想做好也不是很容易的,呵呵。
vansoft 2006-02-07
  • 打赏
  • 举报
回复
可以用VB寫個程序,監測是否有U盤插上,
因為當U盤插上的時候,系統會有個消息的,
截獲消息後,就可以調用U盤上的文件了。

我可以給你寫,因為我寫過。
技術支持:Van_flf@Hotmail.com
xttflxk 2006-02-07
  • 打赏
  • 举报
回复
楼上的大哥,有源码可以让兄弟们看一下吗?你这的说我还是不懂!我的大概思路是先设置程序为自启动,然后用一个TIMER控件检测优盘是否插入,当有的话运行指定程序,不知道是否能行的通,并且如何检测优盘插入,并且要屏蔽掉CTRL+ALT+DEL查看此程序,(即结束任务栏里没有我的程序进程)
zyl910 2006-02-06
  • 打赏
  • 举报
回复
//楼上的,我说的是优盘不是光盘,并且我是要自动运行

Windows系统对于所有可移动驱动器都设计了自动播放接口——写Autorun.inf文件

注意:只有Windows 2000才开始支持优盘的自动播放

如果Windows系统不支持自动播放(或已关闭自动播放),那么不可能实现“实现当插入优盘后会自动运行我优盘上的指定程序的程序就像将VCD放入光驱会自动放映一样”
lsftest 2006-02-06
  • 打赏
  • 举报
回复
试了一下,我的也不行,但我记得以前在sp1时是可以的。。。
找了一下,参考试试:
http://support.microsoft.com/?scid=kb;zh-cn;330135&spid=1173&sid=254
http://support.microsoft.com/?scid=kb;zh-cn;315753&spid=1173&sid=254
xttflxk 2006-02-06
  • 打赏
  • 举报
回复
楼上的,我现在就是95,可是不能自动运行!需要怎么改请多指教!
lsftest 2006-02-06
  • 打赏
  • 举报
回复
楼上的,我说的是优盘不是光盘,并且我是要自动运行,不需要双击或打开就能运行,
===========================
在这个问题上,优盘光盘是一个原理的,系统检测到有新盘插入且在该盘根目录里有上面说的那个文件,就运行里面设定的程序,当然,前提是你打开了系统的自动播放功能。。。。甚至你的硬盘分区也可以用这种方法,但在应用在硬盘分区的时候就多了一个步骤,就是要先点击那个盘符,,,,,,



你上面只告我如何禁止,没告我如何启用?
=====================
看仔细点:
“ 运行注册表编辑器Regedit,展开注册表到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explroer主键下,在右边窗口中将二进制值“NoDriveTypeAutoRun”的默认键值95 00 00 00,改为B5 00 00 00就可以禁止光盘自动运行功能。”
xttflxk 2006-02-06
  • 打赏
  • 举报
回复
楼上的,我说的是优盘不是光盘,并且我是要自动运行,不需要双击或打开就能运行,你上面只告我如何禁止,没告我如何启用?
lsftest 2006-02-06
  • 打赏
  • 举报
回复
基本上可以说与vb无关。。。
1。编写相应的Autorun.inf文件。。
参考:http://www.edisc.com.cn/bike/viewnews.btml?id=488

2.把你得到系统设置为支持自动播放功能,但一般系统默认就是可以自动播放的。。。当然,这部分你喜欢也可以用vb来做。。自动播放功能在注册表里相应的键参考:
http://help-online.org/bbs/topic.cgi?forum=10&topic=184&changemode=1
ChrisAK 2006-02-06
  • 打赏
  • 举报
回复
你去看看Autorun.inf的写法.

7,763

社区成员

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

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