当前位置:电脑软件 > 系统工具 > EXE\DLL > 7z.dllv1.0官方版

7z.dllv1.0官方版

大小:893KB语言:简体中文类别:EXE\DLL

类型:国产软件授权:免费软件时间:2018/8/20

官网:

环境:Windows10,Windows7,WinVista,WinXP

安全检测:无插件360通过腾讯通过金山通过瑞星通过

本地下载

7z.dll是一个电脑系统中不可缺少的组件,也就是dll文件,缺少相关文件时就需要用到它,至关重要,这时这个dll修复文件就派上用场了。运行软件或者游戏时都需要它的支持,缺少了这个文件软件或者游戏运行不起来,可能会提示“dll损坏、丢失”或者提示“dll不存在” 又或者“计算机找不到dll”等信息,甚至可能是我们在下载软件时携带的病毒篡改系统程序所导致dll文件缺失,大家不用着急,更不用担心,本站提供7z.dll官方版下载,可以解决dll文件损坏以及dll修复的问题,只需将该文件下载至电脑桌面,然后复制粘贴到系统目录下就可以了,是不是很简单,赶快来下载吧!
7z.dll

修复方法

说明:部分dll文件中有多个目录,分别表示多个系统专用文件
X86表示32位系统
x64表示64位系统
1、在本站下载7z.dll文件,下载后解压
2、将“7z.dll”文件复制到系统目录下
3、系统目录一般为:C:\Windows\System32 64位系统为C:\Windows\SysWOW64
4、最后点击开始菜单-->运行-->输入regsvr32 7z.dll后,回车即可解决错误提示!

主要症状

1、游戏等应用程序无法正常运行
2、打开应用程序时提示缺少dll文件
3、系统运行中出现dll缺失的提示弹窗
4、下载软件时携带的病毒篡改系统程序导致7z.dll文件缺失

文件介绍

此dll是7z解压软件的一个非常重要的dll文件,很多软件或游戏都使用该软件进行高比例压缩,缺少它可能造成部分游戏不能正常解压,如斗战神安装卡在该dll。当你的电脑弹出提示“没有找到dll”或者“丢失dll”等错误信息,请下载小编为你提供的dll文件,使用它可以帮助您解决上述问题。

函数说明

