如何用VB实现文件的关联

textstar 2000-08-20 06:07:00
我有一个的程序叫TEXT.exe想关联*.TXT文件,在双击123.TXT后调用TEXT.exe打开它.请问如何用VB编写TEXT.EXE来实现这个功能,文本编辑方面已经解决就是于关联文件的部分请各位高手帮忙!谢谢!(好象有个什么"%1"的关键字,我不懂是什么意思)
...全文
368 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
OUYAN 2000-08-20
  • 打赏
  • 举报
回复
首先你要知道,注册表的关联原理,比如当你双击一个TXT文件,首先系统就在HKEY_CLASSES_ROOT\.txt 处查找,它的默认值是“txtfile”,(表明关联信息在”txtfile“处)
然后系统会再找HKEY_CLASSES_ROOT\txtfile,可以看到下面有好多分支。其中”DefaultIcon“是文本文件的默认图标。
”open\command“里面就是关联打开TXT文本文件的内容,是写字板,把它改为你的TEXT.exe就可以了。
%1是写字板打开TXT文本文件的参数。

hyzx2000 2000-08-20
  • 打赏
  • 举报
回复
参见问题id=16535,这是我在那道题的答案。
下面的代码实现了注册文件扩展名、图标、打开方式,



'声明以下常数和API函数
Private Const REG_SZ = 1 ' Unicode nul terminated string
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
'cbData为字符串lpData的长度,一个汉字为两个字节
'使用示例,注册一种扩展名123的文件,缺省打开方式为用记事本
Private Sub Command1_Click()
'注册文件类型.123为file123
RegSetValue HKEY_CLASSES_ROOT, ".123", REG_SZ, "file123", 7
'设置文件类型file123的图标与记事本的图标相同
RegSetValue HKEY_CLASSES_ROOT, "file123\DefaultIcon", REG_SZ, "c:\windows\notepad.exe,0", 24
'设置file123的缺省打开方式为read
RegSetValue HKEY_CLASSES_ROOT, "file123\Shell", REG_SZ, "read", 4
'设置file123的右键菜单read显示的菜单项名称为"阅读.123文件"
RegSetValue HKEY_CLASSES_ROOT, "file123\Shell\read", REG_SZ, "阅读.123文件", 12
'设置文件类型file123的缺省打开方式为用记事本打开
RegSetValue HKEY_CLASSES_ROOT, "file123\Shell\read\Command", REG_SZ, "c:\windows\notepad.exe ""%1""", 22
End Sub

Nicrosoft 2000-08-20
  • 打赏
  • 举报
回复
修改注册表中的txt文件的属性,ShellCommand 改成 path\TEXT.exe %1 就可以了,不过,修改注册表要用API

7,762

社区成员

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

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