社区
VB基础类
帖子详情
关于文件类型注册(高级内容)...
town
2000-07-24 04:13:00
用VB(主要是要原理及API函数),如何注册某种扩展名的文件,使其图标,打开方式,右键菜单与某个DLL或EXE关联起来。
右键菜单与DLL关联时,可以直接调用DLL中的函数(有参数)吗?
我不是很懂,希望你们能懂我说的意思(类似于*.ZIP)!
...全文
216
5
打赏
收藏
关于文件类型注册(高级内容)...
用VB(主要是要原理及API函数),如何注册某种扩展名的文件,使其图标,打开方式,右键菜单与某个DLL或EXE关联起来。 右键菜单与DLL关联时,可以直接调用DLL中的函数(有参数)吗? 我不是很懂,希望你们能懂我说的意思(类似于*.ZIP)!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JGTM2000
2000-07-28
打赏
举报
回复
rundll32命令的格式是这样的:
rundll32 <dllname>,<entryName> <parameter line>
给你写一下rundll32怎么工作的吧(示意代码):
1,hModule = LoadLibrary("dllname")
2, procEntry = GetProcAddress(hModule,"<entryName>");
3, if(!procEntry) return;
4,RUNDLL32PROC(procEntry)(hwnd,hInstance,paramLine,cmdShow);
5,return
关键这个RUNDLL32PROC的函数类型,定义如下:
void CALLBACK EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow); // for 32bit dll
你按照这个原型声明函数并输出符号就可以被rundll32执行了。其中lpszCmdLine就是入口函数名称空格后面的字串。要注意CALLBACK声明表明函数的调用规则是stdcall。void说明不用返回值。hwnd,hinst何nCmdShow跟WinMain入口参数的含义相同。
OK,have a try! Happy programming!
town
2000-07-28
打赏
举报
回复
我看错了,不是直接运行DLL(我是觉奇怪,安装目录找不到EXE,只有DLL),查看注册表,发现是用WIN自带的RUNDLL32.EXE在加载该DLL,关联为[rundll32.exe C:\WINNT\System32\Shellext\split.dll,UnSplitRunDLL "%1"],分析DLL知UnSplitRunDLL是Split.DLL中的接口函数,"%1"是该函数的参数。不知VB的DLL怎样才能做成这个样子呢.
JGTM2000:请你给俺解释一下!
JGTM2000
2000-07-27
打赏
举报
回复
"打开这种类型的文件只有通过DLL"?什么意思?DLL也是要用可执行模块加载执行啊!另外,{5e941d80-bf96-11cd-b579-08002b30bfeb}这样的东西是CLSID,COM组件的标识,你把具体的关联抄来,俺们给你解释。
town
2000-07-26
打赏
举报
回复
OK 1/2了。
但执行如何与DLL关联呢,我只有一个DLL,没有EXE,打开这种类型的文件只有通过DLL。不知是否可行。
我看其它程序有的关联是一串{5e941d80-bf96-11cd-b579-08002b30bfeb}之类的东西,不知是什么意思。
hyzx2000
2000-07-24
打赏
举报
回复
下面的代码实现了注册文件扩展名、图标、打开方式,
'声明以下常数和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
JAVA_API1.6文档(中文)
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....
Windows找不到文件“http://......”
请确定文件名是否正确后,再试一次。 ...请确定文件名是否正确后,再试一次。......) 当打开一个后缀为.url的Internet网址的快捷方式时,浏览器出现下图所示的对话框。 ...选项页上“已
注册
的
文件类型
使用ChatGPT解决8个办公自动化问题
一、ChatGPT编写程序 编写VBA程序 二、格式转换问题 批量转换.xls文件为.xlsx文件 批量转换.csv文件为.xlsx文件 批量转换.doc文件为.docx文件 批量转换Word文件为pdf文件 批量转换.ppt文件为.pptx文件 批量转换PPT...
Web.xml文件详解
Web.xml是JavaWeb项目中的一个配置文件,主要用于配置首页、Filter、Listener、Servlet等。 tomcat在部署启动web应用时,会解析加载${CATALINA_HOME}/conf目录下所有web应用通用的web.xml,然后解析加载web应用目录...
文件后缀和相应的
文件类型
,打开方法参考大全
文件后缀和相应的
文件类型
,打开方法参考大全 原帖:http://xidong.net/File001/File_4586.html 如果你不知怎样判断文件的后缀, 请参看: 什么是文件的后缀名?如果得知文件的后缀? 扩展名
文件类型
打开方式 ....
VB基础类
7,759
社区成员
197,606
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章