编译自己的资源文件编辑器(reseditor.exe)

vs.net2003 本身带了一个资源文件编辑软件,但默认没有编绎,不能使用。下面是我编绎这个工具的过程:

1.找到reseditor这个目录。一般在“
Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Tutorials\resourcesandlocalization\reseditor”

2.reseditor目录中只有build.bat批处理文件。没有编绎C#源程序需要的csc.exe文件。我用了一个最笨的方法,就是把需要的文件全部拷贝到这个目录中。编绎C#源程序需要的文件如下:
csc.exe
cscomp.dll
cscompui.dll

3.把以上文件拷贝到reseditor目录后运行build.exe。系统会在当前目录新生成一个reseditor.exe的可执行文件。双击reseditor是不是看见了想要的东西 ^.^。


在程序中读取资源文件中的图片:
假如资源文件myrs.resources中有一个welcom的字段,值是一个图片。在程序要读取这个图片可以这样写:
1.在程序头部导入resources,reflection两个命名空间
Imports System.Resources
Imports System.Reflection
2.在“解决方案资源管理器”中右击当前解决方案在弹出的菜单选择“添加”“添加现有项”加入myrs.resources资源文件。确保myrs.resources是“嵌入的资源”
3.在程序中这样写:
Dim mypic As New picturebox
Dim rdrs As resourcemanager
rdrs=New resourcemanager("你的解决方案.myrs.resources",Me.GetType().Assembly)
mypic.Image=Ctype(rs.GetObject("welcom"),Image)
4.按F5运行。

转载于:https://www.cnblogs.com/wlq2000/archive/2005/03/14/118245.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
'这是从源文件里调用msvbvm60.dll 注册的代码 '本代码是放在模块 Moudule1.bas 里面,不是放在Form1里面的. '要注册.dll .ocx最好是放在.bas里面,并把启动项设为Sub Main '否则有可能在还没进入窗体执行注册的动作前,就产生错误而中断了 '尤其是98系统之下的msvbvm60.dll '先建立一个源文件, 在 Custom 101 装载 msvbvm60.dll Global winsys$, appdisk$, aa$ Sub Main() On Error Resume Next If App.PrevInstance Then MsgBox "本系统已运行中, 不得重复加载!!", vbOKOnly, "菜鸟多媒体桌面工具": End appdisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") winsys = GetSyspath Call regdllocx Form1.Show End Sub Private Sub regdllocx() On Error Resume Next Dim byt() As Byte aa = winsys & "msvbvm60.dll" If Dir(aa) = "" Then byt = LoadResData(101, "CUSTOM") Open aa For Binary As #1 Put #1, 1, byt() Close #1 End If If Dir(aa) <> "" Then aa = "Regsvr32 /s " & aa Call Shell(aa, vbHide) End If End Sub Public Function GetSyspath() As String '获取system32路径 aa = Trim(Environ("ComSpec")) GetSyspath = Mid(aa, 1, InStrRev(aa, "\")) End Function '直接从源文件调用 .bmp图片(只允许.bmp),不必释放到硬盘 'Me.Icon = LoadResPicture(101, vbResIcon) '注释:加载图标 'Picture1.Picture = LoadResPicture(101, vbResBitmap) '注释:加载位图 'Command1.MouseIcon = LoadResPicture(101, vbResCursor) '注释:加载光标' '播放 WAVE 声音(只允许.wav) Option Explicit Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long Const SND_ASYNC = &H1 Const SND_MEMORY = &H4 Private Sub Command1_Click() Dim bArr() As Byte bArr = LoadResData(101, "CUSTOM") DoEvents sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cbm666/archive/2008/03/08/2158287.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值