1、关于dll在VC下的调用
关键:API函数FindWindowA和IsWindow
在PB中常常需要运行一些外部的程序或命令,并等待其执行完成后,才接下来运行剩余的代码。我们可以有两种方法:
先定义全局外部函数:
Function long ShellExecuteA (long hwnd, string lpOperation ,String lpFile, String lpParameters, String lpDirectory, Long nShowCmd) Library "shell32.dll"
Function long FindWindowA (String lpClassName , String lpWindowName ) Library "user32.dll"
Function boolean IsWindow (Long hwnd ) Library "user32.dll"
第一种方式用Run() 函数,可在窗口上建立按扭,clicked事件中包含如下Script:
ulong ll_handle
int li_loop
SetPointer(HourGlass!)
//最小化执行xxx.bat
run("xxx.bat", Minimized!)
//循环到窗口打开,根据程序执行打开所需的时间设定li_loop的循环次数,可预留长一些。
for li_loop= 1 to 10000
ll_handle = FindWindowA("tty","xxx")
yield() //函数作用详见“PB技巧”中《Pb中Yield()函数的使用》
if ll_handle <> 0 then
exit
end if
next
//一直循环到窗口关闭
Do While isWindow(ll_handle)
Yield()
Loop
//应用执行完成
messagebox(‘ok’, ‘执行完成!’)
这种方法的缺点是不能隐藏外部应用程序窗口,只能最小化。
第二种方式用API函数,可以隐藏应用程序的窗口,但是调用bat批处理命令时需要先建立一个PIF文件指定执行完成后关闭窗口,否则窗口不会自行关闭。可在窗口上建立按扭,clicked事件中包含如下Script:
uint lu_return
ulong ll_handle
int li_loop
string ls_Path
SetPointer(HourGlass!)
lu_return = ShellExecutea(handle(parent), "open", "xxx.pif", "", ls_path, 0)
//最后一个参数改为4,可以显示执行情况
if lu_return > 32 then
for li_loop= 1 to 10000
ll_handle = FindWindowA("tty","xxx")
yield()
if ll_handle <> 0 then
exit
end if
next
//一直循环到窗口关闭
Do While isWindow(lu_handle)
Yield()
Loop
//应用执行完成
MessageBox("ok", "执行完成!")
Else
//error
messagebox("错误", "调用外部应用程序不成功,请检查应用程序路径!")
End if
2、使用dll完成简单解压缩
首先去7z官网下载代码 7z的源代码或者lzma都可以,但是推荐下7z的源代码,里面东西比较全
dll 通过 COM 接口工作。但是它并没有使用标准的 COM 接口 。如果有com基础的话 看他的代码会比较容易。
比较简单的例子是 /cpp/7zip/ui/client7z 里面有简单的 压缩 解压缩 和查看压缩包文件。dll的源代码在 bundles/7zformatf 里面
其中 clinet7z和 file manager的代码看起来比较好理解,可以自己一步一步跟着走。 // 晚上再更新 
dll 采用com接口工作,但是它并没有使用标准的COM接口。
对文件的解压主要靠下面两个回调类
/ Archive Open callback class
// 压缩文件打开回调类  class CArchiveOpenCallback:
public IArchiveOpenCallback,
public ICryptoGetTextPassword,
public CMyUnknownImp
// 解压回调类  class CArchiveExtractCallback:               
public IArchiveExtractCallback,
public ICryptoGetTextPassword,
public CMyUnknownImp
解压回调类中
// IProgress
STDMETHOD(SetTotal)(UInt64 size); //获得加压文件总字节数
STDMETHOD(SetCompleted)(const UInt64 *completeValue); //获取当前解压文件大小字节数 可以再这个回调函数中自己计算当前的解压进度。
//IArchiveExtractCallback
STDMETHOD(GetStream)(UInt32 index, ISequentialOutStream **outStream,Int32 askExtractMode); //获取文件流,
LRESULT MyReleaseSteam(); //当取消解压时,释放文件流控制权原因取消解压后没有走到SetOperationResult()回调函数,而释放文件流就在这个函数中,所以要自己释放。
//获取接口函数
CreateObjectFunc createObjectFunc = (CreateObjectFunc)lib.GetProc("CreateObject");
CMyComPtr archive;
errorcode =  createObjectFunc(&CLSID_CFormat7z, &IID_IInArchive, (void **)&archive);
CInFileStream *fileSpec = new CInFileStream;
CMyComPtr file = fileSpec;
UString archiveName = GetUnicodeString(inFile);
if (!fileSpec->Open(archiveName))
{
//打不开压缩文件,(找不到该文件)
return ;
}
CArchiveOpenCallback *openCallbackSpec = new CArchiveOpenCallback;
CMyComPtr openCallback(openCallbackSpec);
openCallbackSpec->PasswordIsDefined = false;
errorcode = archive->Open(file, 0, openCallback);
if (errorcode != S_OK)
return;
// Extract command
CArchiveExtractCallback *extractCallbackSpec = new CArchiveExtractCallback;
CMyComPtr extractCallback(extractCallbackSpec);
extractCallbackSpec->Init(archive, OutFile); // second parameter is output folder path
extractCallbackSpec->PasswordIsDefined = false;
extractCallbackSpec->SetFileInfo(info);
// extractCallbackSpec->PasswordIsDefined = true;
// extractCallbackSpec->Password = L"1";
errorcode = archive->Extract(NULL, (UInt32)(Int32)(-1), false, extractCallback);
if (errorcode != S_OK)
return;
下载地址

有问题?点击报错+投诉+提问

网友评论

0条评论

评分:
captcha 评论需审核后才能显示

实时热词