首页
社区
课程
招聘
[求助]如何将Dll与Exe一起发布?
发表于: 2006-12-15 16:28 7607

[求助]如何将Dll与Exe一起发布?

2006-12-15 16:28
7607
就是如何将DLL和调用DLL的EXE组合成一个文件new.exe,然后执行new.exe可以释放出原来的dll和exe到指定地方...

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
2
利用资源或者流技术把dll放到exe末尾组合成new.exe

用的时候释放即可

PS:你用的是啥语言?
2006-12-15 16:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我用的C语言啊~应该怎么做?我不清楚
2006-12-15 16:50
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
试试Molebox
2006-12-15 17:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不想用工具啊...想直接在MS VC++6.0的工程中改...知道怎么做吗?
2006-12-15 17:08
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
6
C里面代码怎么写我就不知道了
我用的是Delphi

你可以以 资源文件或者流操作 为关键字 搜索
2006-12-15 17:17
0
雪    币: 234
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
推荐一个最简单的方法:
将dll文件转成数组:

unsigned char dllfile[]={0x11,0x22,......}

使用的时候把这个数组写成一个dll文件,然后loaddll
2006-12-15 21:51
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
8
最初由 auser 发布
推荐一个最简单的方法:
将dll文件转成数组:

unsigned char dllfile[]={0x11,0x22,......}

........

这个法子好是好
如果DLL数据多了呢?
这样写起来就累了哦
2006-12-15 23:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
就是啊...
2006-12-16 01:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
一般都是放在资源文件里面,用的时候读出保存到硬盘,然后loadDll。不知道有没有不用保存到硬盘的方法,直接释放到内存里,然后调用。
2006-12-16 05:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
楼上的,我想用你的方...不知道怎么用,请指教~`
2006-12-16 10:57
0
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
12
把dll动态链接库改成静态链接库,dll文件都省了
2006-12-16 12:07
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
13
其实。。。用winrar就可以了
2006-12-16 12:27
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
zcg
14
有专门作这活的工具的。
2006-12-16 12:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我想知道:放在资源文件里面,用的时候读出保存到硬盘...在Visual C++中怎么做啊?
2006-12-16 13:54
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
16
最初由 wynney 发布
C里面代码怎么写我就不知道了
我用的是Delphi

你可以以 资源文件或者流操作 为关键字 搜索


都已经叫你搜索了
汗 还在这问
楼主是程序员还是编程新手?
2006-12-16 14:29
0
雪    币: 201
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
最初由 shoooo 发布
其实。。。用winrar就可以了


2006-12-16 15:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不好意思,VC我不会呀。在VB里实现起来很容易的,有一个资源编辑器,直接导入DLL文件既可。然后用LoadResData读出的DLL,之后open  write方法以二进制的形式写到硬盘,这几个都是VB函数,不知道VC怎么弄。 我还是想知道如何不释放到硬盘,直接调用,这样更绿色一些嘛。
2006-12-16 16:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
呃...学Win32编程没几天的...

最初由 wynney 发布
都已经叫你搜索了
汗 还在这问
楼主是程序员还是编程新手?
2006-12-16 17:54
0
雪    币: 196
活跃值: (111)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
http://www.vckbase.com/document/viewdoc/?id=1128
2006-12-16 18:17
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
21
把目标文件以资源形式导入
设置类型(这里以RAR为例)

执行下面的函数就可以释放资源了(根据实际需求设置其中的参数即可)
BOOL GenerateComponent ( CString szComponent )
// szComponent:资源释放的目标路径
{		
	HINSTANCE hInstance = AfxGetInstanceHandle();

	HRSRC hResInfo = FindResource ( hInstance, 导入后的资源路径, 资源类型 ) ;
	if ( hResInfo == NULL )
		return FALSE ;

	HGLOBAL	hRes = LoadResource ( hInstance, hResInfo ) ;  
	if ( hRes == NULL )
		return FALSE ;

	CFile file ;
	if( !file.Open( szComponent, CFile::modeCreate | CFile::modeWrite, NULL ) )
		return false ;

	DWORD	dFileLength = SizeofResource( hInstance, hResInfo );  
	file.WriteHuge((LPSTR)hRes,dFileLength); 
	file.Close();

	CloseHandle ( hRes ) ;
	CloseHandle ( hResInfo ) ;
	return TRUE ;
}
2006-12-25 10:07
0
游客
登录 | 注册 方可回帖
返回
//