Compare commits

...

28 Commits

Author SHA1 Message Date
9cc549527d 图标列表 2022-11-28 10:40:59 +08:00
43e473ad39 细节微调 2022-11-28 07:35:59 +08:00
d78916f4b0 简易打包器成型 2022-11-27 21:51:28 +08:00
bf370e9a91 版本号检测.exe 2022-11-27 16:17:57 +08:00
84f71c2043 初步实现图标提取功能 2022-11-26 22:27:31 +08:00
e5231d7846 新增wrestool 2022-11-26 22:21:34 +08:00
b653bcbb80 简易打包器雏形 2022-11-26 22:08:06 +08:00
ad9deaed81 感谢 @雁舞白沙 专门为小白用户编写的使用 Wine 运行器非基于生态适配脚本的程序打包教程 2022-11-26 19:02:23 +08:00
1b9e106d2a 感谢 @雁舞白沙 专门为小白用户编写的使用 Wine 运行器非基于生态适配脚本的程序打包教程 2022-11-26 18:53:26 +08:00
c51cf18f4c 感谢 @雁舞白沙 专门为小白用户编写的使用 Wine 运行器非基于生态适配脚本的程序打包教程 2022-11-26 18:27:59 +08:00
4217f58c2c 修复因为获取文件大小错误导致程序无法打开问题 2022-11-25 13:12:42 +08:00
c0ea459dae 2.5.0 done 2022-11-25 09:40:24 +08:00
ff0a578890 新功能 2022-11-24 22:46:39 +08:00
cacc3ac5af 更新打包器 2022-11-23 21:35:01 +08:00
f84ff6c809 demo 2022-11-23 20:14:13 +08:00
8e5dd50f19 UI优化 2022-11-23 13:38:50 +08:00
c5a66a7850 更新postinst 2022-11-22 22:40:24 +08:00
0cdb9b1f42 优化wine安装1 2022-11-22 22:27:18 +08:00
0e17b327fb 优化文案 2022-11-22 20:10:43 +08:00
a90fb2ae37 快捷方式删除功能 2022-11-20 17:48:10 +08:00
a5fd2522dd 2022-11-18 22:09:43 +08:00
1352fd7906 dll查询功能 2022-11-18 22:02:56 +08:00
50cdbd13f4 新增dll检测功能 2022-11-18 17:18:24 +08:00
386022ea36 docker模式 2022-11-16 22:59:45 +08:00
9d330cd147 新增修改的helper 2022-11-15 22:11:25 +08:00
dc660bb1f1 修复问题 2022-11-15 14:09:48 +08:00
249a98c915 修复了换源换了个寂寞的问题 2022-11-15 13:10:03 +08:00
8b9a54ed41 新库 2022-11-15 12:39:43 +08:00
79 changed files with 6655 additions and 982 deletions

View File

@@ -57,30 +57,37 @@ print("请问是否要更新操作系统?[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt upgrade -y")
print("请问是否要安装原版 winewine64[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install wine -y")
print("请问是否要安装 deepin-wine[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine -y")
print("请问是否要安装 deepin-wine5需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
print("请问是否要安装 deepin-wine5-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine5-stable -y")
print("请问是否要安装 deepin-wine6-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine6-stable -y")
print("请问是否要安装 spark-wine7-devel需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
InstallSparkWine("spark-wine7-devel")
print("请问是否要安装 ukylin-wine需要添加 ukylin 源,但因为可能会导致系统问题,将不会自动添加)?[Y/N]", end=" ")
choose = input().upper()
if not choose == "N":
os.system("sudo apt install ukylin-wine -y")
if os.system("which wine > /dev/null"):
print("请问是否要安装原版 winewine64[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install wine -y")
if os.system("which deepin-wine > /dev/null"):
print("请问是否要安装 deepin-wine[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine -y")
if os.system("which deepin-wine5 > /dev/null"):
print("请问是否要安装 deepin-wine5需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if os.system("which deepin-wine5-stable > /dev/null"):
print("请问是否要安装 deepin-wine5-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine5-stable -y")
if os.system("which deepin-wine6-stable > /dev/null"):
print("请问是否要安装 deepin-wine6-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine6-stable -y")
if os.system("which spark-wine7-devel > /dev/null"):
print("请问是否要安装 spark-wine7-devel需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
InstallSparkWine("spark-wine7-devel")
if os.system("which ukylin-wine > /dev/null"):
print("请问是否要安装 ukylin-wine需要添加 ukylin 源,但因为可能会导致系统问题,将不会自动添加)?[Y/N]", end=" ")
choose = input().upper()
if not choose == "N":
os.system("sudo apt install ukylin-wine -y")
print("全部完成!")

122
BuildDesktop.py Executable file
View File

@@ -0,0 +1,122 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi
# 版本2.5.0
# 更新时间2022年11月20日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
# 基于 Python3 的 PyQt5 构建
#################################################################################################################
#################
# 引入所需的库
#################
import os
import sys
import traceback
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
desktopList = []
desktopUsrList = []
def GetDesktopList(path):
for i in os.listdir(path):
if os.path.isdir(f"{path}/{i}"):
GetDesktopList(f"{path}/{i}")
if os.path.isfile(f"{path}/{i}"):
try:
desktop = {}
with open(f"{path}/{i}") as file:
things = file.read()
for k in things.splitlines():
if not "=" in k:
continue
desktop[k[:k.index("=")].lower()] = k[k.index("=") + 1:]
desktopList.append([desktop["Name".lower()], desktop["Icon".lower()], desktop["Exec".lower()], f"{path}/{i}"])
except:
traceback.print_exc()
delButton.setEnabled(len(desktopList))
class DesktopList(QtCore.QThread):
show = QtCore.pyqtSignal(int)
def __init__(self) -> None:
super().__init__()
def run(self):
if os.path.exists(f"{homePath}/.local/share/applications"):
GetDesktopList(f"{homePath}/.local/share/applications")
self.show.emit(0)
def ShowDesktop(temp):
nmodel = QtGui.QStandardItemModel(window)
if not len(desktopList):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
y = 0
for i in desktopList:
#item = QtGui.QStandardItem(QtGui.QIcon(i[1]), i[0])
#nmodel.appendRow(item)
if os.path.exists(i[1]):
nmodel.setItem(y, 0, QtGui.QStandardItem(QtGui.QIcon(i[1]), i[0]))
else:
nmodel.setItem(y, 0, QtGui.QStandardItem(QtGui.QIcon.fromTheme(i[1]), i[0]))
nmodel.setItem(y, 1, QtGui.QStandardItem(i[2]))
nmodel.setItem(y, 2, QtGui.QStandardItem(i[3]))
y += 1
nmodel.setHeaderData(0, QtCore.Qt.Horizontal, "程序名")
nmodel.setHeaderData(1, QtCore.Qt.Horizontal, "运行路径")
nmodel.setHeaderData(2, QtCore.Qt.Horizontal, ".desktop 文件所在路径")
nmodel.setColumnCount(3)
desktopListView.setModel(nmodel)
def GetDesktopThread():
global desktop
desktop = DesktopList()
desktop.show.connect(ShowDesktop)
desktop.start()
def DeleteButton():
index = desktopListView.currentIndex().row()
if index < 0:
QtWidgets.QMessageBox.critical(window, "错误", "未选中任何项")
return
print(index)
print(desktopList[index][3])
#desktopListView.rowMoved(index)
#desktopListView.removeRow(index)
try:
os.remove(desktopList[index][3])
del desktopList[index]
ShowDesktop(0)
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
homePath = os.getenv("HOME")
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
#GetDesktopList(f"{homePath}/.local/share/applications")
#print(desktopList)
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout()
delButton = QtWidgets.QPushButton("删除指定图标")
delButton.clicked.connect(DeleteButton)
#desktopListView = QtWidgets.QListView()
desktopListView = QtWidgets.QTableView()
desktopListView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
desktopListView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)#(QAbstractItemView::SelectRows)
layout.addWidget(desktopListView, 0, 0, 1, 4)
layout.addWidget(delButton, 1, 3, 1, 1)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.setWindowTitle("图标管理")
window.resize(int(window.frameGeometry().width() * 1.5), int(window.frameGeometry().height() * 1.2))
window.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
window.show()
GetDesktopThread()
app.exec_()

BIN
CheckDLL/Check.exe Executable file

Binary file not shown.

90
CheckDLL/CheckCommand.py Executable file
View File

@@ -0,0 +1,90 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本2.5.0
# 更新时间2022年11月18日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
# 基于 Python3 的 PyQt5 构建
#################################################################################################################
#################
# 引入所需的库
#################
import os
import sys
import json
if len(sys.argv) <= 1:
print("参数不足")
sys.exit(1)
if "--help" in sys.argv:
print("帮助:")
print("[exe path] [option]")
print("--json 以 json 格式输出")
print("-w [wine botton] [wine program path]")
jsonPrint = "--json" in sys.argv
if jsonPrint:
del sys.argv[sys.argv.index("--json")]
lists = []
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
checkDll = False
if "-w" in sys.argv:
wineCommand = sys.argv.index("-w")
wineBotton = os.getenv("HOME")
wineProgram = "deepin-wine6-stable"
checkDll = True
try:
wineBotton = sys.argv[wineCommand + 1]
wineProgram = sys.argv[wineCommand + 2]
except:
pass
badChar = [
"(", "?", "*", "!", ")", "&", "'", "\""
]
with open(sys.argv[1], "rb") as file:
while True:
things = file.readline()
if things == b"":
break
for n in [".dll", ".DLL"]:
if n.encode() in things:
# 提取 DLL 名称
for i in str(things[1: -2]).split("\\x"):
charBad = False
for b in badChar:
if b in i:
charBad = True
if n in i and not charBad and i[0] != "/":
name = i[2: ].replace(",{M", "").replace("+", "")
# 文件路径合法性检测
try:
dllName = name[:name.index(".dll") + 4]
except:
try:
dllName = name[:name.index(".DLL") + 4]
except:
dllName = name
if dllName.lower() == ".dll":
continue
if dllName in lists:
continue
if checkDll:
if jsonPrint:
if os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}' > /dev/null 2>&1"):
lists.append(dllName)
continue
else:
os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}'")
lists.append(dllName)
elif jsonPrint:
lists.append(dllName)
continue
else:
print(dllName)
lists.append(dllName)
if jsonPrint:
print(json.dumps(lists))

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器
installvcpp 4
info 提示 修复完成!重新检测即可

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月03日
##########################################################################################
# 用于判断是否为 bash 解释器
installother 2
info 提示 修复完成!重新检测即可

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器
installvb 4
info 提示 修复完成!重新检测即可

451
CheckDLL/lists.json Normal file
View File

@@ -0,0 +1,451 @@
{
"check": "",
"aaaamon.dll": "描述: aaaamon.dll是Aaaa监视软件动态链接库文件相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"activeds.dll": "描述: activeds.dll是活动目录服务相关应用程序COM接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"actxprxy.dll": "描述: actxprxy.dll是Marshalingx ActiveX控件COM接口相关文件。\n属于 Windows ActiveX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"adsmsext.dll": "描述: adsmsext.dll是LDAP协议支持相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advert.dll": "描述: advert.dll是一个广告软件相关文件会在Internet Explorer浏览器上显示广告。\n属于 Aureate \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"amovie.dll": "描述: amovie.ocx是应用在Windows 9x平台的多媒体和视频播放技术相关文件。\n属于 IE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ash.dll": "描述: ash.dll是Bankash木马相关文件该木马允许攻击者访问你的计算机窃取密码和个人数据。\n属于 Bankash Trojan \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ati_d3d.dll": "描述: ati_d3d.dll是ATI显示卡3D效果支持相关文件。\n属于 ATI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avicap.dll": "描述: avicap.dll是Windows API应用程序接口用于截取AVI视频和摄像头及其它视频硬件设备的视频。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avifil32.dll": "描述: avifil32.dll是AVI视频支持相关模块。\n属于 Microsoft AVI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awfxrn32.dll": "描述: awfxrn32.dll是IFAX文件传输接口相关文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awlft332.dll": "描述: awlft332.dll是本地传真程序接口相关文件。\n属于 Windows 98,95 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awlhut32.dll": "描述: awlhut32.dll是ASN.1数据编码和解码相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awutil32.dll": "描述: awutil32.dll是微软Microsoft传真应用程序相关文件。\n属于 Microsoft Fax \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"batmeter.dll": "描述: batmeter.dll是电池状态信息管理相关文件出现在BatMeterCapabilities、CreateBatMeter、DestroyBatMeter和PowerCapabilities等电池厂家的程序中。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bib.dll": "描述: bib.dll是Adobe Acrobat界面相关文件。\n属于 Adobe Acrobat \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"browselc.dll": "描述: browselc.dll是Windows Shell壳浏览用户界面相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"btvid_32.dll": "描述: btvid_32.dll是Brooktree视频卡I2C和GPIO应用程序接口相关文件。\n属于 Brooktree \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cabinet.dll": "描述: cabinet.dll是Cab压缩包应用程序接口相关文件。\n属于 Microsoft Cabinet File \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"calwin32.dll": "描述: calwin32.dll是NetWare应用程序相关动态链接库文件。\n属于 NetWare \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdaengine.dll": "描述: cdaengine.dll是WildTangent广告间谍软件相关文件。\n属于 WildTangent Spyware \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdosys.dll": "描述: cdosys.dll是应用程序CDO相关文件。\n属于 CDO \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdudflib.dll": "描述: cdudflib.dll是Direct CD光盘刻录软件相关支持文件。\n属于 DirectCD \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cmc.dll": "描述: cmc.dll是MAPI 1.0Windows消息应用程序接口公用消息调用相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d32-fw.dll": "描述: d32-fw.dll是雅虎通相关动态链接库文件文件用于使雅虎通能够透过防火墙。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d8thk.dll": "描述: d3d8.dll是DirectX 8.0的Direct3D显示支持程序用于支持游戏。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3dim700.dll": "描述: d3dim700.dll是微软Microsoft Direct3D图形系统相关模块。\n属于 Direct3D \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3dxof.dll": "描述: d3dxof.dll是Direct3D文件格式相关文件。\n属于 Direct3D \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dao3032.dll": "描述: dao3032.dll是Microsoft Jet DAO数据访问相关动态链接库文件。\n属于 Microsoft Jet \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dciman32.dll": "描述: dciman32.dll是显示控制界面管理相关文件用于调制显示性能。\n属于 Display Control Interface Manager \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddrawex.dll": "描述: ddrawex.dll是Direct Draw显示相关模块。\n属于 DirectDraw \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"deskcp16.dll": "描述: deskcp16.dll是Windows 9x操作系统显示配置相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devenum.dll": "描述: devenum.dll是DirectShow相关模块用于声音输入、声音输出和MIDI设备。\n属于 DirectShow \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devmgr.dll": "描述: devmgr.dll是Windows设备管理相关文件。\n属于 Windows Device Manager \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dispex.dll": "描述: dispex.dll是Visual Basic脚本COM接口相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dnsapi.dll": "描述: dnsapi.dll是DNS客户端应用程序接口API相关文件。\n属于 DNS Client \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dplay.dll": "描述: dplay.dll是DirectPlay播放器的支持文件。\n属于 Microsoft DirectPlay DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dplayx.dll": "描述: dplayx.dll是DirectPlay相关支持文件。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"drmclien.dll": "描述: drmclien.dll是播放包相关系统库文件。\n属于 DRM \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dxtmsft.dll": "描述: dxtmsft.dll是DirectX媒体图像转换相关支持文件。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dxtrans.dll": "描述: dxtrans.dll是DirectX相关转换模块。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ecomwr.dll": "描述: ecomwr.dll是McAfee杀毒软件相关动态链接库文件。\n属于 McAfee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"efsadu.dll": "描述: efsadu.dll是文件加密相关支持模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"encsplsh.dll": "描述: encsplsh.dll是微软Microsoft Encarta百科全书相关文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"esent.dll": "描述: esent.dll是VBA相关运行时支持文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"expsrv.dll": "描述: expsrv.dll是VBA运行时相关服务文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide.dll": "描述: glide.dll是3DFX (Voodoo)图像显示卡相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"googletoolbar1.dll": "描述: googletoolbar1.dll是google.com出品的搜索工具条相关文件。\n属于 Google Searching Facility \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gpsb2.dll": "描述: gpsB2.dll是VX2间谍软件相关程序。\n属于 VX2 Spyware Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hid.dll": "描述: hid.dll是USB的HID相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hotplug.dll": "描述: hotplug.dll是微软Microsoft Windows安全硬件移除相关文件用于例如PCMCIA设备。\n属于 Microsoft Windows Opearting System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hpdcmon.dll": "描述: hpdcmon.dll是惠普HP打印机语言监视支持文件。\n属于 HP Printers \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iccvid.dll": "描述: iccvid.dll是Cinepak视频解码相关文件。\n属于 Cinepak Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icm32.dll": "描述: icm32.dll是显示器色彩调节和计算相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icqcore.dll": "描述: icqcore.dll是ICQ即时通讯软件图形用户界面相关文件。\n属于 ICQ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icqmapi.dll": "描述: icqmapi.dll是ICQ即时通讯软件消息相关应用程序接口文件。\n属于 ICQ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idapi32.dll": "描述: idapi32.dll是Borland数据库系统相关文件。\n属于 Borland Database Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idq.dll": "描述: idq.dll是ISAPI索引相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iedkcs32.dll": "描述: iedkcs32.dll是微软Microsoft Internet Explorer浏览器用户个性化相关文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ifc22.dll": "描述: ifc22.dll是罗技Logitech鼠标增强相关文件。\n属于 iFeel TouchSence Logitech mouse \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iforce2.dll": "描述: iforce2.dll是力反馈游戏手柄相关文件。\n属于 Games \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imeshare.dll": "描述: imeshare.dll是微软Microsoft Office输入法相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgcmn.dll": "描述: imgcmn.dll是基本图形相关库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgscan.dll": "描述: imgscan.ocx是ImagEdit扫描控制相关文件\n属于 Microsoft ImagEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imm32.dll": "描述: imm32.dll是微软Microsoft Windows输入法管理相关文件。\n属于 Microsoft Windows (IMM) \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetcomm.dll": "描述: inetcomm.dll是微软即时通讯相关应用程序接口文件。\n属于 Microsoft Internet Messaging API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetcplc.dll": "描述: inetcplc.dll是Internet控制面板相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetwh32.dll": "描述: inetwh32.dll是Blue Sky软件在线帮助相关文件。\n属于 Blue Sky DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ir50_32.dll": "描述: ir50_32.dll是Intel Indeo视频解码相关文件。\n属于 Indeo video \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"itss.dll": "描述: itss.dll是微软Microsoft储存系统相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jgdw400.dll": "描述: jgdw400.dll是AOL .ART格式文件相关支持文件。\n属于 AOL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jit.dll": "描述: jit.dll是微软Java运行时相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jpeg1x32.dll": "描述: jpeg1x32.dll是JPEG图像相关库文件。\n属于 Microsoft JPEG \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"kbdus.dll": "描述: kbdus.dll是美式键盘相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lmf32v.dll": "描述: lmf32v.dll是Vertical Theories的广告程序。该程序监视你的浏览行为并回传到其服务器进行分析。该进程也会弹出广告。\n属于 Hyperlinker Spyware Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"loadpowerprofile.dll": "描述: LoadPowerProfile (powrprof.dll)是微软Microsoft Windows 9x电源管理控制面板相关模块。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"localspl.dll": "描述: localspl.dll是本地打印机相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"locwin32.dll": "描述: locwin32.dll是Novell Netware客户端相关文件。\n属于 Novell NetWare Client API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ls3df.dll": "描述: ls3df.dll是Mafia计算机游戏相关文件。\n属于 Game Mafia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lsasrv.dll": "描述: lsasrv.dll用于本地安全密码验证相关动态链接库文件。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ltwrp10n.dll": "描述: ltwrp10n.dll是Win32 LEADTOOLS图像库文件。\n属于 LEADTOOLS \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lz32.dll": "描述: lz32.dll是LZ解压和压缩相关文件。\n属于 LZ Expand/Compress \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lzexpand.dll": "描述: lz32.dll是LZ压缩格式解压和压缩相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapistub.dll": "描述: mapistub.dll是Windows NT的MAPI相关文件。\n属于 MAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapobj90.dll": "描述: mapobj90.dll是MapPoint相关软件。它是一个地图和分析工具。\n属于 MapPoint \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxlink3.dll": "描述: maxlink3.dll是Visioneer扫描仪相关库文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxrast.dll": "描述: maxrast.dll是Visioneer公司相关库文件用于支持图像。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxutil.dll": "描述: maxutil.dll是Visioneer扫描仪相关库文件。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mdvmqlt.dll": "描述: mdvmqlt.dll是EA公司Battle Field 1942游戏相关文件。\n属于 Game BattleField \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42loc.dll": "描述: mfc42loc.dll是MFC应用程序本地化资源相关文件。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42u.dll": "描述: mfc42u.dll是微软MFC程序相关动态链接库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfcuia32.dll": "描述: mfcuia32.dll是对象链接与嵌入OLE的ANSI和Unicode对话框支持相关文件。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmcndmgr.dll": "描述: mmcndmgr.dll是MMC Node管理COM接口相关动态链接库文件。\n属于 MMC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmefxe.dll": "描述: mmefxe.ocx是微软多媒体控制相关COM接口文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"moricons.dll": "描述: moricons.dll是Windows NT图标资源文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mplvpx.dll": "描述: mplvpx.dll是微软Microsoft Media Player音乐回放相关动态链接库文件。\n属于 Microsoft Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mprddm.dll": "描述: mprddm.dll微软Microsoft路由和RAS拨号管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msacm.dll": "描述: msacm.dll是微软音频压缩相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscat32.dll": "描述: mscat32.dll是MakeCat.exe相关动态链接库文件。\n属于 MakeCat \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscms.dll": "描述: mscms.dll是微软图像色彩管理系统相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomctl.dll": "描述: mscomctl.ocx是公用ActiveX插件控制模块。\n属于 Windows ActiveX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msconf.dll": "描述: msconf.dll是NetMeeting网络会议程序相关文件。\n属于 Netmeeting \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdart32.dll": "描述: msdart32.dll是对象链接与嵌入数据库访问相关模块。\n属于 OLE DB \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdtcprx.dll": "描述: msdtcprx.dll是微软Microsoft分布式负载平衡相关文件。\n属于 MS DTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgr3ge.dll": "描述: msgr3ge.dll是微软Office产品德语字符检查支持相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgrru32.dll": "描述: msgrru32.dll是微软Office产品俄语字符检查相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgsvc.dll": "描述: msgsvc.dll是NT信使服务管理相关文件用于发送和接收信使消息。\n属于 Alerter \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mshtmled.dll": "描述: mshtmled.dll是微软HTML编辑相关模块。\n属于 HTML \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msieftp.dll": "描述: msieftp.dll是微软IE浏览器支持FTP访问相关文件。\n属于 Internet Explorer \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjet40.dll": "描述: msjet40.dll是Microsoft Jet数据库相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjt3032.dll": "描述: msjt3032.dll是微软Microsoft Jet数据库相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjter35.dll": "描述: msjter35.dll是微软Microsoft Jet数据库引擎相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msls31.dll": "描述: msls31.dll是Internet Explorer浏览器和字处理程序Unicode字符支持相关文件。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msnet32.dll": "描述: msnet32.dll是微软Microsoft 32位网络应用程序接口相关文件。\n属于 Microsoft Network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoert2.dll": "描述: msoert2.dll是微软Microsoft Outlook Express动态链接库文件。\n属于 Outlook Express \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msorcl32.dll": "描述: msorcl32.dll是Oracle 微软ODBC数据库相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mspdb60.dll": "描述: mspdb60.dll是Microsoft Visual Studio编程数据库支持相关文件。.\n属于 Visual Studio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrating.dll": "描述: msrating.dll是微软Microsoft网络安全等级和本地用户管理相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrclr40.dll": "描述: msrclr40.dll是DAO 3.6数据库相关文件。\n属于 Microsoft Jet \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrdo20.dll": "描述: msrdo20.dll是ODBC数据库支持相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mssp3ge.dll": "描述: mssp3ge.dll是Lingsoft CSAPI字符检查相关文件。\n属于 Lingsoft \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msspel2.dll": "描述: msspel2.dll是Word 6.0字符校对检查相关文件。\n属于 Word \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mswsock.dll": "描述: mswsock.dll是Winsock网络服务相关文件。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mydocs.dll": "描述: mydocs.dll是我的文档文件夹用户解码相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"n32userl.dll": "描述: n32userl.dll是Norton AntiVirus反病毒软件相关模块。\n属于 Norton Antivirus \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netapi.dll": "描述: netapi.dll是Windows网络应用程序接口相关文件用于访问微软网络。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netdtect.dll": "描述: netdtect.dll是网卡自动检测相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netevent.dll": "描述: netevent.dll是网络错误消息相关提醒模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netman.dll": "描述: netman.dll是网络连接管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netrap.dll": "描述: netrap.dll是网络远程管理协议相关模块。.\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netshell.dll": "描述: netshell.dll是网络连接管理Shell壳程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netwin32.dll": "描述: netwin32.dll是Novell NetWare网络库文件。\n属于 Novell NetWare Net Library \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"newdotnet.dll": "描述: newdotnet.dll是New.net应用程序相关动态链接库文件。\n属于 New.net \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ntdsapi.dll": "描述: ntdsapi.dll是分布式计算机处理环境的目录服务COM接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvqtwk.dll": "描述: NvQTwk.dll是Nvidia显示卡相关库文件。\n属于 Nvidia Graphics Library Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nwcalls.dll": "描述: nwcalls.dll是Novell NetWare应用程序接口相关文件用于NCP连接文件服务器和客户端计算机。\n属于 NetWare API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcbcp.dll": "描述: odbcint.dll是ODBC数据库查询相关模块。\n属于 ODBC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcint.dll": "描述: odbcint.dll是ODBC数据库查询相关模块。\n属于 Microsoft ODBC Resource DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcjt32.dll": "描述: odbcint.dll是微软ODBC数据库查询相关模块。\n属于 Microsoft ODBC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole2.dll": "描述: ole2.dll是对象链接与嵌入相关模块。\n属于 Microsoft OLE 2.3.2 16/32 Interoperability Library \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oledlg.dll": "描述: ole2.dll是对象链接与嵌入OLE相关模块用于公共对话框。\n属于 Microsoft OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p2bbnd.dll": "描述: p2bbnd.dll是Crystal数据报告相关模块。\n属于 Crystal Report \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p2sodbc.dll": "描述: p2sodbc.dll是ODBC数据Crystal报告相关模块。\n属于 Crystal Report \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"passfilt.dll": "描述: passfilt.dll是密码策略和保护相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pdh.dll": "描述: pdh.dll是登陆和硬件统计相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pdm.dll": "描述: pdm.dll是进程脚本调试管理相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"perfctrs.dll": "描述: perfctrs.dll是Windows登陆和硬件统计相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"perfproc.dll": "描述: perfproc.dll是登陆和硬件统计相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pifmgr.dll": "描述: pifmgr.dll是windows图标资源管理相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pnen3260.dll": "描述: pnen3260.dll是RealMedia Player播放器相关模块。\n属于 RealMedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pngu3263.dll": "描述: pngu3263.dll是Realnetworks RealPlayer播放器图形用户界面相关模块。\n属于 RealPlayer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pngu3266.dll": "描述: pngu3266.dll是RealMedia Player播放器相关模块。\n属于 RealMedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pperr.dll": "描述: pperr.dll是Visioneer 5300 USB接口扫描器设备相关模块。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"printui.dll": "描述: printui.dll是命令行方式安装打印机相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"prismxl.dll": "描述: prismxl.exe是Lanovation PrismXL相关服务用于进行远程控制。\n属于 Lanovation PrismXL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pstprx32.dll": "描述: pstprx32.dll是微软Microsoft Outlook代理储存管理相关文件。\n属于 Microsoft Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ra32.dll": "描述: ra32.dll是RealAudio音频支持相关文件。\n属于 RealAudio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ragui32.dll": "描述: ragui32.dll是RealAudio音频高级支持文件。\n属于 RealAudio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasapi16.dll": "描述: rasapi16.dll是16位网络拨号应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasman.dll": "描述: rasman.dll是远程控制相关软件模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasscrpt.dll": "描述: rasscrpt.dll是网络拨号脚本相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"regsvr32.dll": "描述: regsvr32.dll是DLL添加辅助相关文件用于注册和反注册DLL文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rmoc3260.dll": "描述: rmoc3260.dll是RealPlayer和Windows Media Player媒体回放相关COM接口文件。\n属于 Real Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rnaui.dll": "描述: rnaui.dll是网络拨号设置库文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rnr20.dll": "描述: rnr20.dll是微软Microsoft Windows Sockets 2.0的TCP/IP协议相关服务。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpcss.dll": "描述: rpcss.dll是分布式COM服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpmn3260.dll": "描述: rpmn3260.dll是RealNetworks公司RealPlayer产品动态链接库文件。\n属于 Real Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rsabase.dll": "描述: rsabase.dll是Windows 2000加密服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rsaenh.dll": "描述: rsaenh.dll是微软Microsoft增强加密服务相关文件用于128位加密。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rtutils.dll": "描述: rtutils.dll是一个追踪API接口用于输出诊断信息到微软Microsoft Windows NT/Windows 2000路由和远程控制服务。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rupdate.dll": "描述: rupdate.dll是McAfee产品相关文件用于自动升级。\n属于 McAfee Products \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"samlib.dll": "描述: samlib.dll是安全认证管理应用程序接口API相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sendmail.dll": "描述: sendmail.dll是用于通过网站发送邮件的库文件。\n属于 Microsoft Windows IIS \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sens.dll": "描述: sens.dll是系统事件提醒服务相关库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sensapi.dll": "描述: sensapi.dll是系统事件提醒服务相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupwbv.dll": "描述: setupwbv.dll用于检查并修复Internet Explorer配置。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sfc.dll": "描述: sfc.dll用于校验和监视系统文件变更。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sfcfiles.dll": "描述: sfcfiles.dll是系统文件监视和验证相关程序。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sh31w32.dll": "描述: sh31w32.dll用于内存利用情况。\n属于 SmartHeap \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shell.dll": "描述: shell.dll是Windows Shell壳应用程序接口相关库文件用于打开网页和文件。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shimgvw.dll": "描述: shimgvw.dll用于图像显示的COM接口程序。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"softpub.dll": "描述: softpub.dll是用于支持加密的动态链接库文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"speer.dll": "描述: Speer.dll是Solid Peer间谍软件相关文件。\n属于 Solid Peer spyware \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spin32.dll": "描述: spin32.ocx是Visual Basic语言的ActiveX控件。\n属于 Microsoft Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spmsg.dll": "描述: spmsg.dll是用于显示service packs补丁包消息的文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sqlsrv32.dll": "描述: sqlsrv32.dll是用于微软SQL服务ODBC驱动相关文件。\n属于 Microsoft SQL Server ODBC Driver \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ss32x25.dll": "描述: ss32x25.ocx是FarPoint技术相关文件用于显示控制。\n属于 FarPoint \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"stclient.dll": "描述: stclient.dll是COM+配置安全客户端相关文件。\n属于 Microsoft COM+ \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"stobject.dll": "描述: stobject.dll是资源文件用于图标等。\n属于 Microsoft Systray \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"storprop.dll": "描述: storprop.dll是用于更改DVD读取区域相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"streamci.dll": "描述: streamci.dll是安装流媒体硬件设备相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sysmon.dll": "描述: sysmon.ocx是系统性能监视的ActiveX控件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"system86.dll": "描述: system86.dll是内存分配库文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tapi.dll": "描述: tapi.dll是微软Windows电话服务相关模块。\n属于 Windows Telephony \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tdc.dll": "描述: tdc.ocx是Visual Basic应用程序相关表列数据ActiveX控件模块。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"thumbvw.dll": "描述: thumbvw.dll是文档缩略图察看相关动态链接库文件用于在资源管理器中察看文档、JPEG文件等。\n属于 Thumbnail View \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tl32v20.dll": "描述: tl32v20.dll是DiskKeeper软件保护锁相关文件。\n属于 DiskKeeper \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"toolhelp.dll": "描述: toolhelp.dll是Windows默认数组应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"traffic.dll": "描述: traffic.dll是微软飞行模拟软件第三方模块。\n属于 Flight Simulator \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tsd32.dll": "描述: tsd32.dll是音频编码和解码相关文件。\n属于 TrueSpeech \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"txfaux.dll": "描述: txfaux.dll是微软Microsoft分布式处理相关文件。\n属于 MSDTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"unrar.dll": "描述: unrar.dll是RAR压缩包解压相关文件。\n属于 UnRAR \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"url.dll": "描述: url.dll是Internet快捷壳扩展相关应用程序接口文件。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"usp10.dll": "描述: usp10.dll是字符显示脚本应用程序接口相关文件。\n属于 Uniscribe \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb5stkit.dll": "描述: vb5stkit.dll是VB应用程序创建快捷方式应用程序接口相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vba332.dll": "描述: vba322.dll是Microsoft Office自动控制相关模块。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbajet32.dll": "描述: vbajet32.dll是Visual Basic应用程序开发相关文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ver.dll": "描述: ver.dll是Windows版本检测应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"version.dll": "描述: version.dll是Windows NT系统版本检测应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vfpodbc.dll": "描述: vfpodbc.dll是Visual FoxPro应用程序ODBC数据管理应用程序接口相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vsnetutils.dll": "描述: vsnetutils.dll是ZoneLabs ZoneAlarm防火墙软件相关文件。\n属于 ZoneAlarm \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab32res.dll": "描述: wab32res.dll是微软地址薄相关文件用于Outlook和Outlook Express储存Email邮件地址和其它联系信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"webhits.dll": "描述: webhits.dll是网络服务应用程序接口相关模块用于统计点击率高的HTML页面。\n属于 ISAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"win87em.dll": "描述: win87em.dll是Windows应用程序浮点运算相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winnls.dll": "描述: winnls.dll是特殊字符输入扩展相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winplay.dll": "描述: winplay.dll是游戏软件多媒体播放解码回放相关文件。\n属于 Game \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winscard.dll": "描述: winscard.dll是个人计算机对智能卡读取相关程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wkssvc.dll": "描述: wkssvc.dll是本地系统进行远程文件打印相关服务文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wldap32.dll": "描述: wldap32.dll是LDAP应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wlnotify.dll": "描述: wlnotify.dll是对Windows事件提醒相关应用程序接口例如Windows登陆、关机、注销等。\n属于 Winlogon \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmicore.dll": "描述: wmicore.dll是WMI服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmmutil.dll": "描述: wmmutil.dll是Windows Movie Maker影像处理程序支持文件。\n属于 Windows Movie Maker \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wow32.dll": "描述: wow32.dll是16位代码调用32位代码应用程序接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wshom.dll": "描述: wshom.ocx是Windows本地脚本对象运行时相关文件。\n属于 Windows Script Host \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsnmp32.dll": "描述: wsnmp32.dll是SNMP管理应用程序接口用于发送和接收SNMP精灵的请求。\n属于 WinSNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wtsapi32.dll": "描述: wtsapi32.dll是终端服务的应用程序接口用于包括(1) 管理终端服务,(2)设置和恢复终端服务用户的配置信息,(3)应用终端服务虚拟频道。\n属于 Windows Terminal Server \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wuv3is.dll": "描述: wuv3is.dll是Windows Update升级相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xolehlp.dll": "描述: xolehlp.dll是Microsoft分布式平衡负载相关应用程序接口文件。\n属于 MSDTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ac1st15.dll": "描述: ac1st15.dll是AutoCAD、AutoCAD LT、KeyPLANTING和KeySCAPE等软件动态链接库该文件是Autodesk公司出品。\n属于 AutoCAD \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"binkw32.dll": "描述: binkw32.dll是BINK视频解码器相关进程用于压缩视频回放例如游戏中的视频。\n属于 Bink Video Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc.dll": "描述: bwcc.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc32.dll": "描述: bwcc32.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cards.dll": "描述: cards.dll是Windows纸牌游戏相关文件。\n属于 Game Windows Solitare \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cctrust.dll": "描述: cctrust.dll是Symantec公司ccTrust公用客户端动态链接库文件。\n属于 Symantec Products \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cd_clint.dll": "描述: cd_clint.dll是Cydoor公司动态链接库文件。\n属于 CYDOOR \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdonts.dll": "描述: cdonts.dll协同数据对象界面相关文件。\n属于 CDO \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs232.dll": "描述: cncs232.dll是Europress和IMSI公司多媒体库文件用于支持它们的游戏。\n属于 Games Multimedia Fusion \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs32.dll": "描述: cncs32.dll是create游戏图像相关动态链接库文件。\n属于 Game Factory \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"core.dll": "描述: core.dll是SuperScape 3D Viewer察看器相关动态链接库。\n属于 Viscape Universal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d9.dll": "描述: d3d9.dll是DirectX 9的动态链接库用于支持Windows多媒体和游戏。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"disktool.dll": "描述: disktool.dll是DiskTool软件动态链接库文件它是一款系统管理软件用于监视磁盘状态和避免数据文件储存问题。\n属于 Disktool \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"eax.dll": "描述: eax.dll是EAX环绕音效特性相关库文件。\n属于 EAX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"egnsengine.dll": "描述: egnsengine.dll是Gator GAIN间谍软件相关文件。\n属于 Gator GAIN \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fm20.dll": "描述: fm20.dll是微软表单创建相关动态链接库文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gapi32.dll": "描述: gapi32.dll是微软邮件协议相关文件。\n属于 Microsoft Exchange \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide2x.dll": "描述: glide2x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide3x.dll": "描述: glide3x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glu32.dll": "描述: glide2x.dll是OpenGL图像相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hhctrl.dll": "描述: hhctrl.ocx是Microsoft帮助文档界面相关文件。\n属于 Microsoft HTML Help Control \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idle.dll": "描述: idle.dll是Microsoft Visual C++无功分量部分相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iepeers.dll": "描述: iepeers.dll是微软Microsoft Internet Explorer浏览器库文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ijl15.dll": "描述: ijl15.dll是IntelJPG图像压缩相关库文件。\n属于 Intel JPEG Library \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgedit.dll": "描述: imgedit.ocx是微软图像处理相关文件。\n属于 Microsoft ImagEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jscript.dll": "描述: jscript.dll是Microsoft JavaScript脚本支持相关文件。\n属于 Microsoft JScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"libeay32.dll": "描述: libeay32.dll是OpenSSL加密特性相关文件用于通过网络加密传输。\n属于 OpenSSL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxcodec.dll": "描述: maxcodec.dll是ScanSoft PaperPort软件图像压缩和解压相关模块。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxkernl.dll": "描述: maxkernl.dll是ScanSoft PaperPort Visioneer扫描仪相关库文件。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc30.dll": "描述: mfc30.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc40.dll": "描述: mfc40.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42.dll": "描述: mfc42.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42d.dll": "描述: mfc42d.dll是MFCDLL共享库文件用于支持调试版本的MFC程序。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc70.dll": "描述: mfc70.dll是微软Microsoft MFC程序相关库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfcans32.dll": "描述: mfcans32.dll用于对对象链接和嵌入OLE的Unicode和MBCS字符支持。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfco42d.dll": "描述: mfco42d.dll是MFC OLE调试版本动态链接库文件。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mhputilu.dll": "描述: mhputilu.dll是微软Microsoft Picture It图像软件动态链接库文件。\n属于 Microsoft Picture It! Publishing 2001 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mlang.dll": "描述: mlang.dll是多语言支持动态链接库文件。用于转换网络字符集为Unicode。\n属于 IE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mplapx.dll": "描述: mplapx.dll是微软Microsoft Media Player音乐回放相关模块。\n属于 Microsoft Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mrtrate.dll": "描述: mrtrate.dll是Intuit Quicken动态链接库文件。\n属于 Rate Sensing Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomm32.dll": "描述: mscomm32.ocx是ActiveX公用控制模块用于例如Visual Basic 6.0程序的MSComm控制。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdxm.dll": "描述: msdxm.ocx是Windows Media Player播放器ActiveX控制相关文件。\n属于 Windows Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mshtml.dll": "描述: mshtml.dll是HTML解释器相关模块。\n属于 HTML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjet35.dll": "描述: msjet35.dll是微软Microsoft Jet数据引擎主要文件。该文件用于向Microsoft Access数据库读写数据。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso9.dll": "描述: mso9.dll是微软Microsoft Office 2000办公软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso97.dll": "描述: mso97.dll是微软Microsoft Office 2000软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoe.dll": "描述: msoe.dll是Outlook Express邮件程序相关模块。\n属于 Outlook Express \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mss32.dll": "描述: mss32.dll是Miles声音播放系统库文件用于WinAMP等多媒体程序音乐回放和声音特效。\n属于 WinAmp \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msscript.dll": "描述: msscript.ocx是Visual Basic 6.0应用程序脚本控制的一部分,用于运行时库。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mssp232.dll": "描述: mssp232.dll是微软Microsoft Office软件字符检查相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msspell3.dll": "描述: msspell3.dll是文档字符检查相关模块。\n属于 Word \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msstdfmt.dll": "描述: msstdfmt.dll是微软标准数据格式对象相关动态链接库文件。\n属于 Visual Studio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm50.dll": "描述: msvbvm50.dll是微软Microsoft Visual Basic虚拟机相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm60.dll": "描述: msvbvm60.dll是微软Microsoft Visual Basic虚拟机相关模块。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirt.dll": "描述: msvcirt.dll是微软C语言程序运行库相关文件用于例如打印。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirtd.dll": "描述: msvcirtd.dll是用户选择进行调试版本编译时所使用的运行库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp50.dll": "描述: msvcp50.dll是标准的C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp60.dll": "描述: msvcp60.dll是标准的C运行库程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp70.dll": "描述: msvcp70.dll是.Net的C运行库相关文件。\n属于 Microsoft .NET \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcr70.dll": "描述: msvcr70.dll是微软C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt.dll": "描述: msvcrt.dll是标准的微软C运行库文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt10.dll": "描述: msvcrt10.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt20.dll": "描述: msvcrt20.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt40.dll": "描述: msvcrt40.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrtd.dll": "描述: msvcrtd.dll是微软编译程序调试版本相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvfw32.dll": "描述: msvfw32.dll是微软BMP位图压缩和解压缩相关文件用于Microsoft Video视频。\n属于 Microsoft Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mswinsck.dll": "描述: mswinsck.ocx是Visual Basic语言的socket编程相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msxml.dll": "描述: msxml.dll是Internet Explorer 4.0或更高版本的浏览器相关文件用于解释XML文档。\n属于 XML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"npdocbox.dll": "描述: NPDocBox.dll是Adobe Acrobat插件相关文件为Netware和Internet Explorer浏览器安装。\n属于 Adobe Acrobat \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvcpl.dll": "描述: nvcpl.dll是NVIDIA显示卡相关动态链接库文件。\n属于 NVIDIA drivers \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvcpldaemon.dll": "描述: NvCplDaemon (NvQTwk.dll)是Nvdia显示卡相关文件。\n属于 NVidia Graphics Library Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvmctray.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvmediacenter.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nwnp32.dll": "描述: nwnp32.dll是Novell NetWare网络支持相关链接库文件。\n属于 Novell Network \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbc32.dll": "描述: odbc32.dll是ODBC数据库查询相关文件。\n属于 ODBC DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleacc.dll": "描述: oleacc.dll是微软Microsoft Active Accessibility相关动态链接库文件。\n属于 Microsoft Active Accessibility \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleaut32.dll": "描述: oleaut32.dll是对象链接与嵌入OLE相关文件。\n属于 Microsoft OLE DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"omi9.dll": "描述: omi9.dll是邮件程序MAPI特性相关文件用于例如Outlook。\n属于 Microsoft MAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"opengl32.dll": "描述: opengl32.dll是微软OpenGL特性相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oscore.dll": "描述: oscore.dll是AOL即时通讯软件相关文件。\n属于 AOL Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p5dll.dll": "描述: p5dll.dll是P5Device相关动态链接库文件。\n属于 P5Device \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcdlib32.dll": "描述: pcdlib32.dll是柯达Kodak产品相关文件用于设备数据传输。\n属于 Kodak Photo \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcre.dll": "描述: pcre.dll是Perl语言相关库文件。\n属于 Perl \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pgsdk.dll": "描述: pgsdk.dll是微软图形SDK开发包相关动态链接库文件。\n属于 Microsoft Presentation Graphics SDK \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pncrt.dll": "描述: pncrt.dll是C语言开发界面相关运行时文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pstprx.dll": "描述: pstprx.dll是Windows CE Outlook数据同步相关文件。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"quartz.dll": "描述: quartz.dll是DirectShow相关库文件是DirectX的一部分。\n属于 Microsoft DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched20.dll": "描述: riched20.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched32.dll": "描述: riched32.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"richtx32.dll": "描述: richtx32.ocx是微软Microsoft字符编辑器控制相关程序用于字符对话框对象高级编辑。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"schannel.dll": "描述: schannel.dll是Internet Explorer 3.x或者4.x浏览器128位加密相关文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setup.dll": "描述: setup.dll是流行的安装程序相关支持文件。\n属于 TextBridge Pro 96 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupapi.dll": "描述: setupapi.dll是流行的安装程序支持相关文件。\n属于 Microsoft Windows Setup \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"smackw32.dll": "描述: smackw32.dll是Smacker视频解码器相关文件。\n属于 Games Media Smacker \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"storm.dll": "描述: storm.dll是暴雪游戏相关动态链接库文件出现在StarCraft和Diablo等游戏中。\n属于 Games Blizzard \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"symstore.dll": "描述: symstore.dll是Symantec公司设置相关动态链接库文件。\n属于 Symantec \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tabctl32.dll": "描述: tabctl32.ocx是一个ActiveX控制模块用于SSTab控制和Tabbed对话框控制。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"threed32.dll": "描述: threed32.ocx是Sheridon 3D控制对象相关文件用于渲染3D图像。\n属于 Sheridon \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"topsearch.dll": "描述: topsearch.dll是Kazaa.exe的间谍软件相关文件。\n属于 Kazaa \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tsbyuv.dll": "描述: tsbyuv.dll是东芝Toshiba视频播放解码器相关程序。\n属于 Toshiba Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"twain.dll": "描述: twain.dll是静态图像应用程序接口相关文件。\n属于 Twain Source Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40016.dll": "描述: vb40016.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40032.dll": "描述: vb40032.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6fr.dll": "描述: vb6fr.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6stkit.dll": "描述: vb6stkit.dll是Visual Basic应用程序接口API相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun100.dll": "描述: vbrun100.dll是Visual Basic语言运行时相关程序。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun200.dll": "描述: vbrun200.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun300.dll": "描述: vbrun300.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbscript.dll": "描述: vbscript.dll是VBScript脚本相关支持文件。\n属于 VBScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vsutil.dll": "描述: vsutil.dll是ZoneLabs ZoneAlarm软件相关文件。\n属于 ZoneAlarm \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab.dll": "描述: wab.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email地址和其它信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab32.dll": "描述: wab32.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email邮件地址和其它联系信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"weputil.dll": "描述: weputil.dll是Windows娱乐包的相关文件。\n属于 Windows Entertainment Pack \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi.dll": "描述: winaspi.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi32.dll": "描述: winaspi32.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"window.dll": "描述: window.dll是Unreal游戏程序相关文件用于显示或者配置DirectX设置对话框。\n属于 Games Unreal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing.dll": "描述: wing.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing32.dll": "描述: wing32.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32n.dll": "描述: wsock32n.dl是SOCKS网络协议相关文件。\n属于 Windows Winsock \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmlparse.dll": "描述: xmlparse.dll是Yahoo!雅虎通即时通讯软件XML解释器文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmltok.dll": "描述: xmltok.dll是XSLT引擎解码相关文件。\n属于 XSLT \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ygxa_2.dll": "描述: ygxa_2.dll是Yahoo!雅虎通即时通讯软件图形用户界面相关文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"yml.dll": "描述: yml.dll是Yahoo!雅虎通应用程序相关库文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"zlib.dll": "描述: zlib.dll是ZLIB压缩库相关文件用于Windows应用程序压缩和解压缩。\n属于 ZLIB \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advapi32.dll": "描述: advapi32.dll是一个高级API应用程序接口服务库的一部分用于支持非常多的API应用程序接口包括安全和注册的调用。\n属于 Windows NT 4.0 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advpack.dll": "描述: advpack.dll用于帮助硬件和软件读取和验证.INF文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"asycfilt.dll": "描述: asycfilt.dll是Microsoft OLE (对象链接和嵌入)特性相关DLL文件。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"atl.dll": "描述: atl.dll文件用于支持ATL特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avicap32.dll": "描述: avicap32.dll是Windows API应用程序接口相关模块用于对摄像头和其它视频硬件进行AVI电影和视频的截取。\n属于 Windows NT 4.0 \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"browseui.dll": "描述: browseui.dll用于浏览器UI界面的管理。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comctl32.dll": "描述: comctl32.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comdlg32.dll": "描述: comdlg32.dll是Windows应用程序公用对话框模块用于例如打开文件对话框。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"commctrl.dll": "描述: commctrl.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cpuinf32.dll": "描述: cpuinf32.dll是CPU信息获取相关模块用于获取例如CPU速度和CPU ID。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crtdll.dll": "描述: crtdll.dll是标准C语言库用于例如打印机内存等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crypt32.dll": "描述: crypt32.dll是Windows加密API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d.dll": "描述: ctl3d.dll是Windows应用程序公用GUI图形用户界面3D显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d32.dll": "描述: ctl3d32.dll是Windows应用程序公用GUI图形用户界面3D维显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d8.dll": "描述: d3d8.dll是DirectX的3D显示部分控制模块在DirectX 8.0中被安装。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dbghelp.dll": "描述: dbghelp.dll是symbol引擎及相关模块用于Windows图形。\n属于 Windows Image \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddeml.dll": "描述: ddeml.dll是exchange数据交换管理相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddraw.dll": "描述: ddraw.dll是DirectX的DLL文件用于绘制多媒体应用程序的2D图形。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devcon32.dll": "描述: devcon32.dll是设备配置管理动态链接库。用于提供COM库支持SoundFont和EFX特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dhcpcsvc.dll": "描述: dhcpcsvc.dll是Windows DHCP客户端服务模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput.dll": "描述: dinput.dll是DirectX的DLL文件用于支持DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄\n属于 DirectX DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput8.dll": "描述: dinput.dll是DirectX的DLL文件用于DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dsound.dll": "描述: dsound.dll是DirectX的DLL文件用于支持Direct Sound声音特性。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"framedyn.dll": "描述: framedyn.dll是framework链接库文件\n属于 Windows WMI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fxscfgwz.dll": "描述: fxscfgwz.dll是Windows 2000传真配置相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdi32.dll": "描述: gdi32.dll是Windows GDI图形用户界面相关程序用于辅助创建组建。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdiplus.dll": "描述: gdiplus.dll是GDI图形设备接口图形界面相关模块。\n属于 Microsoft GDI+ \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hal.dll": "描述: hal.dll是Windows硬件提取层模块该用于用于解决硬件的复杂性。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icmp.dll": "描述: icmp.dll是Windows 2000产品相关模块用于网络ICMP请求。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iconlib.dll": "描述: iconlib.dll是微软Microsoft图标管理程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imagehlp.dll": "描述: imagehlp.dll是Windows调试辅助动态链接库相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetmib1.dll": "描述: inetmib1.dll是Windows NT的简单网络管理协议SNMP相关模块。\n属于 Windows SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iphlpapi.dll": "描述: iphlpapi.dll是Windows IP辅助API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"kernel.dll": "描述: kernel.dll是在旧版本Windows操作系统中重要的一个DLL动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ksuser.dll": "描述: ksuser.dll is a library which transports latency sensitive, time-stamped data between user perhiperals and system perhiperals\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapi32.dll": "描述: mapi32.dll是Windows Messaging即时通讯软件API应用程序接口(MAPI)。\n属于 MAPI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mgmtapi.dll": "描述: mgmtapi.dll是微软Microsoft简单网络管理应用程序接口API模块。\n属于 SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmsystem.dll": "描述: mmsystem.dll是多媒体管理模块用于支持16位多媒体应用程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mpr.dll": "描述: mpr.dll是Windws操作系统网络通讯相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mprapi.dll": "描述: mprapi.dll是Windows 2000路由管理模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msacm32.dll": "描述: msacm32.dll是32位应用程序音频压缩模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msafd.dll": "描述: msafd.dll是微软Microsoft Windows操作系统 Sockets 2.0传输服务相关模块。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomct2.dll": "描述: mscomct2.ocx是ActiveX插件公用管理模块。\n属于 Windows ActiveX \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscoree.dll": "描述: mscoree.dll是.NET Framework相关组件。\n属于 Microsoft .NET \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgina.dll": "描述: msgina.dll是WIndows登陆认证策略相关模块。该模块用于完成所有用户登陆和验证功能。\n属于 GINA \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msi.dll": "描述: msi.dll是Windows安装程序MSI(Microsoft Installer)相关模块。\n属于 Windows Installer \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msimg32.dll": "描述: msimg32.dll是Windows图形设备接口GDI相关模块用于支持新的API应用程序接口和GDI32相关特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjava.dll": "描述: msjava.dll是Java程序COM接口支持相关模块。\n属于 Microsoft JVM \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msnp32.dll": "描述: msnp32.dll是微软网络协议相关动态链接库。\n属于 Microsoft networks \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoss.dll": "描述: msoss.dll是Microsoft Trust ASN信任机制相关应用程序接口API模块用于加密和解密特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netapi32.dll": "描述: netapi32.dll是Windows网络应用程序接口用于支持访问微软网络。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"newdev.dll": "描述: newdev.dll是添加系统新硬件设备相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ntdll.dll": "描述: ntdll.dll是NT操作系统重要的模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oc25.dll": "描述: oc25.dll是对象链接和嵌入OLE运行时模块。\n属于 Microsoft OLE Control runtime DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole2nls.dll": "描述: ole2.dll是对象链接和嵌入OLE相关模块用于支持多语言。\n属于 Microsoft OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole32.dll": "描述: ole32.dll是对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"olepro32.dll": "描述: olepro32.dll是对象链接和嵌入OLE特性相关模块。\n属于 Microsoft OLE Property Support DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pidgen.dll": "描述: pidgen.dll是Windows操作系统重要的模块用于管理产品序列号。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pjlmon.dll": "描述: pjlmon.dll是PJL打印机监视相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"powrprof.dll": "描述: powrprof.dll是微软Microsoft Windows电源管理配置工具相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"psapi.dll": "描述: psapi.dll是Windows系统进程状态支持模块。\n属于 Process Status Helper \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasapi32.dll": "描述: rasapi32.dll是远程访问应用程序接口(RAS)用于Windows应用程序对调制解调器的控制。\n属于 Remote Access API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpcrt4.dll": "描述: rpcrt4.dll是远程程序调用(RPC)应用程序接口API用于WIndows应用程序对网络和Internet连接。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"run32.dll": "描述: run32.dll 是应用程序DLL文件运行库相关模块。\n属于 Windows 95 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"scrrun.dll": "描述: scrrun.dll用于阅读和编写脚本和文本文件。\n属于 Microsoft Script Runtime \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"secur32.dll": "描述: secur32.dll是Windows安全特性相关动态链接库。\n属于 Microsoft Windows DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupx.dll": "描述: setupx.dll是WIndows安装程序相关模块。\n属于 Microsoft Windows Setup Functions \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoc401.dll": "描述: shdoc401.dll是资源管理器文件夹浏览的COM接口相关模块。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoclc.dll": "描述: shdoclc.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdocvw.dll": "描述: shdocvw.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shell32.dll": "描述: shell32.dll是Windows壳Shell相关应用程序接口动态链接库文件用于打开网页和文件。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shfolder.dll": "描述: shfolder.dll是Windows特殊文件夹相关服务模块例如我的文档。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shlwapi.dll": "描述: shlwapi.dll是UNC和URL地址动态链接库文件用于注册键值和色彩设置。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"snmpapi.dll": "描述: snmpapi.dll是简单网络管理协议(SNMP)相关模块用于监视你的LAN局域网网络状态。\n属于 Microsoft SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spoolss.dll": "描述: spoolss.dll是打印机打印相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"svrapi.dll": "描述: svrapi.dll用于监视和管理共享网络资源。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tapi32.dll": "描述: tapi32.dll是Windows排列层相关模块用于发送消息到Tapisrv.exe。\n属于 Windows Telephony \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"unidrv.dll": "描述: unidrv.dll是通用打印机驱动动态连接库。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"urlmon.dll": "描述: urlmon.dll是微软Microsoft对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"usbui.dll": "描述: usbui.dll是通用程序界面应用程序接口用于管理USB用户界面。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"user32.dll": "描述: user32.dll是Windows用户界面相关应用程序接口用于包括Windows处理基本用户界面等特性。\n属于 Windows User API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"userenv.dll": "描述: userenv.dll是公用应用程序界面应用程序接口用于管理用户档案。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vfwwdm32.dll": "描述: vfwwdm32.dll用于Windows应用程序视频进行WDM剪辑驱动相关程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"webcheck.dll": "描述: webcheck.dll是用于对网站进行监视的COM接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wininet.dll": "描述: wininet.dll是Windows应用程序网络相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winmm.dll": "描述: winmm.dll是Windows多媒体相关应用程序接口用于低档的音频和游戏手柄。\n属于 Windows Multimedia \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsock.dll": "描述: winsock.dll是Windows Sockets应用程序接口用于支持很多Internet和网络相关应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsrv.dll": "描述: winsrv.dll是Windows服务用于支持32位用户和图形设备接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsta.dll": "描述: winsta.dll是成熟的Windows组件用于剪切板、全球区域特性和桌面组件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wintrust.dll": "描述: wintrust.dll用于验证第三方应用程序的文件目录内存使用数据签名等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmaudsdk.dll": "描述: wmaudsdk.dll用于读取、创建和获取.WMA音频格式文件信息。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmvcore.dll": "描述: wmvcore.dll是Windows媒体视频回放解码相关动态链接库。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wnaspi32.dll": "描述: wnaspi32.dll是高级Advanced SCSI程序接口( ASPI )管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2_32.dll": "描述: ws2_32.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2help.dll": "描述: ws2help.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32.dll": "描述: wsock32.dll是Windows Sockets应用程序接口用于支持很多Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary"
}

137
CheckDLL/main.py Normal file
View File

@@ -0,0 +1,137 @@
import os
import sys
import json
import traceback
import subprocess
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
# 加入路径
import os
import sys
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
sys.path.append(f"{programPath}/../")
from Model import *
finding = False
def ReadNeedDll(lists):
nmodel = QtGui.QStandardItemModel(window)
if not len(lists):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
for i in lists:
item = QtGui.QStandardItem(i)
nmodel.appendRow(item)
needDllList.setModel(nmodel)
def ReadBadNeedDll(lists):
global finding
nmodel = QtGui.QStandardItemModel(window)
if not len(lists):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
for i in lists:
item = QtGui.QStandardItem(i)
nmodel.appendRow(item)
badDllList.setModel(nmodel)
finding = True
def ErrorMsg(message):
QtWidgets.QMessageBox.critical(window, "错误", message)
class ReadDll(QtCore.QThread):
readNeed = QtCore.pyqtSignal(list)
readBad = QtCore.pyqtSignal(list)
error = QtCore.pyqtSignal(str)
def __init__(self) -> None:
super().__init__()
def run(self):
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
try:
output = subprocess.getoutput(f"python3 '{programPath}/CheckCommand.py' '{sys.argv[1]}' --json")
print(output)
self.readNeed.emit(json.loads(output))
except:
traceback.print_exc()
self.error.emit(traceback.format_exc())
try:
badoutput = subprocess.getoutput(f"python3 '{programPath}/CheckCommand.py' '{sys.argv[1]}' --json -w '{sys.argv[2]}' '{sys.argv[3]}'")
print(badoutput)
self.readBad.emit(json.loads(badoutput))
except:
traceback.print_exc()
self.error.emit(traceback.format_exc())
def GetDll():
global read
read = ReadDll()
read.readNeed.connect(ReadNeedDll)
read.readBad.connect(ReadBadNeedDll)
read.error.connect(ErrorMsg)
read.start()
def Change():
if not finding:
return
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
repairButton.setEnabled(os.path.exists(f"{programPath}/bash/{things}.sh"))
findButton.setEnabled(True)
def FindDll():
global dllMap
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
try:
dllMap["check"]
except:
try:
with open(f"{programPath}/lists.json", "r") as file:
dllMap = json.loads(file.read())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
return
try:
QtWidgets.QMessageBox.information(window, f"关于“{things}", dllMap[things])
except:
QtWidgets.QMessageBox.information(window, f"关于“{things}", "无此 Dll 的信息")
def RepairDll():
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
OpenTerminal(f"'{programPath}/../AutoShell/main.py' '{programPath}/bash/{things}.sh'")
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
iconPath = "{}/../deepin-wine-runner.svg".format(programPath)
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout()
badDllList = QtWidgets.QListView()
needDllList = QtWidgets.QListView()
badDllList.clicked.connect(Change)
findButton = QtWidgets.QPushButton("查询此 Dll 信息")
repairButton = QtWidgets.QPushButton("修复此 Dll")
findButton.setDisabled(True)
repairButton.setDisabled(True)
findButton.clicked.connect(FindDll)
repairButton.clicked.connect(RepairDll)
badDllList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
needDllList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
loadingTips = QtGui.QStandardItemModel(window)
loadingTipsItem = QtGui.QStandardItem("正在读取……")
loadingTips.appendRow(loadingTipsItem)
badDllList.setModel(loadingTips)
needDllList.setModel(loadingTips)
layout.addWidget(QtWidgets.QLabel("程序需要的 Dll(不太准)"), 0, 0, 1, 1)
layout.addWidget(QtWidgets.QLabel("程序缺失的 Dll(不太准)"), 0, 1, 1, 2)
layout.addWidget(needDllList, 1, 0)
layout.addWidget(badDllList, 1, 1, 1, 2)
layout.addWidget(findButton, 2, 1)
layout.addWidget(repairButton, 2, 2)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
window.setWindowTitle(f"查看程序“{os.path.basename(sys.argv[1])}”缺少的 DLL")
window.resize(int(window.frameGeometry().width() * 1.2), int(window.frameGeometry().height() * 1.1))
GetDll()
window.show()
app.exec_()

BIN
GetEXEVersion.exe Executable file

Binary file not shown.

29
IconList.json Normal file
View File

@@ -0,0 +1,29 @@
[
[
["QQ", "wineBottonPath/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe"],
["QQ", "wineBottonPath/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe"],
["TIM", "wineBottonPath/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe"],
["TIM", "wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe"]
],
[
["cmd", "cmd"],
["cmd", "cmd.exe"],
["cmd", "wineBottonPath/drive_c/windows/system32/cmd.exe"],
["Internet Explorer", "iexplore"],
["Internet Explorer", "iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe"],
["微信", "wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe"],
["微信", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe"],
["UltraISO", "wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe"],
["UltraISO", "wineBottonPath/drive_c/Program Files (x86)/UltraISO/UltraISO.exe"],
["迅雷", "wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["迅雷", "wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE"],
["腾讯会议", "wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe"],
["腾讯会议", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe"]
]
]

View File

@@ -70,6 +70,8 @@ m m "
["deepin-wine5-stable", "deepin-wine5-stable"],
["deepin-wine6-stable", "deepin-wine6-stable"]
]:
if not os.system(f"which {i[1]} > /dev/null"):
continue
choose = input(f"安装{i[0]}?(添加深度源)[Y/N]").upper()
if choose == "Y":
print("安装中……")
@@ -80,6 +82,10 @@ m m "
["deepin-wine", "deepin-wine"],
["spark-wine7-devel", "spark-wine7-devel"]
]:
if not os.system(f"which {i[1]} > /dev/null"):
continue
choose = input(f"安装{i[0]}?(添加深度、星火源)[Y/N]").upper()
if choose == "Y":
InstallWithSparkStoreSource(i[1])
InstallWithSparkStoreSource(i[1])
input("按回车键后退出……")
exit()

116
InstallWineOnDeepin23Alpha.py Executable file
View File

@@ -0,0 +1,116 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本2.5.0
# 更新时间2022年11月15日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
#################
# 引入所需的库
#################
import os
import webbrowser
def YesOrNo():
if input().replace(" ", "").upper() == "N":
return False
return True
def InstallWineSpark(wine):
print(f"开始安装 {wine}")
#os.system("pkexec apt update")
if not os.system(f"pkexec aptss install {wine} -y"):
print(f"{wine} 安装失败!")
PressEnter()
else:
print("安装完成")
def InstallWine(wine):
print(f"开始安装 {wine}")
os.system("pkexec apt update")
if not os.system(f"pkexec apt install {wine} -y"):
print(f"{wine} 安装失败!")
PressEnter()
else:
print("安装完成")
def CheckSparkStore():
return os.system("which spark-store > /dev/null") + os.system("which aptss > /dev/null")
def InstallSparkStore():
if not CheckSparkStore:
return
print("按下回车键后打开星火应用商店官网,手动安装完星火应用商店后再次按下回车以继续")
webbrowser.open_new_tab("https://spark-app.store/")
PressEnter()
print("安装星火应用商店后按下回车……")
PressEnter()
while True:
if not os.system("which spark-store > /dev/null"):
if not os.system("which aptss > /dev/null"):
break
print("您暂未安装最新版本的星火应用商店,请更新版本后按下回车")
PressEnter()
continue
print("您暂未安装星火应用商店,请在安装后按下回车")
PressEnter()
continue
def InstallDeepinAppStore():
print("开始安装官方应用商店")
if not os.system("pkexec apt install deepin-app-store -y"):
print("安装失败!按回车键后退出")
PressEnter()
exit()
else:
print("安装完成")
def PressEnter():
input("按回车键后继续……")
if __name__ == "__main__":
print('''
m m "
# # # mmm m mm mmm
" #"# # # #" # #" #
## ##" # # # #""""
# # mm#mm # # "#mm"
''')
print("后续操作需要有 root 权限")
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
# 敢这样浪不还是 Alpha 源有官方应用商店
if os.system("which deepin-home-appstore-client > /dev/null"):
print("暂未安装官方应用商店,安装后才能继续,是否安装?[Y/N]")
if YesOrNo:
InstallDeepinAppStore()
deepinWineList = [
#"deepin-wine",
#"deepin-wine5-stable",
"deepin-wine6-stable"
]
for i in deepinWineList:
if not os.system(f"which {i} > /dev/null"):
print(f"{i} 已安装")
continue
print(f"是否安装 {i}[Y/N]")
if YesOrNo:
InstallWine(i)
sparkWineList = [
#"deepin-wine",
#"deepin-wine5",
#"spark-wine7-devel"
]
for i in sparkWineList:
if not os.system(f"which {i} > /dev/null"):
continue
print(f"是否安装 {i}[Y/N]")
if YesOrNo:
InstallSparkStore()
InstallWineSpark(i)
print("按回车键退出")
PressEnter()
exit()

View File

@@ -10,11 +10,20 @@ build:
cp -rv VM-source/Windows7X86Auto.iso VM
cp -rv VM-source/run.py VM
cp -rv wine/ deb/opt/apps/deepin-wine-runner/
cp -rv Test/ deb/opt/apps/deepin-wine-runner/
zip -v -q -r package-script.zip package-script
cp -rv VM deb/opt/apps/deepin-wine-runner
cp -rv AllInstall.py deb/opt/apps/deepin-wine-runner
cp -rv kill.sh deb/opt/apps/deepin-wine-runner
cp -rv InstallWineOnDeepin23Alpha.py deb/opt/apps/deepin-wine-runner
cp -rv wrestool deb/opt/apps/deepin-wine-runner
cp -rv deepin-wine-easy-packager.py deb/opt/apps/deepin-wine-runner
cp -rv IconList.json deb/opt/apps/deepin-wine-runner
cp -rv GetEXEVersion.exe deb/opt/apps/deepin-wine-runner
echo "[]" > deb/opt/apps/deepin-wine-runner/wine/winelist.json
rm -rfv deb/opt/apps/deepin-wine-runner/wine/winelist.json
cp -rv req deb/opt/apps/deepin-wine-runner
cp -rv BuildDesktop.py deb/opt/apps/deepin-wine-runner
cp -rv RegShot deb/opt/apps/deepin-wine-runner
cp -rv BeCyIconGrabber.exe deb/opt/apps/deepin-wine-runner
cp -rv AutoShell deb/opt/apps/deepin-wine-runner
@@ -46,12 +55,13 @@ build:
cp -rv InstallWineOnDeepin23.py deb/opt/apps/deepin-wine-runner
cp -rv dxvk.7z deb/opt/apps/deepin-wine-runner
cp -rv InstallFont.py deb/opt/apps/deepin-wine-runner
cp -rv CheckDLL deb/opt/apps/deepin-wine-runner
#cp -rv exagear.7z deb/opt/apps/deepin-wine-runner
cp -rv dlls-arm.7z deb/opt/apps/deepin-wine-runner
cp -rv deepin.list deb/opt/apps/deepin-wine-runner
cp -rv sparkstore.list deb/opt/apps/deepin-wine-runner
cp -rv arm-package.7z deb/opt/apps/deepin-wine-runner
cp -rv exa.7z deb/opt/apps/deepin-wine-runner
#cp -rv exa.7z deb/opt/apps/deepin-wine-runner
cp -rv clean-unuse-program.py deb/opt/apps/deepin-wine-runner
cp -rv InstallNewWineHQ.sh deb/opt/apps/deepin-wine-runner
cp -rv cleanbottle.sh deb/opt/apps/deepin-wine-runner

View File

@@ -1,15 +1,16 @@
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
<h1 align="center">Wine 运行器 2.4.1</h1>
<h1 align="center">Wine 运行器 2.5.0</h1>
<hr>
## 介绍
一个图形化了以下命令的程序
Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。
它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装、创建、分区等操作。
此外它还简化了如下命令让你可以更简便地使用Wine
```bash
env WINEPREFIX=容器路径 winewine的路径 可执行文件路径
```
让你可以简易方便的使用 wine
是使用 Python3 的 PyQt5 构建的
(自己美术功底太差,图标只能在网络上找了)
测试平台deepin 20.7.1UOS 家庭版 21.3.1Ubuntu 22.04Ubuntu 20.04UOS 专业版 1050openkylin
![截图_选择区域_20221002221112.png](https://storage.deepin.org/thread/202210022215217037_截图_选择区域_20221002221112.png)
而打包器可以方便的把您的 wine 容器打包成 deb 包供他人使用,程序创建的 deb 构建临时文件夹目录树如下:
@@ -102,6 +103,28 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
![image.png](https://storage.deepin.org/thread/202207190822204627_image.png)
## 更新日志
### 2.5.0.12022年11月25日
**※1、修复已知问题**
### 2.5.02022年11月25日
**※1、容器自动配置脚本 GUI 查看介绍使用 QWebEngineWidget支持图片非强制依赖只做推荐**
**※2、不基于生态适配活动脚本打包器跟进 arm 架构 2022年11月11日的 Wine 微信打包方式;**
**※3、支持多图标的程序打包**
**※4、修复了安装更多 Wine 换源换了个寂寞的问题;**
**※5、修复安装更多 Wine 重新安装后列表丢失的问题;**
**※6、新增了对 Deepin 23 Alpha 优化的 Wine 安装器;**
**※7、新增 Dll 名称查询功能,可以查询对应 Dll 的作用;**
**※8、支持静态获取可执行文件可以调用的 Dll 并提供解决方案;**
**※9、支持移除指定的 .desktop 快捷方式;**
**※10、新增日志分析功能以及导出、上传日志功能**
11、修复了不基于生态适配活动脚本打包器在选择 arm 打包架构下容器自动删除脚本取消勾选无用的问题;
12、优化文案、新增友链
13、提供了部分组件的测试功能。
![image.png](https://storage.deepin.org/thread/202211250932168081_image.png)
### 2.4.1.12022年11月21日
**※1、修复已知问题**
### 2.4.12022年11月06日
**※1、不基于生态适配活动脚本的打包器支持只生成制作容器的 7z 包**
**※2、两个打包器的容器自动删除脚本添加 kill.sh**
@@ -117,6 +140,7 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
12、非基于生态适配活动脚本的打包器默认勾选卸载该 deb 后自动删除容器、使用统信活动容器清理脚本、使用星火 wine helper
13、优化文案
![image.png](https://storage.deepin.org/thread/202211061755115167_image.png)
### 2.4.02022年10月25日
**※1、新增 VB Runtime 组件安装工具**
**※2、优化自动配置容器搜索功能搜索不区分大小写**

BIN
Test/net.exe Executable file

Binary file not shown.

BIN
Test/netandie.exe Executable file

Binary file not shown.

BIN
Test/vb.exe Executable file

Binary file not shown.

BIN
__pycache__/InstallVisualBasicRuntime.cpython-37.pyc Executable file → Normal file

Binary file not shown.

BIN
__pycache__/InstallVisualCPlusPlus.cpython-37.pyc Executable file → Normal file

Binary file not shown.

BIN
arm-package.7z Executable file → Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
Package: spark-deepin-wine-runner
Version: 2.4.1-uos
Version: 2.6.0~alpha1
Maintainer: gfdgd xi <3025613752@qq.com>, 为什么您不喜欢熊出没和阿布呢
Homepage: https://gitee.com/gfdgd-xi/deep-wine-runner, https://github.com/gfdgd-xi/deep-wine-runner, https://gitlink.org.cn/gfdgd_xi/deep-wine-runner
Architecture: all
@@ -9,19 +9,21 @@ Recommends: winbind, wimtools
Section: utils
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer
Replaces: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer
Installed-Size: 29616
Installed-Size: 21844
Description: gfdgd xi、为什么您不喜欢熊出没和阿布呢 制作的 wine 运行器
2.4.1 更新内容:
※1、不基于生态适配活动脚本的打包器支持只生成制作容器的 7z 包
※2、两个打包器的容器自动删除脚本添加 kill.sh
※3、Wine 运行器支持杀死对应容器进程
※4、容器自动配置脚本和 Wine 安装器支持切换源
5、非生态适配脚本打包器追加运行参数改为 --uri XXX 而非直接 XXX
6、两个打包器新增星火应用商店投稿入口
7、优化开启 Windows 虚拟机功能在未安装 VirtualBox 时的提示
8、Reg Shot 版本从 1.8.3-beta1V5 升级到 1.9.0
9、Geek Uninstaller 版本从 1.5.1.161 升级到 1.5.1.163
10、容器自动配置脚本添加 installother 命令、修复返回值传递问题
11、不显示 pip 安装库的提示信息(因为不是很核心的库)
更新时间2022年11月06日
2.5.0 更新内容:
※1、容器自动配置脚本 GUI 查看介绍使用 QWebEngineWidget支持图片非强制依赖只做推荐
※2、不基于生态适配活动脚本打包器跟进 arm 架构 2022年11月11日的 Wine 微信打包方式;
※3、支持多图标的程序打包;
※4、修复了安装更多 Wine 换源换了个寂寞的问题;
5、修复安装更多 Wine 重新安装后列表丢失的问题;
6、新增了对 Deepin 23 Alpha 优化的 Wine 安装器;
7、新增 Dll 名称查询功能,可以查询对应 Dll 的作用;
8、支持静态获取可执行文件可以调用的 Dll 并提供解决方案;
9、支持移除指定的 .desktop 快捷方式;
10、新增日志分析功能以及导出、上传日志功能;
11、修复了不基于生态适配活动脚本打包器在选择 arm 打包架构下容器自动删除脚本取消勾选无用的问题;
12、优化文案、新增友链
13、提供了部分组件的测试功能。
更新时间2022年11月25日
作者gfdgd xi、为什么您不喜欢熊出没和阿布呢

View File

@@ -9,8 +9,22 @@
#################################################################################################################
# 非强制性的必应组件,所以成功不成功都行
echo 安装组件
python3 -m pip install --upgrade pynput --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null | true
python3 -m pip install --upgrade pynput --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true
echo 执行完成
echo 移除旧组件
if [ -d /opt/apps/deepin-wine-runner/arm-package ]; then
rm -rf /opt/apps/deepin-wine-runner/arm-package
fi
if [ -d /opt/apps/deepin-wine-runner/dlls-arm ]; then
rm -rf /opt/apps/deepin-wine-runner/dlls-arm
fi
if [ -d /opt/apps/deepin-wine-runner/exa ]; then
rm -rf /opt/apps/deepin-wine-runner/exa
fi
if [ -d /opt/apps/deepin-wine-runner/dxvk ]; then
rm -rf /opt/apps/deepin-wine-runner/dxvk
fi
echo 移除完成
# 如果为非 X86 PC可以删除掉一些无用组件主要是用不了
if [ `arch` != "x86_64" ]; then
echo 非X86架构删除对非X86架构无用的组件
@@ -34,9 +48,9 @@ if [ `arch` != "x86_64" ]; then
rm -rf /opt/apps/deepin-wine-runner/InstallNewWineHQ.sh
fi
# 到时候切换 gpg 源会方便很多
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FD6EEA1F20CD4B27 > /dev/null
apt update > /dev/null | true
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FD6EEA1F20CD4B27 > /dev/null 2>&1 | true
apt update > /dev/null 2>&1 | true
# 设置目录权限,让用户可读可写,方便后续删除组件
chmod 777 -R /opt/apps/deepin-wine-runner
# 向服务器返回安装数加1不显示内容且忽略错误
curl https://304626p927.goho.co/spark-deepin-wine-runner/Install.php?Version=2.4.1 -s > /dev/null | true
curl https://304626p927.goho.co/spark-deepin-wine-runner/Install.php?Version=2.5.0 -s > /dev/null 2>&1 | true

View File

@@ -57,30 +57,37 @@ print("请问是否要更新操作系统?[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt upgrade -y")
print("请问是否要安装原版 winewine64[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install wine -y")
print("请问是否要安装 deepin-wine[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine -y")
print("请问是否要安装 deepin-wine5需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
print("请问是否要安装 deepin-wine5-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine5-stable -y")
print("请问是否要安装 deepin-wine6-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine6-stable -y")
print("请问是否要安装 spark-wine7-devel需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
InstallSparkWine("spark-wine7-devel")
print("请问是否要安装 ukylin-wine需要添加 ukylin 源,但因为可能会导致系统问题,将不会自动添加)?[Y/N]", end=" ")
choose = input().upper()
if not choose == "N":
os.system("sudo apt install ukylin-wine -y")
if os.system("which wine > /dev/null"):
print("请问是否要安装原版 winewine64[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install wine -y")
if os.system("which deepin-wine > /dev/null"):
print("请问是否要安装 deepin-wine[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine -y")
if os.system("which deepin-wine5 > /dev/null"):
print("请问是否要安装 deepin-wine5需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if os.system("which deepin-wine5-stable > /dev/null"):
print("请问是否要安装 deepin-wine5-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine5-stable -y")
if os.system("which deepin-wine6-stable > /dev/null"):
print("请问是否要安装 deepin-wine6-stable[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
os.system("sudo apt install deepin-wine6-stable -y")
if os.system("which spark-wine7-devel > /dev/null"):
print("请问是否要安装 spark-wine7-devel需要安装最新版星火应用商店[Y/N]", end=' ')
choose = input().upper()
if not choose == "N":
InstallSparkWine("spark-wine7-devel")
if os.system("which ukylin-wine > /dev/null"):
print("请问是否要安装 ukylin-wine需要添加 ukylin 源,但因为可能会导致系统问题,将不会自动添加)?[Y/N]", end=" ")
choose = input().upper()
if not choose == "N":
os.system("sudo apt install ukylin-wine -y")
print("全部完成!")

View File

@@ -19,13 +19,20 @@ import req as requests
import PyQt5.QtWidgets as QtWidgets
from UI.AutoConfig import *
from Model import *
try:
import PyQt5.QtWebEngineWidgets as QtWebEngineWidgets
webeng = True
except:
print("未安装此依赖库")
webeng = False
urlSourcesList = [
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/auto", # Gitlink 源
"https://gitee.com/gfdgd-xi/deep-wine-runner-auto-configuration-script/raw/master/", # Gitee 源
"https://gfdgd-xi.github.io/deep-wine-runner-auto-configuration-script/", # Github 源
"http://gfdgdxi.msns.cn/wine-runner-list/auto/", # 备用源1纯 IPv6 源
"http://120.25.153.144/deep-wine-runner-auto-configuration-script/", # 备用源2,纯 IPv6 源
"http://120.25.153.144/deep-wine-runner-auto-configuration-script/", # 备用源2
"http://gfdgdxi.free.idcfengye.com/wine-runner-list/auto/", # 备用源 3
"http://127.0.0.1/wine-runner-list/auto/" # 本地测试源
]
urlSources = urlSourcesList[0]
@@ -98,6 +105,7 @@ class ProgramRunStatusUpload():
class InformationWindow():
def ShowWindow():
#webeng = False
# 获取选中项
try:
choose = ui.searchList.selectionModel().selectedIndexes()[0].data()
@@ -110,11 +118,13 @@ class InformationWindow():
if i[0] == choose:
fileName = i[1]
break
aboutHtml = ""
try:
get = requests.get(f"{urlSources}/information/{fileName}.txt")
if get.status_code / 100 != 2 and get.status_code / 100 != 3:
int("Bad")
about = get.text
aboutHtml = str(about)
if not "<" in about:
# 非 Html 标签
for i in about.splitlines():
@@ -145,20 +155,49 @@ class InformationWindow():
starHtml = ""
if maxHead > 5:
for i in range(end):
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
if webeng:
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/BadStar.svg' width=50>\n"
else:
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
else:
for i in range(maxHead):
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
if webeng:
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/Star.svg' width=50>\n"
else:
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
head = maxHead
for i in range(head, end):
starHtml += f"<img src='{programPath}/Icon/UnStar.svg' width=50>"
if webeng:
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/UnStar.svg' width=50>"
else:
starHtml += f"<img src='{programPath}/Icon/UnStar.svg' width=50>"
about += f"\n<hr/><h1>评分情况</h1>\n<p align='center'>{starHtml}</p>\n<p align='center'>{tipsInfo}</p>"
message = QtWidgets.QDialog()
messageLayout = QtWidgets.QVBoxLayout()
informationText = QtWidgets.QTextBrowser()
if webeng:
informationText = QtWebEngineWidgets.QWebEngineView()
print(aboutHtml)
if aboutHtml[:7] == "Visit: ":
url = aboutHtml[7:].splitlines()[0]
print(url)
informationText.setUrl(QtCore.QUrl(url.strip()))
else:
#informationText.linkClicked.connect(lambda: print("a"))
try:
with open("/tmp/deepin-wine-runner-information.html", "w") as file:
file.write(about)
informationText.setUrl(QtCore.QUrl("file:///tmp/deepin-wine-runner-information.html"))
except:
traceback.print_exc()
informationText.setHtml(about)
#informationText.urlChanged.connect(lambda: informationText.setUrl(QtCore.QUrl("https://gfdgd-xi.github.io")))
else:
informationText = QtWidgets.QTextBrowser()
informationText.setHtml(about)
uploadFen = QtWidgets.QPushButton("提交评分")
uploadFen.clicked.connect(lambda: ProgramRunStatusUpload.ShowWindow(fileName, choose))
informationText.setHtml(about)
#informationText.setUrl(QtCore.QUrl("https://gfdgd-xi.github.io"))
messageLayout.addWidget(informationText)
messageLayout.addWidget(uploadFen)
message.setWindowTitle(f"关于“{choose}”的介绍")
@@ -329,7 +368,7 @@ def readtxt(path):
def ChangeSources():
global urlSources
sources = [ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action]
sources = [ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action_3, ui.action]
for i in range(0, len(sources)):
if sources[i].isChecked():
urlSources = urlSourcesList[i]
@@ -372,7 +411,9 @@ if __name__ == "__main__":
sourcesGroup.addAction(ui.actionGitlink)
sourcesGroup.addAction(ui.actionGitee)
sourcesGroup.addAction(ui.actionGithub)
sourcesGroup.addAction(ui.action_IPv6)
sourcesGroup.addAction(ui.action_2)
sourcesGroup.addAction(ui.action_3)
sourcesGroup.addAction(ui.action)
sourcesGroup.triggered.connect(ChangeSources)
sourcesGroup.setExclusive(True)

View File

@@ -0,0 +1,122 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi
# 版本2.5.0
# 更新时间2022年11月20日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
# 基于 Python3 的 PyQt5 构建
#################################################################################################################
#################
# 引入所需的库
#################
import os
import sys
import traceback
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
desktopList = []
desktopUsrList = []
def GetDesktopList(path):
for i in os.listdir(path):
if os.path.isdir(f"{path}/{i}"):
GetDesktopList(f"{path}/{i}")
if os.path.isfile(f"{path}/{i}"):
try:
desktop = {}
with open(f"{path}/{i}") as file:
things = file.read()
for k in things.splitlines():
if not "=" in k:
continue
desktop[k[:k.index("=")].lower()] = k[k.index("=") + 1:]
desktopList.append([desktop["Name".lower()], desktop["Icon".lower()], desktop["Exec".lower()], f"{path}/{i}"])
except:
traceback.print_exc()
delButton.setEnabled(len(desktopList))
class DesktopList(QtCore.QThread):
show = QtCore.pyqtSignal(int)
def __init__(self) -> None:
super().__init__()
def run(self):
if os.path.exists(f"{homePath}/.local/share/applications"):
GetDesktopList(f"{homePath}/.local/share/applications")
self.show.emit(0)
def ShowDesktop(temp):
nmodel = QtGui.QStandardItemModel(window)
if not len(desktopList):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
y = 0
for i in desktopList:
#item = QtGui.QStandardItem(QtGui.QIcon(i[1]), i[0])
#nmodel.appendRow(item)
if os.path.exists(i[1]):
nmodel.setItem(y, 0, QtGui.QStandardItem(QtGui.QIcon(i[1]), i[0]))
else:
nmodel.setItem(y, 0, QtGui.QStandardItem(QtGui.QIcon.fromTheme(i[1]), i[0]))
nmodel.setItem(y, 1, QtGui.QStandardItem(i[2]))
nmodel.setItem(y, 2, QtGui.QStandardItem(i[3]))
y += 1
nmodel.setHeaderData(0, QtCore.Qt.Horizontal, "程序名")
nmodel.setHeaderData(1, QtCore.Qt.Horizontal, "运行路径")
nmodel.setHeaderData(2, QtCore.Qt.Horizontal, ".desktop 文件所在路径")
nmodel.setColumnCount(3)
desktopListView.setModel(nmodel)
def GetDesktopThread():
global desktop
desktop = DesktopList()
desktop.show.connect(ShowDesktop)
desktop.start()
def DeleteButton():
index = desktopListView.currentIndex().row()
if index < 0:
QtWidgets.QMessageBox.critical(window, "错误", "未选中任何项")
return
print(index)
print(desktopList[index][3])
#desktopListView.rowMoved(index)
#desktopListView.removeRow(index)
try:
os.remove(desktopList[index][3])
del desktopList[index]
ShowDesktop(0)
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
homePath = os.getenv("HOME")
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
#GetDesktopList(f"{homePath}/.local/share/applications")
#print(desktopList)
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout()
delButton = QtWidgets.QPushButton("删除指定图标")
delButton.clicked.connect(DeleteButton)
#desktopListView = QtWidgets.QListView()
desktopListView = QtWidgets.QTableView()
desktopListView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
desktopListView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)#(QAbstractItemView::SelectRows)
layout.addWidget(desktopListView, 0, 0, 1, 4)
layout.addWidget(delButton, 1, 3, 1, 1)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.setWindowTitle("图标管理")
window.resize(int(window.frameGeometry().width() * 1.5), int(window.frameGeometry().height() * 1.2))
window.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
window.show()
GetDesktopThread()
app.exec_()

Binary file not shown.

View File

@@ -0,0 +1,90 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本2.5.0
# 更新时间2022年11月18日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
# 基于 Python3 的 PyQt5 构建
#################################################################################################################
#################
# 引入所需的库
#################
import os
import sys
import json
if len(sys.argv) <= 1:
print("参数不足")
sys.exit(1)
if "--help" in sys.argv:
print("帮助:")
print("[exe path] [option]")
print("--json 以 json 格式输出")
print("-w [wine botton] [wine program path]")
jsonPrint = "--json" in sys.argv
if jsonPrint:
del sys.argv[sys.argv.index("--json")]
lists = []
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
checkDll = False
if "-w" in sys.argv:
wineCommand = sys.argv.index("-w")
wineBotton = os.getenv("HOME")
wineProgram = "deepin-wine6-stable"
checkDll = True
try:
wineBotton = sys.argv[wineCommand + 1]
wineProgram = sys.argv[wineCommand + 2]
except:
pass
badChar = [
"(", "?", "*", "!", ")", "&", "'", "\""
]
with open(sys.argv[1], "rb") as file:
while True:
things = file.readline()
if things == b"":
break
for n in [".dll", ".DLL"]:
if n.encode() in things:
# 提取 DLL 名称
for i in str(things[1: -2]).split("\\x"):
charBad = False
for b in badChar:
if b in i:
charBad = True
if n in i and not charBad and i[0] != "/":
name = i[2: ].replace(",{M", "").replace("+", "")
# 文件路径合法性检测
try:
dllName = name[:name.index(".dll") + 4]
except:
try:
dllName = name[:name.index(".DLL") + 4]
except:
dllName = name
if dllName.lower() == ".dll":
continue
if dllName in lists:
continue
if checkDll:
if jsonPrint:
if os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}' > /dev/null 2>&1"):
lists.append(dllName)
continue
else:
os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}'")
lists.append(dllName)
elif jsonPrint:
lists.append(dllName)
continue
else:
print(dllName)
lists.append(dllName)
if jsonPrint:
print(json.dumps(lists))

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器
installvcpp 4
info 提示 修复完成!重新检测即可

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月03日
##########################################################################################
# 用于判断是否为 bash 解释器
installother 2
info 提示 修复完成!重新检测即可

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env deepin-wine-runner-auto-install-bash
# 使用 Wine 运行器的语言解析器
##########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 更新时间2022年11月19日
##########################################################################################
# 用于判断是否为 bash 解释器
installvb 4
info 提示 修复完成!重新检测即可

View File

@@ -0,0 +1,451 @@
{
"check": "",
"aaaamon.dll": "描述: aaaamon.dll是Aaaa监视软件动态链接库文件相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"activeds.dll": "描述: activeds.dll是活动目录服务相关应用程序COM接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"actxprxy.dll": "描述: actxprxy.dll是Marshalingx ActiveX控件COM接口相关文件。\n属于 Windows ActiveX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"adsmsext.dll": "描述: adsmsext.dll是LDAP协议支持相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advert.dll": "描述: advert.dll是一个广告软件相关文件会在Internet Explorer浏览器上显示广告。\n属于 Aureate \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"amovie.dll": "描述: amovie.ocx是应用在Windows 9x平台的多媒体和视频播放技术相关文件。\n属于 IE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ash.dll": "描述: ash.dll是Bankash木马相关文件该木马允许攻击者访问你的计算机窃取密码和个人数据。\n属于 Bankash Trojan \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ati_d3d.dll": "描述: ati_d3d.dll是ATI显示卡3D效果支持相关文件。\n属于 ATI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avicap.dll": "描述: avicap.dll是Windows API应用程序接口用于截取AVI视频和摄像头及其它视频硬件设备的视频。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avifil32.dll": "描述: avifil32.dll是AVI视频支持相关模块。\n属于 Microsoft AVI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awfxrn32.dll": "描述: awfxrn32.dll是IFAX文件传输接口相关文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awlft332.dll": "描述: awlft332.dll是本地传真程序接口相关文件。\n属于 Windows 98,95 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awlhut32.dll": "描述: awlhut32.dll是ASN.1数据编码和解码相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"awutil32.dll": "描述: awutil32.dll是微软Microsoft传真应用程序相关文件。\n属于 Microsoft Fax \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"batmeter.dll": "描述: batmeter.dll是电池状态信息管理相关文件出现在BatMeterCapabilities、CreateBatMeter、DestroyBatMeter和PowerCapabilities等电池厂家的程序中。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bib.dll": "描述: bib.dll是Adobe Acrobat界面相关文件。\n属于 Adobe Acrobat \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"browselc.dll": "描述: browselc.dll是Windows Shell壳浏览用户界面相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"btvid_32.dll": "描述: btvid_32.dll是Brooktree视频卡I2C和GPIO应用程序接口相关文件。\n属于 Brooktree \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cabinet.dll": "描述: cabinet.dll是Cab压缩包应用程序接口相关文件。\n属于 Microsoft Cabinet File \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"calwin32.dll": "描述: calwin32.dll是NetWare应用程序相关动态链接库文件。\n属于 NetWare \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdaengine.dll": "描述: cdaengine.dll是WildTangent广告间谍软件相关文件。\n属于 WildTangent Spyware \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdosys.dll": "描述: cdosys.dll是应用程序CDO相关文件。\n属于 CDO \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdudflib.dll": "描述: cdudflib.dll是Direct CD光盘刻录软件相关支持文件。\n属于 DirectCD \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cmc.dll": "描述: cmc.dll是MAPI 1.0Windows消息应用程序接口公用消息调用相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d32-fw.dll": "描述: d32-fw.dll是雅虎通相关动态链接库文件文件用于使雅虎通能够透过防火墙。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d8thk.dll": "描述: d3d8.dll是DirectX 8.0的Direct3D显示支持程序用于支持游戏。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3dim700.dll": "描述: d3dim700.dll是微软Microsoft Direct3D图形系统相关模块。\n属于 Direct3D \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3dxof.dll": "描述: d3dxof.dll是Direct3D文件格式相关文件。\n属于 Direct3D \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dao3032.dll": "描述: dao3032.dll是Microsoft Jet DAO数据访问相关动态链接库文件。\n属于 Microsoft Jet \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dciman32.dll": "描述: dciman32.dll是显示控制界面管理相关文件用于调制显示性能。\n属于 Display Control Interface Manager \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddrawex.dll": "描述: ddrawex.dll是Direct Draw显示相关模块。\n属于 DirectDraw \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"deskcp16.dll": "描述: deskcp16.dll是Windows 9x操作系统显示配置相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devenum.dll": "描述: devenum.dll是DirectShow相关模块用于声音输入、声音输出和MIDI设备。\n属于 DirectShow \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devmgr.dll": "描述: devmgr.dll是Windows设备管理相关文件。\n属于 Windows Device Manager \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dispex.dll": "描述: dispex.dll是Visual Basic脚本COM接口相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dnsapi.dll": "描述: dnsapi.dll是DNS客户端应用程序接口API相关文件。\n属于 DNS Client \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dplay.dll": "描述: dplay.dll是DirectPlay播放器的支持文件。\n属于 Microsoft DirectPlay DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dplayx.dll": "描述: dplayx.dll是DirectPlay相关支持文件。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"drmclien.dll": "描述: drmclien.dll是播放包相关系统库文件。\n属于 DRM \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dxtmsft.dll": "描述: dxtmsft.dll是DirectX媒体图像转换相关支持文件。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dxtrans.dll": "描述: dxtrans.dll是DirectX相关转换模块。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ecomwr.dll": "描述: ecomwr.dll是McAfee杀毒软件相关动态链接库文件。\n属于 McAfee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"efsadu.dll": "描述: efsadu.dll是文件加密相关支持模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"encsplsh.dll": "描述: encsplsh.dll是微软Microsoft Encarta百科全书相关文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"esent.dll": "描述: esent.dll是VBA相关运行时支持文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"expsrv.dll": "描述: expsrv.dll是VBA运行时相关服务文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide.dll": "描述: glide.dll是3DFX (Voodoo)图像显示卡相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"googletoolbar1.dll": "描述: googletoolbar1.dll是google.com出品的搜索工具条相关文件。\n属于 Google Searching Facility \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gpsb2.dll": "描述: gpsB2.dll是VX2间谍软件相关程序。\n属于 VX2 Spyware Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hid.dll": "描述: hid.dll是USB的HID相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hotplug.dll": "描述: hotplug.dll是微软Microsoft Windows安全硬件移除相关文件用于例如PCMCIA设备。\n属于 Microsoft Windows Opearting System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hpdcmon.dll": "描述: hpdcmon.dll是惠普HP打印机语言监视支持文件。\n属于 HP Printers \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iccvid.dll": "描述: iccvid.dll是Cinepak视频解码相关文件。\n属于 Cinepak Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icm32.dll": "描述: icm32.dll是显示器色彩调节和计算相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icqcore.dll": "描述: icqcore.dll是ICQ即时通讯软件图形用户界面相关文件。\n属于 ICQ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icqmapi.dll": "描述: icqmapi.dll是ICQ即时通讯软件消息相关应用程序接口文件。\n属于 ICQ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idapi32.dll": "描述: idapi32.dll是Borland数据库系统相关文件。\n属于 Borland Database Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idq.dll": "描述: idq.dll是ISAPI索引相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iedkcs32.dll": "描述: iedkcs32.dll是微软Microsoft Internet Explorer浏览器用户个性化相关文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ifc22.dll": "描述: ifc22.dll是罗技Logitech鼠标增强相关文件。\n属于 iFeel TouchSence Logitech mouse \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iforce2.dll": "描述: iforce2.dll是力反馈游戏手柄相关文件。\n属于 Games \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imeshare.dll": "描述: imeshare.dll是微软Microsoft Office输入法相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgcmn.dll": "描述: imgcmn.dll是基本图形相关库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgscan.dll": "描述: imgscan.ocx是ImagEdit扫描控制相关文件\n属于 Microsoft ImagEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imm32.dll": "描述: imm32.dll是微软Microsoft Windows输入法管理相关文件。\n属于 Microsoft Windows (IMM) \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetcomm.dll": "描述: inetcomm.dll是微软即时通讯相关应用程序接口文件。\n属于 Microsoft Internet Messaging API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetcplc.dll": "描述: inetcplc.dll是Internet控制面板相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetwh32.dll": "描述: inetwh32.dll是Blue Sky软件在线帮助相关文件。\n属于 Blue Sky DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ir50_32.dll": "描述: ir50_32.dll是Intel Indeo视频解码相关文件。\n属于 Indeo video \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"itss.dll": "描述: itss.dll是微软Microsoft储存系统相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jgdw400.dll": "描述: jgdw400.dll是AOL .ART格式文件相关支持文件。\n属于 AOL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jit.dll": "描述: jit.dll是微软Java运行时相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jpeg1x32.dll": "描述: jpeg1x32.dll是JPEG图像相关库文件。\n属于 Microsoft JPEG \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"kbdus.dll": "描述: kbdus.dll是美式键盘相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lmf32v.dll": "描述: lmf32v.dll是Vertical Theories的广告程序。该程序监视你的浏览行为并回传到其服务器进行分析。该进程也会弹出广告。\n属于 Hyperlinker Spyware Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"loadpowerprofile.dll": "描述: LoadPowerProfile (powrprof.dll)是微软Microsoft Windows 9x电源管理控制面板相关模块。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"localspl.dll": "描述: localspl.dll是本地打印机相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"locwin32.dll": "描述: locwin32.dll是Novell Netware客户端相关文件。\n属于 Novell NetWare Client API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ls3df.dll": "描述: ls3df.dll是Mafia计算机游戏相关文件。\n属于 Game Mafia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lsasrv.dll": "描述: lsasrv.dll用于本地安全密码验证相关动态链接库文件。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ltwrp10n.dll": "描述: ltwrp10n.dll是Win32 LEADTOOLS图像库文件。\n属于 LEADTOOLS \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lz32.dll": "描述: lz32.dll是LZ解压和压缩相关文件。\n属于 LZ Expand/Compress \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"lzexpand.dll": "描述: lz32.dll是LZ压缩格式解压和压缩相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapistub.dll": "描述: mapistub.dll是Windows NT的MAPI相关文件。\n属于 MAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapobj90.dll": "描述: mapobj90.dll是MapPoint相关软件。它是一个地图和分析工具。\n属于 MapPoint \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxlink3.dll": "描述: maxlink3.dll是Visioneer扫描仪相关库文件。\n属于 未知N/A \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxrast.dll": "描述: maxrast.dll是Visioneer公司相关库文件用于支持图像。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxutil.dll": "描述: maxutil.dll是Visioneer扫描仪相关库文件。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mdvmqlt.dll": "描述: mdvmqlt.dll是EA公司Battle Field 1942游戏相关文件。\n属于 Game BattleField \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42loc.dll": "描述: mfc42loc.dll是MFC应用程序本地化资源相关文件。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42u.dll": "描述: mfc42u.dll是微软MFC程序相关动态链接库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfcuia32.dll": "描述: mfcuia32.dll是对象链接与嵌入OLE的ANSI和Unicode对话框支持相关文件。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmcndmgr.dll": "描述: mmcndmgr.dll是MMC Node管理COM接口相关动态链接库文件。\n属于 MMC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmefxe.dll": "描述: mmefxe.ocx是微软多媒体控制相关COM接口文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"moricons.dll": "描述: moricons.dll是Windows NT图标资源文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mplvpx.dll": "描述: mplvpx.dll是微软Microsoft Media Player音乐回放相关动态链接库文件。\n属于 Microsoft Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mprddm.dll": "描述: mprddm.dll微软Microsoft路由和RAS拨号管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msacm.dll": "描述: msacm.dll是微软音频压缩相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscat32.dll": "描述: mscat32.dll是MakeCat.exe相关动态链接库文件。\n属于 MakeCat \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscms.dll": "描述: mscms.dll是微软图像色彩管理系统相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomctl.dll": "描述: mscomctl.ocx是公用ActiveX插件控制模块。\n属于 Windows ActiveX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msconf.dll": "描述: msconf.dll是NetMeeting网络会议程序相关文件。\n属于 Netmeeting \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdart32.dll": "描述: msdart32.dll是对象链接与嵌入数据库访问相关模块。\n属于 OLE DB \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdtcprx.dll": "描述: msdtcprx.dll是微软Microsoft分布式负载平衡相关文件。\n属于 MS DTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgr3ge.dll": "描述: msgr3ge.dll是微软Office产品德语字符检查支持相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgrru32.dll": "描述: msgrru32.dll是微软Office产品俄语字符检查相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgsvc.dll": "描述: msgsvc.dll是NT信使服务管理相关文件用于发送和接收信使消息。\n属于 Alerter \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mshtmled.dll": "描述: mshtmled.dll是微软HTML编辑相关模块。\n属于 HTML \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msieftp.dll": "描述: msieftp.dll是微软IE浏览器支持FTP访问相关文件。\n属于 Internet Explorer \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjet40.dll": "描述: msjet40.dll是Microsoft Jet数据库相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjt3032.dll": "描述: msjt3032.dll是微软Microsoft Jet数据库相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjter35.dll": "描述: msjter35.dll是微软Microsoft Jet数据库引擎相关文件。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msls31.dll": "描述: msls31.dll是Internet Explorer浏览器和字处理程序Unicode字符支持相关文件。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msnet32.dll": "描述: msnet32.dll是微软Microsoft 32位网络应用程序接口相关文件。\n属于 Microsoft Network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoert2.dll": "描述: msoert2.dll是微软Microsoft Outlook Express动态链接库文件。\n属于 Outlook Express \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msorcl32.dll": "描述: msorcl32.dll是Oracle 微软ODBC数据库相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mspdb60.dll": "描述: mspdb60.dll是Microsoft Visual Studio编程数据库支持相关文件。.\n属于 Visual Studio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrating.dll": "描述: msrating.dll是微软Microsoft网络安全等级和本地用户管理相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrclr40.dll": "描述: msrclr40.dll是DAO 3.6数据库相关文件。\n属于 Microsoft Jet \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msrdo20.dll": "描述: msrdo20.dll是ODBC数据库支持相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mssp3ge.dll": "描述: mssp3ge.dll是Lingsoft CSAPI字符检查相关文件。\n属于 Lingsoft \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msspel2.dll": "描述: msspel2.dll是Word 6.0字符校对检查相关文件。\n属于 Word \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mswsock.dll": "描述: mswsock.dll是Winsock网络服务相关文件。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mydocs.dll": "描述: mydocs.dll是我的文档文件夹用户解码相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"n32userl.dll": "描述: n32userl.dll是Norton AntiVirus反病毒软件相关模块。\n属于 Norton Antivirus \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netapi.dll": "描述: netapi.dll是Windows网络应用程序接口相关文件用于访问微软网络。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netdtect.dll": "描述: netdtect.dll是网卡自动检测相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netevent.dll": "描述: netevent.dll是网络错误消息相关提醒模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netman.dll": "描述: netman.dll是网络连接管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netrap.dll": "描述: netrap.dll是网络远程管理协议相关模块。.\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netshell.dll": "描述: netshell.dll是网络连接管理Shell壳程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netwin32.dll": "描述: netwin32.dll是Novell NetWare网络库文件。\n属于 Novell NetWare Net Library \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"newdotnet.dll": "描述: newdotnet.dll是New.net应用程序相关动态链接库文件。\n属于 New.net \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ntdsapi.dll": "描述: ntdsapi.dll是分布式计算机处理环境的目录服务COM接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvqtwk.dll": "描述: NvQTwk.dll是Nvidia显示卡相关库文件。\n属于 Nvidia Graphics Library Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nwcalls.dll": "描述: nwcalls.dll是Novell NetWare应用程序接口相关文件用于NCP连接文件服务器和客户端计算机。\n属于 NetWare API \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcbcp.dll": "描述: odbcint.dll是ODBC数据库查询相关模块。\n属于 ODBC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcint.dll": "描述: odbcint.dll是ODBC数据库查询相关模块。\n属于 Microsoft ODBC Resource DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbcjt32.dll": "描述: odbcint.dll是微软ODBC数据库查询相关模块。\n属于 Microsoft ODBC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole2.dll": "描述: ole2.dll是对象链接与嵌入相关模块。\n属于 Microsoft OLE 2.3.2 16/32 Interoperability Library \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oledlg.dll": "描述: ole2.dll是对象链接与嵌入OLE相关模块用于公共对话框。\n属于 Microsoft OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p2bbnd.dll": "描述: p2bbnd.dll是Crystal数据报告相关模块。\n属于 Crystal Report \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p2sodbc.dll": "描述: p2sodbc.dll是ODBC数据Crystal报告相关模块。\n属于 Crystal Report \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"passfilt.dll": "描述: passfilt.dll是密码策略和保护相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pdh.dll": "描述: pdh.dll是登陆和硬件统计相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pdm.dll": "描述: pdm.dll是进程脚本调试管理相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"perfctrs.dll": "描述: perfctrs.dll是Windows登陆和硬件统计相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"perfproc.dll": "描述: perfproc.dll是登陆和硬件统计相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pifmgr.dll": "描述: pifmgr.dll是windows图标资源管理相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pnen3260.dll": "描述: pnen3260.dll是RealMedia Player播放器相关模块。\n属于 RealMedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pngu3263.dll": "描述: pngu3263.dll是Realnetworks RealPlayer播放器图形用户界面相关模块。\n属于 RealPlayer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pngu3266.dll": "描述: pngu3266.dll是RealMedia Player播放器相关模块。\n属于 RealMedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pperr.dll": "描述: pperr.dll是Visioneer 5300 USB接口扫描器设备相关模块。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"printui.dll": "描述: printui.dll是命令行方式安装打印机相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"prismxl.dll": "描述: prismxl.exe是Lanovation PrismXL相关服务用于进行远程控制。\n属于 Lanovation PrismXL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pstprx32.dll": "描述: pstprx32.dll是微软Microsoft Outlook代理储存管理相关文件。\n属于 Microsoft Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ra32.dll": "描述: ra32.dll是RealAudio音频支持相关文件。\n属于 RealAudio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ragui32.dll": "描述: ragui32.dll是RealAudio音频高级支持文件。\n属于 RealAudio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasapi16.dll": "描述: rasapi16.dll是16位网络拨号应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasman.dll": "描述: rasman.dll是远程控制相关软件模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasscrpt.dll": "描述: rasscrpt.dll是网络拨号脚本相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"regsvr32.dll": "描述: regsvr32.dll是DLL添加辅助相关文件用于注册和反注册DLL文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rmoc3260.dll": "描述: rmoc3260.dll是RealPlayer和Windows Media Player媒体回放相关COM接口文件。\n属于 Real Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rnaui.dll": "描述: rnaui.dll是网络拨号设置库文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rnr20.dll": "描述: rnr20.dll是微软Microsoft Windows Sockets 2.0的TCP/IP协议相关服务。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpcss.dll": "描述: rpcss.dll是分布式COM服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpmn3260.dll": "描述: rpmn3260.dll是RealNetworks公司RealPlayer产品动态链接库文件。\n属于 Real Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rsabase.dll": "描述: rsabase.dll是Windows 2000加密服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rsaenh.dll": "描述: rsaenh.dll是微软Microsoft增强加密服务相关文件用于128位加密。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rtutils.dll": "描述: rtutils.dll是一个追踪API接口用于输出诊断信息到微软Microsoft Windows NT/Windows 2000路由和远程控制服务。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rupdate.dll": "描述: rupdate.dll是McAfee产品相关文件用于自动升级。\n属于 McAfee Products \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"samlib.dll": "描述: samlib.dll是安全认证管理应用程序接口API相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sendmail.dll": "描述: sendmail.dll是用于通过网站发送邮件的库文件。\n属于 Microsoft Windows IIS \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sens.dll": "描述: sens.dll是系统事件提醒服务相关库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sensapi.dll": "描述: sensapi.dll是系统事件提醒服务相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupwbv.dll": "描述: setupwbv.dll用于检查并修复Internet Explorer配置。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sfc.dll": "描述: sfc.dll用于校验和监视系统文件变更。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sfcfiles.dll": "描述: sfcfiles.dll是系统文件监视和验证相关程序。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sh31w32.dll": "描述: sh31w32.dll用于内存利用情况。\n属于 SmartHeap \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shell.dll": "描述: shell.dll是Windows Shell壳应用程序接口相关库文件用于打开网页和文件。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shimgvw.dll": "描述: shimgvw.dll用于图像显示的COM接口程序。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"softpub.dll": "描述: softpub.dll是用于支持加密的动态链接库文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"speer.dll": "描述: Speer.dll是Solid Peer间谍软件相关文件。\n属于 Solid Peer spyware \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spin32.dll": "描述: spin32.ocx是Visual Basic语言的ActiveX控件。\n属于 Microsoft Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spmsg.dll": "描述: spmsg.dll是用于显示service packs补丁包消息的文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sqlsrv32.dll": "描述: sqlsrv32.dll是用于微软SQL服务ODBC驱动相关文件。\n属于 Microsoft SQL Server ODBC Driver \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ss32x25.dll": "描述: ss32x25.ocx是FarPoint技术相关文件用于显示控制。\n属于 FarPoint \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"stclient.dll": "描述: stclient.dll是COM+配置安全客户端相关文件。\n属于 Microsoft COM+ \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"stobject.dll": "描述: stobject.dll是资源文件用于图标等。\n属于 Microsoft Systray \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"storprop.dll": "描述: storprop.dll是用于更改DVD读取区域相关动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"streamci.dll": "描述: streamci.dll是安装流媒体硬件设备相关文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"sysmon.dll": "描述: sysmon.ocx是系统性能监视的ActiveX控件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"system86.dll": "描述: system86.dll是内存分配库文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tapi.dll": "描述: tapi.dll是微软Windows电话服务相关模块。\n属于 Windows Telephony \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tdc.dll": "描述: tdc.ocx是Visual Basic应用程序相关表列数据ActiveX控件模块。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"thumbvw.dll": "描述: thumbvw.dll是文档缩略图察看相关动态链接库文件用于在资源管理器中察看文档、JPEG文件等。\n属于 Thumbnail View \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tl32v20.dll": "描述: tl32v20.dll是DiskKeeper软件保护锁相关文件。\n属于 DiskKeeper \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"toolhelp.dll": "描述: toolhelp.dll是Windows默认数组应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"traffic.dll": "描述: traffic.dll是微软飞行模拟软件第三方模块。\n属于 Flight Simulator \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tsd32.dll": "描述: tsd32.dll是音频编码和解码相关文件。\n属于 TrueSpeech \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"txfaux.dll": "描述: txfaux.dll是微软Microsoft分布式处理相关文件。\n属于 MSDTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"unrar.dll": "描述: unrar.dll是RAR压缩包解压相关文件。\n属于 UnRAR \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"url.dll": "描述: url.dll是Internet快捷壳扩展相关应用程序接口文件。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"usp10.dll": "描述: usp10.dll是字符显示脚本应用程序接口相关文件。\n属于 Uniscribe \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb5stkit.dll": "描述: vb5stkit.dll是VB应用程序创建快捷方式应用程序接口相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vba332.dll": "描述: vba322.dll是Microsoft Office自动控制相关模块。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbajet32.dll": "描述: vbajet32.dll是Visual Basic应用程序开发相关文件。\n属于 VBA \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ver.dll": "描述: ver.dll是Windows版本检测应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"version.dll": "描述: version.dll是Windows NT系统版本检测应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vfpodbc.dll": "描述: vfpodbc.dll是Visual FoxPro应用程序ODBC数据管理应用程序接口相关文件。\n属于 ODBC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vsnetutils.dll": "描述: vsnetutils.dll是ZoneLabs ZoneAlarm防火墙软件相关文件。\n属于 ZoneAlarm \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab32res.dll": "描述: wab32res.dll是微软地址薄相关文件用于Outlook和Outlook Express储存Email邮件地址和其它联系信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"webhits.dll": "描述: webhits.dll是网络服务应用程序接口相关模块用于统计点击率高的HTML页面。\n属于 ISAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"win87em.dll": "描述: win87em.dll是Windows应用程序浮点运算相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winnls.dll": "描述: winnls.dll是特殊字符输入扩展相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winplay.dll": "描述: winplay.dll是游戏软件多媒体播放解码回放相关文件。\n属于 Game \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winscard.dll": "描述: winscard.dll是个人计算机对智能卡读取相关程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wkssvc.dll": "描述: wkssvc.dll是本地系统进行远程文件打印相关服务文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wldap32.dll": "描述: wldap32.dll是LDAP应用程序接口相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wlnotify.dll": "描述: wlnotify.dll是对Windows事件提醒相关应用程序接口例如Windows登陆、关机、注销等。\n属于 Winlogon \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmicore.dll": "描述: wmicore.dll是WMI服务相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmmutil.dll": "描述: wmmutil.dll是Windows Movie Maker影像处理程序支持文件。\n属于 Windows Movie Maker \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wow32.dll": "描述: wow32.dll是16位代码调用32位代码应用程序接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wshom.dll": "描述: wshom.ocx是Windows本地脚本对象运行时相关文件。\n属于 Windows Script Host \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsnmp32.dll": "描述: wsnmp32.dll是SNMP管理应用程序接口用于发送和接收SNMP精灵的请求。\n属于 WinSNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wtsapi32.dll": "描述: wtsapi32.dll是终端服务的应用程序接口用于包括(1) 管理终端服务,(2)设置和恢复终端服务用户的配置信息,(3)应用终端服务虚拟频道。\n属于 Windows Terminal Server \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wuv3is.dll": "描述: wuv3is.dll是Windows Update升级相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xolehlp.dll": "描述: xolehlp.dll是Microsoft分布式平衡负载相关应用程序接口文件。\n属于 MSDTC \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ac1st15.dll": "描述: ac1st15.dll是AutoCAD、AutoCAD LT、KeyPLANTING和KeySCAPE等软件动态链接库该文件是Autodesk公司出品。\n属于 AutoCAD \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"binkw32.dll": "描述: binkw32.dll是BINK视频解码器相关进程用于压缩视频回放例如游戏中的视频。\n属于 Bink Video Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc.dll": "描述: bwcc.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc32.dll": "描述: bwcc32.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cards.dll": "描述: cards.dll是Windows纸牌游戏相关文件。\n属于 Game Windows Solitare \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cctrust.dll": "描述: cctrust.dll是Symantec公司ccTrust公用客户端动态链接库文件。\n属于 Symantec Products \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cd_clint.dll": "描述: cd_clint.dll是Cydoor公司动态链接库文件。\n属于 CYDOOR \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdonts.dll": "描述: cdonts.dll协同数据对象界面相关文件。\n属于 CDO \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs232.dll": "描述: cncs232.dll是Europress和IMSI公司多媒体库文件用于支持它们的游戏。\n属于 Games Multimedia Fusion \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs32.dll": "描述: cncs32.dll是create游戏图像相关动态链接库文件。\n属于 Game Factory \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"core.dll": "描述: core.dll是SuperScape 3D Viewer察看器相关动态链接库。\n属于 Viscape Universal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d9.dll": "描述: d3d9.dll是DirectX 9的动态链接库用于支持Windows多媒体和游戏。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"disktool.dll": "描述: disktool.dll是DiskTool软件动态链接库文件它是一款系统管理软件用于监视磁盘状态和避免数据文件储存问题。\n属于 Disktool \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"eax.dll": "描述: eax.dll是EAX环绕音效特性相关库文件。\n属于 EAX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"egnsengine.dll": "描述: egnsengine.dll是Gator GAIN间谍软件相关文件。\n属于 Gator GAIN \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fm20.dll": "描述: fm20.dll是微软表单创建相关动态链接库文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gapi32.dll": "描述: gapi32.dll是微软邮件协议相关文件。\n属于 Microsoft Exchange \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide2x.dll": "描述: glide2x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide3x.dll": "描述: glide3x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glu32.dll": "描述: glide2x.dll是OpenGL图像相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hhctrl.dll": "描述: hhctrl.ocx是Microsoft帮助文档界面相关文件。\n属于 Microsoft HTML Help Control \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idle.dll": "描述: idle.dll是Microsoft Visual C++无功分量部分相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iepeers.dll": "描述: iepeers.dll是微软Microsoft Internet Explorer浏览器库文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ijl15.dll": "描述: ijl15.dll是IntelJPG图像压缩相关库文件。\n属于 Intel JPEG Library \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgedit.dll": "描述: imgedit.ocx是微软图像处理相关文件。\n属于 Microsoft ImagEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jscript.dll": "描述: jscript.dll是Microsoft JavaScript脚本支持相关文件。\n属于 Microsoft JScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"libeay32.dll": "描述: libeay32.dll是OpenSSL加密特性相关文件用于通过网络加密传输。\n属于 OpenSSL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxcodec.dll": "描述: maxcodec.dll是ScanSoft PaperPort软件图像压缩和解压相关模块。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxkernl.dll": "描述: maxkernl.dll是ScanSoft PaperPort Visioneer扫描仪相关库文件。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc30.dll": "描述: mfc30.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc40.dll": "描述: mfc40.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42.dll": "描述: mfc42.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42d.dll": "描述: mfc42d.dll是MFCDLL共享库文件用于支持调试版本的MFC程序。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc70.dll": "描述: mfc70.dll是微软Microsoft MFC程序相关库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfcans32.dll": "描述: mfcans32.dll用于对对象链接和嵌入OLE的Unicode和MBCS字符支持。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfco42d.dll": "描述: mfco42d.dll是MFC OLE调试版本动态链接库文件。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mhputilu.dll": "描述: mhputilu.dll是微软Microsoft Picture It图像软件动态链接库文件。\n属于 Microsoft Picture It! Publishing 2001 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mlang.dll": "描述: mlang.dll是多语言支持动态链接库文件。用于转换网络字符集为Unicode。\n属于 IE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mplapx.dll": "描述: mplapx.dll是微软Microsoft Media Player音乐回放相关模块。\n属于 Microsoft Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mrtrate.dll": "描述: mrtrate.dll是Intuit Quicken动态链接库文件。\n属于 Rate Sensing Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomm32.dll": "描述: mscomm32.ocx是ActiveX公用控制模块用于例如Visual Basic 6.0程序的MSComm控制。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdxm.dll": "描述: msdxm.ocx是Windows Media Player播放器ActiveX控制相关文件。\n属于 Windows Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mshtml.dll": "描述: mshtml.dll是HTML解释器相关模块。\n属于 HTML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjet35.dll": "描述: msjet35.dll是微软Microsoft Jet数据引擎主要文件。该文件用于向Microsoft Access数据库读写数据。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso9.dll": "描述: mso9.dll是微软Microsoft Office 2000办公软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso97.dll": "描述: mso97.dll是微软Microsoft Office 2000软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoe.dll": "描述: msoe.dll是Outlook Express邮件程序相关模块。\n属于 Outlook Express \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mss32.dll": "描述: mss32.dll是Miles声音播放系统库文件用于WinAMP等多媒体程序音乐回放和声音特效。\n属于 WinAmp \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msscript.dll": "描述: msscript.ocx是Visual Basic 6.0应用程序脚本控制的一部分,用于运行时库。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mssp232.dll": "描述: mssp232.dll是微软Microsoft Office软件字符检查相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msspell3.dll": "描述: msspell3.dll是文档字符检查相关模块。\n属于 Word \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msstdfmt.dll": "描述: msstdfmt.dll是微软标准数据格式对象相关动态链接库文件。\n属于 Visual Studio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm50.dll": "描述: msvbvm50.dll是微软Microsoft Visual Basic虚拟机相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm60.dll": "描述: msvbvm60.dll是微软Microsoft Visual Basic虚拟机相关模块。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirt.dll": "描述: msvcirt.dll是微软C语言程序运行库相关文件用于例如打印。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirtd.dll": "描述: msvcirtd.dll是用户选择进行调试版本编译时所使用的运行库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp50.dll": "描述: msvcp50.dll是标准的C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp60.dll": "描述: msvcp60.dll是标准的C运行库程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp70.dll": "描述: msvcp70.dll是.Net的C运行库相关文件。\n属于 Microsoft .NET \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcr70.dll": "描述: msvcr70.dll是微软C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt.dll": "描述: msvcrt.dll是标准的微软C运行库文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt10.dll": "描述: msvcrt10.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt20.dll": "描述: msvcrt20.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt40.dll": "描述: msvcrt40.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrtd.dll": "描述: msvcrtd.dll是微软编译程序调试版本相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvfw32.dll": "描述: msvfw32.dll是微软BMP位图压缩和解压缩相关文件用于Microsoft Video视频。\n属于 Microsoft Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mswinsck.dll": "描述: mswinsck.ocx是Visual Basic语言的socket编程相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msxml.dll": "描述: msxml.dll是Internet Explorer 4.0或更高版本的浏览器相关文件用于解释XML文档。\n属于 XML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"npdocbox.dll": "描述: NPDocBox.dll是Adobe Acrobat插件相关文件为Netware和Internet Explorer浏览器安装。\n属于 Adobe Acrobat \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvcpl.dll": "描述: nvcpl.dll是NVIDIA显示卡相关动态链接库文件。\n属于 NVIDIA drivers \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvcpldaemon.dll": "描述: NvCplDaemon (NvQTwk.dll)是Nvdia显示卡相关文件。\n属于 NVidia Graphics Library Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvmctray.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvmediacenter.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nwnp32.dll": "描述: nwnp32.dll是Novell NetWare网络支持相关链接库文件。\n属于 Novell Network \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbc32.dll": "描述: odbc32.dll是ODBC数据库查询相关文件。\n属于 ODBC DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleacc.dll": "描述: oleacc.dll是微软Microsoft Active Accessibility相关动态链接库文件。\n属于 Microsoft Active Accessibility \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleaut32.dll": "描述: oleaut32.dll是对象链接与嵌入OLE相关文件。\n属于 Microsoft OLE DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"omi9.dll": "描述: omi9.dll是邮件程序MAPI特性相关文件用于例如Outlook。\n属于 Microsoft MAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"opengl32.dll": "描述: opengl32.dll是微软OpenGL特性相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oscore.dll": "描述: oscore.dll是AOL即时通讯软件相关文件。\n属于 AOL Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p5dll.dll": "描述: p5dll.dll是P5Device相关动态链接库文件。\n属于 P5Device \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcdlib32.dll": "描述: pcdlib32.dll是柯达Kodak产品相关文件用于设备数据传输。\n属于 Kodak Photo \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcre.dll": "描述: pcre.dll是Perl语言相关库文件。\n属于 Perl \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pgsdk.dll": "描述: pgsdk.dll是微软图形SDK开发包相关动态链接库文件。\n属于 Microsoft Presentation Graphics SDK \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pncrt.dll": "描述: pncrt.dll是C语言开发界面相关运行时文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pstprx.dll": "描述: pstprx.dll是Windows CE Outlook数据同步相关文件。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"quartz.dll": "描述: quartz.dll是DirectShow相关库文件是DirectX的一部分。\n属于 Microsoft DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched20.dll": "描述: riched20.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched32.dll": "描述: riched32.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"richtx32.dll": "描述: richtx32.ocx是微软Microsoft字符编辑器控制相关程序用于字符对话框对象高级编辑。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"schannel.dll": "描述: schannel.dll是Internet Explorer 3.x或者4.x浏览器128位加密相关文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setup.dll": "描述: setup.dll是流行的安装程序相关支持文件。\n属于 TextBridge Pro 96 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupapi.dll": "描述: setupapi.dll是流行的安装程序支持相关文件。\n属于 Microsoft Windows Setup \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"smackw32.dll": "描述: smackw32.dll是Smacker视频解码器相关文件。\n属于 Games Media Smacker \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"storm.dll": "描述: storm.dll是暴雪游戏相关动态链接库文件出现在StarCraft和Diablo等游戏中。\n属于 Games Blizzard \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"symstore.dll": "描述: symstore.dll是Symantec公司设置相关动态链接库文件。\n属于 Symantec \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tabctl32.dll": "描述: tabctl32.ocx是一个ActiveX控制模块用于SSTab控制和Tabbed对话框控制。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"threed32.dll": "描述: threed32.ocx是Sheridon 3D控制对象相关文件用于渲染3D图像。\n属于 Sheridon \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"topsearch.dll": "描述: topsearch.dll是Kazaa.exe的间谍软件相关文件。\n属于 Kazaa \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tsbyuv.dll": "描述: tsbyuv.dll是东芝Toshiba视频播放解码器相关程序。\n属于 Toshiba Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"twain.dll": "描述: twain.dll是静态图像应用程序接口相关文件。\n属于 Twain Source Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40016.dll": "描述: vb40016.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40032.dll": "描述: vb40032.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6fr.dll": "描述: vb6fr.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6stkit.dll": "描述: vb6stkit.dll是Visual Basic应用程序接口API相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun100.dll": "描述: vbrun100.dll是Visual Basic语言运行时相关程序。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun200.dll": "描述: vbrun200.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun300.dll": "描述: vbrun300.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbscript.dll": "描述: vbscript.dll是VBScript脚本相关支持文件。\n属于 VBScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vsutil.dll": "描述: vsutil.dll是ZoneLabs ZoneAlarm软件相关文件。\n属于 ZoneAlarm \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab.dll": "描述: wab.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email地址和其它信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab32.dll": "描述: wab32.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email邮件地址和其它联系信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"weputil.dll": "描述: weputil.dll是Windows娱乐包的相关文件。\n属于 Windows Entertainment Pack \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi.dll": "描述: winaspi.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi32.dll": "描述: winaspi32.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"window.dll": "描述: window.dll是Unreal游戏程序相关文件用于显示或者配置DirectX设置对话框。\n属于 Games Unreal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing.dll": "描述: wing.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing32.dll": "描述: wing32.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32n.dll": "描述: wsock32n.dl是SOCKS网络协议相关文件。\n属于 Windows Winsock \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmlparse.dll": "描述: xmlparse.dll是Yahoo!雅虎通即时通讯软件XML解释器文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmltok.dll": "描述: xmltok.dll是XSLT引擎解码相关文件。\n属于 XSLT \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ygxa_2.dll": "描述: ygxa_2.dll是Yahoo!雅虎通即时通讯软件图形用户界面相关文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"yml.dll": "描述: yml.dll是Yahoo!雅虎通应用程序相关库文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"zlib.dll": "描述: zlib.dll是ZLIB压缩库相关文件用于Windows应用程序压缩和解压缩。\n属于 ZLIB \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advapi32.dll": "描述: advapi32.dll是一个高级API应用程序接口服务库的一部分用于支持非常多的API应用程序接口包括安全和注册的调用。\n属于 Windows NT 4.0 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advpack.dll": "描述: advpack.dll用于帮助硬件和软件读取和验证.INF文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"asycfilt.dll": "描述: asycfilt.dll是Microsoft OLE (对象链接和嵌入)特性相关DLL文件。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"atl.dll": "描述: atl.dll文件用于支持ATL特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avicap32.dll": "描述: avicap32.dll是Windows API应用程序接口相关模块用于对摄像头和其它视频硬件进行AVI电影和视频的截取。\n属于 Windows NT 4.0 \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"browseui.dll": "描述: browseui.dll用于浏览器UI界面的管理。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comctl32.dll": "描述: comctl32.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comdlg32.dll": "描述: comdlg32.dll是Windows应用程序公用对话框模块用于例如打开文件对话框。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"commctrl.dll": "描述: commctrl.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cpuinf32.dll": "描述: cpuinf32.dll是CPU信息获取相关模块用于获取例如CPU速度和CPU ID。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crtdll.dll": "描述: crtdll.dll是标准C语言库用于例如打印机内存等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crypt32.dll": "描述: crypt32.dll是Windows加密API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d.dll": "描述: ctl3d.dll是Windows应用程序公用GUI图形用户界面3D显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d32.dll": "描述: ctl3d32.dll是Windows应用程序公用GUI图形用户界面3D维显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d8.dll": "描述: d3d8.dll是DirectX的3D显示部分控制模块在DirectX 8.0中被安装。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dbghelp.dll": "描述: dbghelp.dll是symbol引擎及相关模块用于Windows图形。\n属于 Windows Image \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddeml.dll": "描述: ddeml.dll是exchange数据交换管理相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddraw.dll": "描述: ddraw.dll是DirectX的DLL文件用于绘制多媒体应用程序的2D图形。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devcon32.dll": "描述: devcon32.dll是设备配置管理动态链接库。用于提供COM库支持SoundFont和EFX特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dhcpcsvc.dll": "描述: dhcpcsvc.dll是Windows DHCP客户端服务模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput.dll": "描述: dinput.dll是DirectX的DLL文件用于支持DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄\n属于 DirectX DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput8.dll": "描述: dinput.dll是DirectX的DLL文件用于DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dsound.dll": "描述: dsound.dll是DirectX的DLL文件用于支持Direct Sound声音特性。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"framedyn.dll": "描述: framedyn.dll是framework链接库文件\n属于 Windows WMI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fxscfgwz.dll": "描述: fxscfgwz.dll是Windows 2000传真配置相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdi32.dll": "描述: gdi32.dll是Windows GDI图形用户界面相关程序用于辅助创建组建。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdiplus.dll": "描述: gdiplus.dll是GDI图形设备接口图形界面相关模块。\n属于 Microsoft GDI+ \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hal.dll": "描述: hal.dll是Windows硬件提取层模块该用于用于解决硬件的复杂性。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icmp.dll": "描述: icmp.dll是Windows 2000产品相关模块用于网络ICMP请求。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iconlib.dll": "描述: iconlib.dll是微软Microsoft图标管理程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imagehlp.dll": "描述: imagehlp.dll是Windows调试辅助动态链接库相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetmib1.dll": "描述: inetmib1.dll是Windows NT的简单网络管理协议SNMP相关模块。\n属于 Windows SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iphlpapi.dll": "描述: iphlpapi.dll是Windows IP辅助API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"kernel.dll": "描述: kernel.dll是在旧版本Windows操作系统中重要的一个DLL动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ksuser.dll": "描述: ksuser.dll is a library which transports latency sensitive, time-stamped data between user perhiperals and system perhiperals\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapi32.dll": "描述: mapi32.dll是Windows Messaging即时通讯软件API应用程序接口(MAPI)。\n属于 MAPI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mgmtapi.dll": "描述: mgmtapi.dll是微软Microsoft简单网络管理应用程序接口API模块。\n属于 SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmsystem.dll": "描述: mmsystem.dll是多媒体管理模块用于支持16位多媒体应用程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mpr.dll": "描述: mpr.dll是Windws操作系统网络通讯相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mprapi.dll": "描述: mprapi.dll是Windows 2000路由管理模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msacm32.dll": "描述: msacm32.dll是32位应用程序音频压缩模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msafd.dll": "描述: msafd.dll是微软Microsoft Windows操作系统 Sockets 2.0传输服务相关模块。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomct2.dll": "描述: mscomct2.ocx是ActiveX插件公用管理模块。\n属于 Windows ActiveX \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscoree.dll": "描述: mscoree.dll是.NET Framework相关组件。\n属于 Microsoft .NET \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgina.dll": "描述: msgina.dll是WIndows登陆认证策略相关模块。该模块用于完成所有用户登陆和验证功能。\n属于 GINA \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msi.dll": "描述: msi.dll是Windows安装程序MSI(Microsoft Installer)相关模块。\n属于 Windows Installer \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msimg32.dll": "描述: msimg32.dll是Windows图形设备接口GDI相关模块用于支持新的API应用程序接口和GDI32相关特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjava.dll": "描述: msjava.dll是Java程序COM接口支持相关模块。\n属于 Microsoft JVM \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msnp32.dll": "描述: msnp32.dll是微软网络协议相关动态链接库。\n属于 Microsoft networks \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoss.dll": "描述: msoss.dll是Microsoft Trust ASN信任机制相关应用程序接口API模块用于加密和解密特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netapi32.dll": "描述: netapi32.dll是Windows网络应用程序接口用于支持访问微软网络。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"newdev.dll": "描述: newdev.dll是添加系统新硬件设备相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ntdll.dll": "描述: ntdll.dll是NT操作系统重要的模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oc25.dll": "描述: oc25.dll是对象链接和嵌入OLE运行时模块。\n属于 Microsoft OLE Control runtime DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole2nls.dll": "描述: ole2.dll是对象链接和嵌入OLE相关模块用于支持多语言。\n属于 Microsoft OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole32.dll": "描述: ole32.dll是对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"olepro32.dll": "描述: olepro32.dll是对象链接和嵌入OLE特性相关模块。\n属于 Microsoft OLE Property Support DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pidgen.dll": "描述: pidgen.dll是Windows操作系统重要的模块用于管理产品序列号。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pjlmon.dll": "描述: pjlmon.dll是PJL打印机监视相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"powrprof.dll": "描述: powrprof.dll是微软Microsoft Windows电源管理配置工具相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"psapi.dll": "描述: psapi.dll是Windows系统进程状态支持模块。\n属于 Process Status Helper \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasapi32.dll": "描述: rasapi32.dll是远程访问应用程序接口(RAS)用于Windows应用程序对调制解调器的控制。\n属于 Remote Access API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpcrt4.dll": "描述: rpcrt4.dll是远程程序调用(RPC)应用程序接口API用于WIndows应用程序对网络和Internet连接。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"run32.dll": "描述: run32.dll 是应用程序DLL文件运行库相关模块。\n属于 Windows 95 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"scrrun.dll": "描述: scrrun.dll用于阅读和编写脚本和文本文件。\n属于 Microsoft Script Runtime \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"secur32.dll": "描述: secur32.dll是Windows安全特性相关动态链接库。\n属于 Microsoft Windows DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupx.dll": "描述: setupx.dll是WIndows安装程序相关模块。\n属于 Microsoft Windows Setup Functions \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoc401.dll": "描述: shdoc401.dll是资源管理器文件夹浏览的COM接口相关模块。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoclc.dll": "描述: shdoclc.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdocvw.dll": "描述: shdocvw.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shell32.dll": "描述: shell32.dll是Windows壳Shell相关应用程序接口动态链接库文件用于打开网页和文件。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shfolder.dll": "描述: shfolder.dll是Windows特殊文件夹相关服务模块例如我的文档。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shlwapi.dll": "描述: shlwapi.dll是UNC和URL地址动态链接库文件用于注册键值和色彩设置。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"snmpapi.dll": "描述: snmpapi.dll是简单网络管理协议(SNMP)相关模块用于监视你的LAN局域网网络状态。\n属于 Microsoft SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spoolss.dll": "描述: spoolss.dll是打印机打印相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"svrapi.dll": "描述: svrapi.dll用于监视和管理共享网络资源。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tapi32.dll": "描述: tapi32.dll是Windows排列层相关模块用于发送消息到Tapisrv.exe。\n属于 Windows Telephony \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"unidrv.dll": "描述: unidrv.dll是通用打印机驱动动态连接库。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"urlmon.dll": "描述: urlmon.dll是微软Microsoft对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"usbui.dll": "描述: usbui.dll是通用程序界面应用程序接口用于管理USB用户界面。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"user32.dll": "描述: user32.dll是Windows用户界面相关应用程序接口用于包括Windows处理基本用户界面等特性。\n属于 Windows User API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"userenv.dll": "描述: userenv.dll是公用应用程序界面应用程序接口用于管理用户档案。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vfwwdm32.dll": "描述: vfwwdm32.dll用于Windows应用程序视频进行WDM剪辑驱动相关程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"webcheck.dll": "描述: webcheck.dll是用于对网站进行监视的COM接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wininet.dll": "描述: wininet.dll是Windows应用程序网络相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winmm.dll": "描述: winmm.dll是Windows多媒体相关应用程序接口用于低档的音频和游戏手柄。\n属于 Windows Multimedia \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsock.dll": "描述: winsock.dll是Windows Sockets应用程序接口用于支持很多Internet和网络相关应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsrv.dll": "描述: winsrv.dll是Windows服务用于支持32位用户和图形设备接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsta.dll": "描述: winsta.dll是成熟的Windows组件用于剪切板、全球区域特性和桌面组件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wintrust.dll": "描述: wintrust.dll用于验证第三方应用程序的文件目录内存使用数据签名等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmaudsdk.dll": "描述: wmaudsdk.dll用于读取、创建和获取.WMA音频格式文件信息。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmvcore.dll": "描述: wmvcore.dll是Windows媒体视频回放解码相关动态链接库。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wnaspi32.dll": "描述: wnaspi32.dll是高级Advanced SCSI程序接口( ASPI )管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2_32.dll": "描述: ws2_32.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2help.dll": "描述: ws2help.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32.dll": "描述: wsock32.dll是Windows Sockets应用程序接口用于支持很多Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary"
}

View File

@@ -0,0 +1,137 @@
import os
import sys
import json
import traceback
import subprocess
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
# 加入路径
import os
import sys
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
sys.path.append(f"{programPath}/../")
from Model import *
finding = False
def ReadNeedDll(lists):
nmodel = QtGui.QStandardItemModel(window)
if not len(lists):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
for i in lists:
item = QtGui.QStandardItem(i)
nmodel.appendRow(item)
needDllList.setModel(nmodel)
def ReadBadNeedDll(lists):
global finding
nmodel = QtGui.QStandardItemModel(window)
if not len(lists):
item = QtGui.QStandardItem("")
nmodel.appendRow(item)
for i in lists:
item = QtGui.QStandardItem(i)
nmodel.appendRow(item)
badDllList.setModel(nmodel)
finding = True
def ErrorMsg(message):
QtWidgets.QMessageBox.critical(window, "错误", message)
class ReadDll(QtCore.QThread):
readNeed = QtCore.pyqtSignal(list)
readBad = QtCore.pyqtSignal(list)
error = QtCore.pyqtSignal(str)
def __init__(self) -> None:
super().__init__()
def run(self):
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
try:
output = subprocess.getoutput(f"python3 '{programPath}/CheckCommand.py' '{sys.argv[1]}' --json")
print(output)
self.readNeed.emit(json.loads(output))
except:
traceback.print_exc()
self.error.emit(traceback.format_exc())
try:
badoutput = subprocess.getoutput(f"python3 '{programPath}/CheckCommand.py' '{sys.argv[1]}' --json -w '{sys.argv[2]}' '{sys.argv[3]}'")
print(badoutput)
self.readBad.emit(json.loads(badoutput))
except:
traceback.print_exc()
self.error.emit(traceback.format_exc())
def GetDll():
global read
read = ReadDll()
read.readNeed.connect(ReadNeedDll)
read.readBad.connect(ReadBadNeedDll)
read.error.connect(ErrorMsg)
read.start()
def Change():
if not finding:
return
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
repairButton.setEnabled(os.path.exists(f"{programPath}/bash/{things}.sh"))
findButton.setEnabled(True)
def FindDll():
global dllMap
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
try:
dllMap["check"]
except:
try:
with open(f"{programPath}/lists.json", "r") as file:
dllMap = json.loads(file.read())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
return
try:
QtWidgets.QMessageBox.information(window, f"关于“{things}", dllMap[things])
except:
QtWidgets.QMessageBox.information(window, f"关于“{things}", "无此 Dll 的信息")
def RepairDll():
things = badDllList.selectionModel().selectedIndexes()[0].data().lower()
OpenTerminal(f"'{programPath}/../AutoShell/main.py' '{programPath}/bash/{things}.sh'")
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
iconPath = "{}/../deepin-wine-runner.svg".format(programPath)
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout()
badDllList = QtWidgets.QListView()
needDllList = QtWidgets.QListView()
badDllList.clicked.connect(Change)
findButton = QtWidgets.QPushButton("查询此 Dll 信息")
repairButton = QtWidgets.QPushButton("修复此 Dll")
findButton.setDisabled(True)
repairButton.setDisabled(True)
findButton.clicked.connect(FindDll)
repairButton.clicked.connect(RepairDll)
badDllList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
needDllList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
loadingTips = QtGui.QStandardItemModel(window)
loadingTipsItem = QtGui.QStandardItem("正在读取……")
loadingTips.appendRow(loadingTipsItem)
badDllList.setModel(loadingTips)
needDllList.setModel(loadingTips)
layout.addWidget(QtWidgets.QLabel("程序需要的 Dll(不太准)"), 0, 0, 1, 1)
layout.addWidget(QtWidgets.QLabel("程序缺失的 Dll(不太准)"), 0, 1, 1, 2)
layout.addWidget(needDllList, 1, 0)
layout.addWidget(badDllList, 1, 1, 1, 2)
layout.addWidget(findButton, 2, 1)
layout.addWidget(repairButton, 2, 2)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
window.setWindowTitle(f"查看程序“{os.path.basename(sys.argv[1])}”缺少的 DLL")
window.resize(int(window.frameGeometry().width() * 1.2), int(window.frameGeometry().height() * 1.1))
GetDll()
window.show()
app.exec_()

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -70,6 +70,8 @@ m m "
["deepin-wine5-stable", "deepin-wine5-stable"],
["deepin-wine6-stable", "deepin-wine6-stable"]
]:
if not os.system(f"which {i[1]} > /dev/null"):
continue
choose = input(f"安装{i[0]}?(添加深度源)[Y/N]").upper()
if choose == "Y":
print("安装中……")
@@ -80,6 +82,10 @@ m m "
["deepin-wine", "deepin-wine"],
["spark-wine7-devel", "spark-wine7-devel"]
]:
if not os.system(f"which {i[1]} > /dev/null"):
continue
choose = input(f"安装{i[0]}?(添加深度、星火源)[Y/N]").upper()
if choose == "Y":
InstallWithSparkStoreSource(i[1])
InstallWithSparkStoreSource(i[1])
input("按回车键后退出……")
exit()

View File

@@ -0,0 +1,116 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
###########################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本2.5.0
# 更新时间2022年11月15日
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
# 基于 Python3 构建
###########################################################################################
#################
# 引入所需的库
#################
import os
import webbrowser
def YesOrNo():
if input().replace(" ", "").upper() == "N":
return False
return True
def InstallWineSpark(wine):
print(f"开始安装 {wine}")
#os.system("pkexec apt update")
if not os.system(f"pkexec aptss install {wine} -y"):
print(f"{wine} 安装失败!")
PressEnter()
else:
print("安装完成")
def InstallWine(wine):
print(f"开始安装 {wine}")
os.system("pkexec apt update")
if not os.system(f"pkexec apt install {wine} -y"):
print(f"{wine} 安装失败!")
PressEnter()
else:
print("安装完成")
def CheckSparkStore():
return os.system("which spark-store > /dev/null") + os.system("which aptss > /dev/null")
def InstallSparkStore():
if not CheckSparkStore:
return
print("按下回车键后打开星火应用商店官网,手动安装完星火应用商店后再次按下回车以继续")
webbrowser.open_new_tab("https://spark-app.store/")
PressEnter()
print("安装星火应用商店后按下回车……")
PressEnter()
while True:
if not os.system("which spark-store > /dev/null"):
if not os.system("which aptss > /dev/null"):
break
print("您暂未安装最新版本的星火应用商店,请更新版本后按下回车")
PressEnter()
continue
print("您暂未安装星火应用商店,请在安装后按下回车")
PressEnter()
continue
def InstallDeepinAppStore():
print("开始安装官方应用商店")
if not os.system("pkexec apt install deepin-app-store -y"):
print("安装失败!按回车键后退出")
PressEnter()
exit()
else:
print("安装完成")
def PressEnter():
input("按回车键后继续……")
if __name__ == "__main__":
print('''
m m "
# # # mmm m mm mmm
" #"# # # #" # #" #
## ##" # # # #""""
# # mm#mm # # "#mm"
''')
print("后续操作需要有 root 权限")
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
# 敢这样浪不还是 Alpha 源有官方应用商店
if os.system("which deepin-home-appstore-client > /dev/null"):
print("暂未安装官方应用商店,安装后才能继续,是否安装?[Y/N]")
if YesOrNo:
InstallDeepinAppStore()
deepinWineList = [
#"deepin-wine",
#"deepin-wine5-stable",
"deepin-wine6-stable"
]
for i in deepinWineList:
if not os.system(f"which {i} > /dev/null"):
print(f"{i} 已安装")
continue
print(f"是否安装 {i}[Y/N]")
if YesOrNo:
InstallWine(i)
sparkWineList = [
#"deepin-wine",
#"deepin-wine5",
#"spark-wine7-devel"
]
for i in sparkWineList:
if not os.system(f"which {i} > /dev/null"):
continue
print(f"是否安装 {i}[Y/N]")
if YesOrNo:
InstallSparkStore()
InstallWineSpark(i)
print("按回车键退出")
PressEnter()
exit()

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -85,6 +85,9 @@ class Ui_MainWindow(object):
self.action_2.setCheckable(True)
self.action_2.setChecked(False)
self.action_2.setObjectName("action_2")
self.action_3 = QtWidgets.QAction(MainWindow)
self.action_3.setCheckable(True)
self.action_3.setObjectName("action_3")
self.menu.addAction(self.openFile)
self.menu.addSeparator()
self.menu.addAction(self.exitProgram)
@@ -93,6 +96,7 @@ class Ui_MainWindow(object):
self.menu_2.addAction(self.actionGithub)
self.menu_2.addAction(self.action_IPv6)
self.menu_2.addAction(self.action_2)
self.menu_2.addAction(self.action_3)
self.menu_2.addAction(self.action)
self.menubar.addAction(self.menu.menuAction())
self.menubar.addAction(self.menu_2.menuAction())
@@ -121,4 +125,5 @@ class Ui_MainWindow(object):
self.action_IPv6.setText(_translate("MainWindow", "备用源1只限IPv6用户"))
self.action.setText(_translate("MainWindow", "本地测试源127.0.0.1"))
self.action_2.setText(_translate("MainWindow", "备用源2"))
self.action_3.setText(_translate("MainWindow", "备用源3"))

View File

@@ -112,6 +112,7 @@
<addaction name="actionGithub"/>
<addaction name="action_IPv6"/>
<addaction name="action_2"/>
<addaction name="action_3"/>
<addaction name="action"/>
</widget>
<addaction name="menu"/>
@@ -191,6 +192,14 @@
<string>备用源2</string>
</property>
</action>
<action name="action_3">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>备用源3</string>
</property>
</action>
</widget>
<resources/>
<connections/>

View File

@@ -33,10 +33,10 @@ def button1_cl():
if path != "":
e6_text.setText(path)
def button2_cl():
def button2_cl(number):
path = QtWidgets.QFileDialog.getOpenFileName(widget, QtCore.QCoreApplication.translate("U", "选择图标文件"), get_home(), "PNG图标(*.png);;SVG图标(*.svg);;全部文件(*.*)")[0]
if path != "":
e9_text.setText(path)
mapLink[number].setText(path)
def button4_cl():
path = QtWidgets.QFileDialog.getSaveFileName(widget, QtCore.QCoreApplication.translate("U", "保存 deb 包"), get_home(), "deb 文件(*.deb);;所有文件(*.*)", "{}_{}_i386.deb".format(e1_text.text(), e2_text.text()))[0]
@@ -62,6 +62,8 @@ def disabled_or_NORMAL_all(choose):
button4.setDisabled(choose)
button5.setDisabled(choose)
option1_text.setDisabled(choose)
desktopIconTab.setDisabled(choose)
build7z.setDisabled(choose)
chooseWineHelperValue.setDisabled(choose)
wineVersion.setDisabled(choose)
debArch.setDisabled(choose)
@@ -237,6 +239,11 @@ def make_deb(build=False):
def label13_text_change(thing):
label13_text.setText(f"<p align='center'>当前 deb 打包情况:{thing}</p>")
def ReplaceText(string: str, lists: list):
for i in lists:
string = string.replace(i[0], i[1])
return string
class make_deb_threading(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
@@ -296,19 +303,36 @@ class make_deb_threading(QtCore.QThread):
b = e6_text.text()[:-1]
else:
b = e6_text.text()
if e9_text.text() != "":
# 获取图片格式(不太准)
try:
im = Image.open(e9_text.text())
imms = im.format.lower()
except: # 未知(就直接设置为 svg 后缀)
imms = ".svg"
a = "/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(e1_text.text(), e1_text.text(), imms)
if not os.path.exists(e9_text.text()):
self.errorMsg.emit("图标的路径填写错误,无法进行构建 deb 包")
self.disabled_or_NORMAL_all.emit(True)
self.label.emit("图标的路径填写错误,无法进行构建 deb 包")
return
if desktopIconTab.count() <= 1:
if e9_text.text() != "":
# 获取图片格式(不太准)
try:
im = Image.open(e9_text.text())
imms = im.format.lower()
except: # 未知(就直接设置为 svg 后缀)
imms = "svg"
a = "/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(e1_text.text(), e1_text.text(), imms)
if not os.path.exists(e9_text.text()):
self.errorMsg.emit("图标的路径填写错误,无法进行构建 deb 包")
self.disabled_or_NORMAL_all.emit(True)
self.label.emit("图标的路径填写错误,无法进行构建 deb 包")
return
else:
a = []
for i in iconUiList:
if i[4].text != "":
# 获取图片格式(不太准)
try:
im = Image.open(e9_text.text())
imms = im.format.lower()
except:
imms = ".svg"
a.append("/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}-{}.{}".format(e1_text.text(), e1_text.text(), os.path.splitext(os.path.basename(i[0].text().replace("\\", "/")))[0], imms))
if not os.path.exists(i[4].text()):
self.errorMsg.emit("图标的路径填写错误,无法进行构建 deb 包")
self.disabled_or_NORMAL_all.emit(True)
self.label.emit("图标的路径填写错误,无法进行构建 deb 包")
return
if not os.path.exists(e6_text.text()):
print("aa")
self.errorMsg.emit("路径填写错误,无法继续构建 deb 包")
@@ -362,13 +386,13 @@ fi"""][int(rmBash.isChecked())],
version_gt() {{ test "$(echo "$@" | tr " " "\\n" | sort -V | head -n 1)" != "$1"; }}
BOTTLENAME="{e5_text.text()}"
APPVER="{e2_text.text()}"
EXEC_PATH="{e7_text.text()}"
BOTTLENAME="@@@BOTTLENAME@@@"
APPVER="@@@APPVER@@@"
EXEC_PATH="@@@EXEC_PATH@@@"
START_SHELL_PATH="/opt/deepinwine/tools/run_v4.sh"
export MIME_TYPE=""
export DEB_PACKAGE_NAME="{e1_text.text()}"
export APPRUN_CMD="{wine[wineVersion.currentText()]}"
export DEB_PACKAGE_NAME="@@@DEB_PACKAGE_NAME@@@"
export APPRUN_CMD="@@@APPRUN_CMD@@@"
DISABLE_ATTACH_FILE_DIALOG=""
EXPORT_ENVS=""
@@ -433,16 +457,16 @@ Get_Dist_Name()
version_gt() {{ test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }}
####用于比较版本?未实装
BOTTLENAME="{e5_text.text()}"
APPVER="{e2_text.text()}"
EXEC_PATH="{e7_text.text()}"
BOTTLENAME="@@@BOTTLENAME@@@"
APPVER="@@@APPVER@@@"
EXEC_PATH="@@@EXEC_PATH@@@"
##### 软件在wine中的启动路径
START_SHELL_PATH="/opt/deepinwine/tools/spark_run_v4.sh"
export MIME_TYPE=""
#####没什么用
export DEB_PACKAGE_NAME="{e1_text.text()}"
export DEB_PACKAGE_NAME="@@@DEB_PACKAGE_NAME@@@"
####这里写包名才能在启动的时候正确找到files.7z,似乎也和杀残留进程有关
export APPRUN_CMD="{wine[wineVersion.currentText()]}"
export APPRUN_CMD="@@@APPRUN_CMD@@@"
#####wine启动指令建议
EXPORT_ENVS=""
@@ -527,60 +551,25 @@ fi"""
# ARM64 通用 wine 打包配置文件
"Wine": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ",
"Architecture": "arm64",
"Depends": "zenity, com.deepin-wine6-stable.deepin(>=6.0deepin31), deepin-wine-exagear-images(>=10deepin4), com.deepin-box86.deepin(>=0.2.3deepin21), deepin-elf-verify (>= 1.1.1-1), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk",
"postinst": f"""#!/bin/bash
"Depends": "com.deepin-wine6-stable.deepin (>= 6.0deepin31), com.wine-helper.deepin (>= 0.0.8), com.deepin-box86.deepin (>= 0.2.6deepin3), deepin-elf-verify (>= 1.1.1-1)",
"postinst": f"""#!/bin/sh
DEB_PATH=/opt/apps/{e1_text.text()}
if [ -f $DEB_PATH/files/wined3d.dll.so ] && [ -d "/usr/lib/nvidia" ];then
mv $DEB_PATH/files/wined3d.dll.so $DEB_PATH/files/dlls
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -i
fi
KUNPENG="0x48"
cpu_vendor=$(lscpu | grep Vendor | awk '{{print $3}}')
KIRIN=`cat /proc/cpuinfo | grep Kirin`
if [ ! -z "$KIRIN" ];then
mv $DEB_PATH/files/*.so $DEB_PATH/files/dlls
fi
## check if the cpu support arm32 instruction or not, 126 means unsupported
/opt/deepin-box86/box86 -v
CHECK_ARM32=$?
IMAGE_VER=10deepin3
IMAGE_DIR=/opt/deepin-wine-exagear-images/debian-buster
ARCHIVE_FILE=files.7z
download_image() {{
pushd /var/cache/apt/archives >/dev/null
apt download deepin-wine-exagear-images
dpkg -x deepin-wine-exagear-images*.deb /
rm deepin-wine-exagear-images*.deb
echo $IMAGE_VER > $IMAGE_DIR/VERSION
popd >/dev/null
}}
if [[ "$KUNPENG" == "$cpu_vendor" ]] || [[ $CHECK_ARM32 != 0 ]];then
echo "use exagear as emulator..."
if [ ! -d /opt/exagear/bin ];then
mkdir /opt/exagear/bin -p
fi
if [ ! -e /opt/exagear/bin/ubt_x32a64_al ];then
cp $DEB_PATH/files/exa/ubt_x32a64_al /opt/exagear/bin/ubt_x32a64_al
fi
if [ ! -e /opt/exagear/bin/ubt_x64a64_al ];then
cp $DEB_PATH/files/exa/ubt_x64a64_al /opt/exagear/bin/ubt_x64a64_al
fi
mv $DEB_PATH/files/run_with_exagear.sh $DEB_PATH/files/run.sh
mv $DEB_PATH/files/exa/wineserver /opt/deepin-wine6-stable/bin/wineserver
else
echo "use box86 as emulator..."
mv $DEB_PATH/files/run_with_box86.sh $DEB_PATH/files/run.sh
if [ -n "$ACTIVEX_NAME" ]; then
if [ ! -d "/usr/lib/mozilla/plugins" ];then
mkdir -p /usr/lib/mozilla/plugins
fi
cp /usr/lib/pipelight/libpipelight.so /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
""",
# 因为 arm 不依赖 helper所以要自带 kill.sh
"kill.sh": """#!/bin/bash
@@ -862,7 +851,37 @@ else
kill_app $APP_NAME
fi
""",
"postrm": f"""#!/bin/bash
"postrm": [f"""#!/bin/sh
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -r
fi
if [ -n "$ACTIVEX_NAME" ]; then
rm /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
""", f"""#!/bin/sh
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -r
fi
if [ -n "$ACTIVEX_NAME" ]; then
rm /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
# Clean Botton
if [ "$1" = "remove" ] || [ "$1" = "purge" ];then
echo "清理卸载残留"
@@ -887,224 +906,95 @@ for username in $(ls /home)
else
echo "非卸载,跳过清理"
fi
""",
"run_with_box86.sh": f"""#!/bin/bash
DEB_PATH="/opt/apps/{e1_text.text()}"
WINE="/opt/deepin-wine6-stable/bin/wine"
WINESERVER="/opt/deepin-wine6-stable/bin/wineserver"
EMU="/opt/deepin-box86/box86"
EMU_ARGS=
EXE="{e7_text.text()}"
NEW_VERSION="{e2_text.text()}"
BOTTLE="$HOME/.deepinwine/{e5_text.text()}"
"""][int(rmBash.isChecked())],
if command -v zenity >/dev/null 2>&1; then
progressbar()
{{
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close --no-cancel ||
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close
}}
# 又又又改
"run.sh": f"""#!/bin/bash
# Copyright (C) 2016 Deepin, Inc.
#
# Author: Li LongYu <lilongyu@linuxdeepin.com>
# Peng Hao <penghao@linuxdeepin.com>
version_gt() {{ test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }}
ACTIVEX_NAME=""
BOTTLENAME="@@@BOTTLENAME@@@"
APPVER="@@@APPVER@@@"
EXEC_PATH="@@@EXEC_PATH@@@"
START_SHELL_PATH="{['/opt/deepinwine/tools/run_v4.sh', '/opt/deepinwine/tools/spark_run_v4.sh'][chooseWineHelperValue.isChecked()]}"
export MIME_TYPE=""
export MIME_EXEC=""
export DEB_PACKAGE_NAME="{e1_text.text()}"
export APPRUN_CMD="deepin-wine6-stable"
DISABLE_ATTACH_FILE_DIALOG=""
EXPORT_ENVS=""
EXEC_NAME="@@@EXEC_NAME@@@"
INSTALL_SETUP=""
export BOX86_EMU_CMD="/opt/deepin-box86/stable/box86"
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
if [ -z "$APPRUN_CMD" ];then
export APPRUN_CMD="/opt/deepin-wine6-stable/bin/wine"
fi
if [ -f "$APPRUN_CMD" ];then
wine_path=$(dirname $APPRUN_CMD)
wine_path=$(realpath "$wine_path/../")
export WINEDLLPATH=$wine_path/lib:$wine_path/lib64
else
progressbar()
{{
cat -
}}
export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
fi
reconstruct_bottle_symlink() {{
export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"
if [ -L $BOTTLE/drive_c/users/$USER/Desktop ]; then
rm -f $BOTTLE/drive_c/users/$USER/Desktop
ln -s $HOME/Desktop $BOTTLE/drive_c/users/$USER/Desktop
fi
if [ -L $BOTTLE/drive_c/users/$USER/Documents ]; then
rm -f $BOTTLE/drive_c/users/$USER/Documents
ln -s $HOME/Documents $BOTTLE/drive_c/users/$USER/Documents
fi
if [ -L $BOTTLE/drive_c/users/$USER/Downloads ]; then
rm -f $BOTTLE/drive_c/users/$USER/Downloads
ln -s $HOME/Downloads $BOTTLE/drive_c/users/$USER/Downloads
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Documents" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Documents"
ln -s $HOME/Documents "$BOTTLE/drive_c/users/$USER/My Documents"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Music" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Music"
ln -s $HOME/Music "$BOTTLE/drive_c/users/$USER/My Music"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Videos" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Videos"
ln -s $HOME/Videos "$BOTTLE/drive_c/users/$USER/My Videos"
fi
_SetRegistryValue()
{{
env WINEPREFIX="$BOTTLEPATH" $APPRUN_CMD reg ADD "$1" /v "$2" /t "$3" /d "$4" /f
}}
if [ ! -d "$HOME/.deepinwine" ];then
mkdir -p "$HOME/.deepinwine"
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
export ATTACH_FILE_DIALOG=1
fi
if [ -f $BOTTLE/VERSION ];then
old_version=`cat $BOTTLE/VERSION`
if [ "$old_version" != "$NEW_VERSION" ];then
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINESERVER -k
rm -rf $BOTTLE
if [ -n "$EXPORT_ENVS" ];then
export $EXPORT_ENVS
fi
# 打包安装程序的情况
if [[ -z "$EXEC_PATH" ]] && [[ -n "$INSTALL_SETUP" ]];then
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" -c
BOTTLEPATH="$HOME/.deepinwine/$BOTTLENAME"
EXEC_PATH=$(find "$BOTTLEPATH" -name $EXEC_NAME | head -1)
if [ -z "$EXEC_PATH" ];then
_SetRegistryValue "HKCU\\Software\\Wine\\DllOverrides" winemenubuilder.exe REG_SZ
WINEPREFIX="$BOTTLEPATH" $APPRUN_CMD "$ARCHIVE_FILE_DIR/$INSTALL_SETUP"
EXEC_PATH=$(find "$BOTTLEPATH" -name $EXEC_NAME | head -1)
cp "$ARCHIVE_FILE_DIR/setup.md5sum" "$BOTTLEPATH"
fi
if [ -z "$EXEC_PATH" ];then
echo "安装失败退出"
exit
fi
fi
if [ ! -d $BOTTLE ];then
7z x "$DEB_PATH/files/files.7z" -o"$BOTTLE" -aoa
mv "$BOTTLE/drive_c/users/@current_user@" "$BOTTLE/drive_c/users/$USER"
sed -i "s#@current_user@#$USER#" $BOTTLE/*.reg
reconstruct_bottle_symlink
echo $NEW_VERSION > $BOTTLE/VERSION
fi
export WINEPREDLL=$DEB_PATH/files/dlls
export ATTACH_FILE_DIALOG=1
export WINEDLLPATH=/opt/deepin-wine6-stable/lib
ulimit -s 8192
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" & #--disable-gpu &
""",
"run_with_exagear.sh": f"""#!/bin/bash
DEB_PATH="/opt/apps/{e1_text.text()}"
WINE="/opt/deepin-wine6-stable/bin/wine"
WINESERVER="/opt/deepin-wine6-stable/bin/wineserver"
EMU="/opt/exagear/bin/ubt_x64a64_al"
IMAGE_PATH=$HOME/.deepinwine/debian-buster
EMU_ARGS="--path-prefix $IMAGE_PATH --utmp-paths-list $IMAGE_PATH/.exagear/utmp-list --vpaths-list $IMAGE_PATH/.exagear/vpaths-list --opaths-list $IMAGE_PATH/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- "
EXE="{e7_text.text()}"
NEW_VERSION="{e2_text.text()}"
BOTTLE="$HOME/.deepinwine/{e5_text.text()}"
IMG_ARCHIVE_DIR=/opt/deepin-wine-exagear-images/debian-buster
IMAGE_VER="10deepin4"
LOCALTIME=`readlink -f /etc/localtime`
export LC_ALL=$LANG
export XMODIFIERS=$XMODIFIERS
export DESKTOP_SESSION=deepin
if command -v zenity >/dev/null 2>&1; then
progressbar()
{{
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close --no-cancel ||
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close
}}
if [ -n "$EXEC_PATH" ];then
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
elif [ -z "${{EXEC_PATH##*.bat}}" ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "cmd" -f /c "$EXEC_PATH" "${{@:2}}"
else
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
fi
elif [ -n "$ACTIVEX_NAME" ] && [ $# -gt 1 ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "$1" -f "${{@:2}}"
else
progressbar()
{{
cat -
}}
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
fi
reconstruct_bottle_symlink() {{
if [ -L $BOTTLE/drive_c/users/$USER/Desktop ]; then
rm -f $BOTTLE/drive_c/users/$USER/Desktop
ln -s $HOME/Desktop $BOTTLE/drive_c/users/$USER/Desktop
fi
if [ -L $BOTTLE/drive_c/users/$USER/Documents ]; then
rm -f $BOTTLE/drive_c/users/$USER/Documents
ln -s $HOME/Documents $BOTTLE/drive_c/users/$USER/Documents
fi
if [ -L $BOTTLE/drive_c/users/$USER/Downloads ]; then
rm -f $BOTTLE/drive_c/users/$USER/Downloads
ln -s $HOME/Downloads $BOTTLE/drive_c/users/$USER/Downloads
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Documents" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Documents"
ln -s $HOME/Documents "$BOTTLE/drive_c/users/$USER/My Documents"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Music" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Music"
ln -s $HOME/Music "$BOTTLE/drive_c/users/$USER/My Music"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Videos" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Videos"
ln -s $HOME/Videos "$BOTTLE/drive_c/users/$USER/My Videos"
fi
}}
extract_image() {{
progpid=$(ps -ef | grep "zenity --progress --title=${{BOTTLE}}" | grep -v grep)
if [ -n "$progpid" ];then
echo "one $BOTTLE app is extracting runtime images too."
exit 0
fi
7z x "$IMG_ARCHIVE_DIR/files.7z" -o"$IMAGE_PATH" -aoa | progressbar "$BOTTLE" "正在释放环境..."
cp /usr/bin/dde-file-manager $IMAGE_PATH/usr/bin/dde-file-manager
rm $IMAGE_PATH/etc/localtime
ln -s $LOCALTIME $IMAGE_PATH/etc/localtime
if [ -d $IMAGE_PATH/etc/resolvconf ];then
rm $IMAGE_PATH/etc/resolvconf
fi
if [ -d /etc/resolvconf ];then
cp /etc/resolvconf $IMAGE_PATH/etc/ -rf
fi
cp /etc/resolv.conf $IMAGE_PATH/etc/
cp /etc/hosts $IMAGE_PATH/etc/
echo $IMAGE_VER > $IMAGE_PATH/VERSION
}}
get_link_err_nums() {{
find $IMAGE_PATH -type l ! -exec test -e {{}} \; -print | wc -l
}}
if [ ! -d "$HOME/.deepinwine" ];then
mkdir -p "$HOME/.deepinwine"
fi
if [ -f $BOTTLE/VERSION ];then
old_version=`cat $BOTTLE/VERSION`
if [ "$old_version" != "$NEW_VERSION" ];then
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINESERVER -k
rm -rf $BOTTLE
fi
fi
if [ ! -d $BOTTLE ];then
7z x "$DEB_PATH/files/files.7z" -o"$BOTTLE" -aoa
mv "$BOTTLE/drive_c/users/@current_user@" "$BOTTLE/drive_c/users/$USER"
sed -i "s#@current_user@#$USER#" $BOTTLE/*.reg
reconstruct_bottle_symlink
echo $NEW_VERSION > $BOTTLE/VERSION
fi
## 解压文件
if [ ! -e $IMAGE_PATH/VERSION ];then
extract_image
fi
OLD_IMAGE_VER=`cat $IMAGE_PATH/VERSION`
if [ "$OLD_IMAGE_VER" != "$IMAGE_VER" ];then
extract_image
fi
echo "======$(get_link_err_nums)===="
if [ "$(get_link_err_nums)" -gt "120" ];then
extract_image
fi
## mount /data/ dir to geust
if [ -d $IMAGE_PATH ] && [ ! -d $IMAGE_PATH/data ];then
mkdir $IMAGE_PATH/data
cp $DEB_PATH/files/exa/vpaths-list $IMAGE_PATH/.exagear
fi
export WINEPREDLL=$DEB_PATH/files/dlls
export ATTACH_FILE_DIALOG=1
export WINEDLLPATH=/opt/deepin-wine6-stable/lib
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" & #--disable-gpu &
""",
"info": f'''{{
"appid": "{e1_text.text()}",
@@ -1166,7 +1056,7 @@ extract_archive()
BOTTLENAME="{e5_text.text()}"
APPVER="{e2_text.text()}"
EXEC_PATH="{e7_text.text()}"
EXEC_PATH="@@@EXEC_PATH@@@"
START_SHELL_PATH="{["/opt/deepinwine/tools/run_v4.sh", "/opt/deepinwine/tools/spark_run_v4.sh"][int(chooseWineHelperValue.isChecked())]}"
export MIME_TYPE=""
export DEB_PACKAGE_NAME="{e1_text.text()}"
@@ -1245,7 +1135,7 @@ fi
###############
self.label.emit("正在创建文件……")
os.mknod("{}/DEBIAN/control".format(debPackagePath))
os.mknod("{}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()))
#os.mknod("{}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()))
#os.mknod("{}/opt/apps/{}/files/run.sh".format(debPackagePath, e1_text.text()))
os.mknod("{}/opt/apps/{}/info".format(debPackagePath, e1_text.text()))
#########!!!!!!!
@@ -1289,9 +1179,10 @@ fi
if not os.path.exists(f"{programPath}/dlls-arm"):
self.run_command(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/dlls-arm.7z")
if not os.path.exists(f"{programPath}/exa"):
self.run_command(f"7z x \"{programPath}/exa.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/exa.7z")
# 已废弃
#if not os.path.exists(f"{programPath}/exa"):
# self.run_command(f"7z x \"{programPath}/exa.7z\" -o\"{programPath}\"")
# os.remove(f"{programPath}/exa.7z")
if not os.path.exists(f"{programPath}/arm-package"):
self.run_command(f"7z x \"{programPath}/arm-package.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/arm-package.7z")
@@ -1303,8 +1194,12 @@ fi
self.run_command(f"cp -rv '{programPath}/arm-package/'* {debPackagePath}/opt/apps/{e1_text.text()}/files/")
#self.run_command(f"cp -rv '{programPath}/wined3d.dll.so' {debPackagePath}/opt/apps/{e1_text.text()}/files/")
pass
if e9_text.text() != "":
shutil.copy(e9_text.text(), "{}/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(debPackagePath, e1_text.text(), e1_text.text(), imms))
if desktopIconTab.count() <= 1:
if e9_text.text() != "":
shutil.copy(e9_text.text(), "{}/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(debPackagePath, e1_text.text(), e1_text.text(), imms))
else:
for i in range(len(a)):
shutil.copy(iconUiList[i][4].text(), "{}/{}".format(debPackagePath, a[i]))
################
# 获取文件大小
################
@@ -1343,14 +1238,72 @@ Description: {e3_text.text()}
write_txt(f"{debPackagePath}/DEBIAN/postinst", debInformation[debArch.currentIndex()]["postinst"])
if debInformation[debArch.currentIndex()]["postrm"] != "":
write_txt(f"{debPackagePath}/DEBIAN/postrm", debInformation[debArch.currentIndex()]["postrm"])
write_txt("{}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()), '#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nType=Application\nX-Created-By={}\nCategories={};\nIcon={}\nExec="/opt/apps/{}/files/run.sh" --uri {}\nName={}\nComment={}\nMimeType={}\nGenericName={}\nTerminal=false\nStartupNotify=false\n'.format(e4_text.text(), option1_text.currentText(), a, e1_text.text(), e15_text.text(), e8_text.text(), e3_text.text(), e10_text.text(), e1_text.text()))
replaceMap = [
["@@@BOTTLENAME@@@", e5_text.text()],
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", e7_text.text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(e7_text.text().replace("\\", "/"))]
]
line = "\\"
if desktopIconTab.count() <= 1:
write_txt("{}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()), '#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nType=Application\nX-Created-By={}\nCategories={};\nIcon={}\nExec="/opt/apps/{}/files/run.sh" --uri {}\nName={}\nComment={}\nMimeType={}\nGenericName={}\nTerminal=false\nStartupNotify=false\n'.format(e4_text.text(), option1_text.currentText(), a, e1_text.text(), e15_text.text(), e8_text.text(), e3_text.text(), e10_text.text(), e1_text.text()))
else:
for i in range(len(iconUiList)):
if iconUiList[i][2].text().replace(" ", "") == "":
command = f"--uri {iconUiList[i][2].text()}"
else:
command = iconUiList[i][2].text()
write_txt("{}/opt/apps/{}/entries/applications/{}-{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text(), os.path.splitext(os.path.basename(iconUiList[i][0].text().replace("\\", "/")))[0]), f'''#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
X-Created-By={e4_text.text()}
Categories={iconUiList[i][1].currentText()};
Icon={a[i]}
Exec="/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(iconUiList[i][0].text().replace(line, "/")))[0]}.sh" {command}
Name={iconUiList[i][3].text()}
Comment={e3_text.text()}
MimeType={e10_text.text()}
GenericName={e1_text.text()}
Terminal=false
StartupNotify=false
''')
# 要开始分类讨论了
if debArch.currentIndex() == 0:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run.sh", debInformation[debArch.currentIndex()]["run.sh"])
if debArch.currentIndex() == 1:
if debArch.currentIndex() == 0 or debArch.currentIndex() == 1:
if desktopIconTab.count() <= 1:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run.sh", ReplaceText(debInformation[debArch.currentIndex()]["run.sh"], replaceMap))
else:
for i in iconUiList:
replaceMap = [
["@@@BOTTLENAME@@@", e5_text.text()],
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", i[0].text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(i[0].text().replace("\\", "/"))]
]
line = "\\"
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}.sh", ReplaceText(debInformation[debArch.currentIndex()]["run.sh"], replaceMap))
if debArch.currentIndex() == 1 and False:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/kill.sh", debInformation[debArch.currentIndex()]["kill.sh"])
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run_with_box86.sh", debInformation[debArch.currentIndex()]["run_with_box86.sh"])
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run_with_exagear.sh", debInformation[debArch.currentIndex()]["run_with_exagear.sh"])
if desktopIconTab.count() <= 1:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run_with_box86.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_box86.sh"], replaceMap))
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run_with_exagear.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_exagear.sh"], replaceMap))
else:
# Flagpostrm和postinst均需要改所以先写一下防止自己忘了
for i in iconUiList:
replaceMap = [
["@@@BOTTLENAME@@@", e5_text.text()],
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", i[0].text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(i[0].text().replace("\\", "/"))]
]
#write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_box86.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_box86.sh"], replaceMap))
#write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_exagear.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_exagear.sh"], replaceMap))
write_txt("{}/opt/apps/{}/info".format(debPackagePath, e1_text.text()), debInformation[debArch.currentIndex()]["info"])
################
# 修改文件权限
@@ -1359,11 +1312,11 @@ Description: {e3_text.text()}
self.run_command("chmod -Rv 644 {}/opt/apps/{}/files/run.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 644 {}/opt/apps/{}/info".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 0755 {}/DEBIAN".format(debPackagePath))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/run.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/kill.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/run_with_box86.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/run_with_exagear.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/*.sh".format(debPackagePath, e1_text.text()))
#self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/kill.sh".format(debPackagePath, e1_text.text()))
#self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/*_with_box86.sh".format(debPackagePath, e1_text.text()))
#self.run_command("chmod -Rv 755 {}/opt/apps/{}/files/*_with_exagear.sh".format(debPackagePath, e1_text.text()))
self.run_command("chmod -Rv 755 {}/opt/apps/{}/entries/applications/*.desktop".format(debPackagePath, e1_text.text(), e1_text.text()))
################
# 构建 deb 包
################
@@ -1441,13 +1394,15 @@ def ChangeArchCombobox():
if debArch.currentIndex() != 0:
option = False
chooseWineHelperValue.setEnabled(option)
if not option:
chooseWineHelperValue.setChecked(False)
wineVersion.setEnabled(option)
useInstallWineArch.setEnabled(option)
#rmBash.setEnabled(option)
if debArch.currentIndex() == 0:
ChangeWine()
else:
debDepends.setText("zenity, com.deepin-wine6-stable.deepin(>=6.0deepin31), deepin-wine-exagear-images(>=10deepin4), com.deepin-box86.deepin(>=0.2.3deepin21), deepin-elf-verify (>= 1.1.1-1), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk")
debDepends.setText("com.deepin-wine6-stable.deepin (>= 6.0deepin31), com.wine-helper.deepin (>= 0.0.8), com.deepin-box86.deepin (>= 0.2.6deepin3), deepin-elf-verify (>= 1.1.1-1)")
def InstallDeb():
os.system(f"xdg-open '{e12_text.text()}'")
@@ -1723,7 +1678,54 @@ def ReadDeb(unzip = False):
except:
print(f"忽略行:{i}")
def ChangeTapTitle():
if desktopIconTab.count() <= 1:
desktopIconTab.setTabText(0, "run.sh")
return
title = os.path.basename(iconUiList[desktopIconTab.currentIndex()][0].text().replace("\\", "/"))
desktopIconTab.setTabText(desktopIconTab.currentIndex(), title)
mapLink = []
def AddTab():
global mapLink
button2 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
e7_text = QtWidgets.QLineEdit()
e8_text = QtWidgets.QLineEdit()
e9_text = QtWidgets.QLineEdit()
e15_text = QtWidgets.QLineEdit()
iconTab1 = QtWidgets.QWidget()
option1_text = QtWidgets.QComboBox()
option1_text.addItems(["Network", "Chat", "Audio", "Video", "Graphics", "Office", "Translation", "Development", "Utility"])
option1_text.setCurrentText("Network")
number = int(str(len(mapLink)))
button2.clicked.connect(lambda: button2_cl(number))
mapLink.append(e9_text)
#desktopIconTabLayout = QtWidgets.QGridLayout()
desktopIconTabLayout = QtWidgets.QGridLayout()
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填):")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填):")), 10, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
desktopIconTab.addTab(iconTab1, f"图标{desktopIconTab.count() + 1}")
desktopIconTabLayout.addWidget(e7_text, 6, 1, 1, 1)
desktopIconTabLayout.addWidget(option1_text, 7, 1, 1, 1)
desktopIconTabLayout.addWidget(e15_text, 8, 1, 1, 1)
desktopIconTabLayout.addWidget(e8_text, 9, 1, 1, 1)
desktopIconTabLayout.addWidget(e9_text, 10, 1, 1, 1)
desktopIconTabLayout.addWidget(button2, 10, 2, 1, 1)
e7_text.textChanged.connect(ChangeTapTitle)
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text])
print(iconUiList)
def DelTab():
print(desktopIconTab.count())
if desktopIconTab.count() <= 1:
return
del iconUiList[desktopIconTab.currentIndex()]
desktopIconTab.removeTab(desktopIconTab.currentIndex())
###############
# 程序信息
@@ -1752,6 +1754,7 @@ try:
except:
pass
os.chdir("/")
iconUiList = []
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
information = json.loads(readtxt(f"{programPath}/information.json"))
version = information["Version"]
@@ -1809,13 +1812,15 @@ option1_text.setCurrentText("Network")
wineFrame = QtWidgets.QHBoxLayout()
chooseWineHelperValue = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用星火wine helper\n如不勾选默认为deepin-wine-helper"))
button1.clicked.connect(button1_cl)
button2.clicked.connect(button2_cl)
button2.clicked.connect(lambda: button2_cl(0))
mapLink.append(e9_text)
button4.clicked.connect(button4_cl)
button5.clicked.connect(make_deb)
buildDebDir.clicked.connect(lambda: make_deb(True))
build7z.clicked.connect(Build7zButton_Clicked)
installDeb.clicked.connect(InstallDeb)
wineFrame.addWidget(wineVersion)
e7_text.textChanged.connect(ChangeTapTitle)
# 创建控件
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的包名(※必填):")), 0, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的版本号(※必填):")), 1, 0, 1, 1)
@@ -1823,13 +1828,30 @@ widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的维护者(※必填):")), 3, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器的容器名(※必填):")), 4, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器(※必填):")), 5, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填):")), 8, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填):")), 10, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "选择打包的 wine 版本(※必选):")), 12, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 的保存路径(※必填):")), 13, 0, 1, 1)
desktopIconTab = QtWidgets.QTabWidget()
controlWidget = QtWidgets.QWidget()
controlWidgetLayout = QtWidgets.QHBoxLayout()
desktopIconTabAdd = QtWidgets.QPushButton("+")
desktopIconTabDel = QtWidgets.QPushButton("-")
controlWidgetLayout.addWidget(desktopIconTabAdd)
controlWidgetLayout.addWidget(desktopIconTabDel)
controlWidget.setLayout(controlWidgetLayout)
desktopIconTabAdd.clicked.connect(AddTab)
desktopIconTabDel.clicked.connect(DelTab)
iconTab1 = QtWidgets.QWidget()
desktopIconTabLayout = QtWidgets.QGridLayout()
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填):")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填):")), 10, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
#desktopIconTab.setTabPosition(QtWidgets.QTabWidget.East)
desktopIconTab.addTab(iconTab1, "Defult")
desktopIconTab.setCornerWidget(controlWidget)
widgetLayout.addWidget(desktopIconTab, 8, 0, 6, 3)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "选择打包的 wine 版本(※必选):")), 6, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 的保存路径(※必填):")), 7, 0, 1, 1)
widgetLayout.addWidget(e1_text, 0, 1, 1, 1)
widgetLayout.addWidget(e2_text, 1, 1, 1, 1)
widgetLayout.addWidget(e3_text, 2, 1, 1, 1)
@@ -1837,15 +1859,17 @@ widgetLayout.addWidget(e4_text, 3, 1, 1, 1)
widgetLayout.addWidget(e5_text, 4, 1, 1, 1)
widgetLayout.addWidget(e6_text, 5, 1, 1, 1)
widgetLayout.addWidget(button1, 5, 2, 1, 1)
widgetLayout.addWidget(e7_text, 6, 1, 1, 1)
widgetLayout.addWidget(option1_text, 7, 1, 1, 1)
widgetLayout.addWidget(e15_text, 8, 1, 1, 1)
widgetLayout.addWidget(e8_text, 9, 1, 1, 1)
widgetLayout.addWidget(e9_text, 10, 1, 1, 1)
widgetLayout.addWidget(button2, 10, 2, 1, 1)
widgetLayout.addLayout(wineFrame, 12, 1, 1, 1)
widgetLayout.addWidget(e12_text, 13, 1, 1, 1)
widgetLayout.addWidget(button4, 13, 2, 1, 1)
desktopIconTabLayout.addWidget(e7_text, 6, 1, 1, 1)
desktopIconTabLayout.addWidget(option1_text, 7, 1, 1, 1)
desktopIconTabLayout.addWidget(e15_text, 8, 1, 1, 1)
desktopIconTabLayout.addWidget(e8_text, 9, 1, 1, 1)
desktopIconTabLayout.addWidget(e9_text, 10, 1, 1, 1)
desktopIconTabLayout.addWidget(button2, 10, 2, 1, 1)
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text])
print(iconUiList)
widgetLayout.addLayout(wineFrame, 6, 1, 1, 1)
widgetLayout.addWidget(e12_text, 7, 1, 1, 1)
widgetLayout.addWidget(button4, 7, 2, 1, 1)
widgetLayout.addLayout(debControlFrame, 16, 1, 1, 1)
widgetLayout.addWidget(label13_text, 17, 0, 1, 3)
widgetLayout.addWidget(textbox1, 18, 0, 1, 3)

View File

@@ -27,6 +27,11 @@ import urllib.parse as parse
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
try:
import PyQt5.QtWebEngineWidgets as QtWebEngineWidgets
bad = False
except:
bad = True
from Model import *
def PythonLower():
@@ -90,7 +95,7 @@ def liulanbutton():
# 第二个浏览按钮事件
def liulanexebutton():
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择 exe 可执行文件", json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExe.json"))["path"], "exe 可执行文件(*.exe);;EXE 可执行文件(*.EXE);;所有文件(*.*)")
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择 exe 可执行文件", json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExe.json"))["path"], "exe 可执行文件(*.exe);;MSI 文件(*.msi);;所有文件(*.*)")
if path != "" and path != "()":
e2.setEditText(path[0]) # 显示路径
write_txt(get_home() + "/.config/deepin-wine-runner/FindExe.json", json.dumps({"path": os.path.dirname(path[0])})) # 写入配置文件
@@ -127,6 +132,108 @@ class QT:
e1.addItems(findExeHistory)
e1.setEditText(findExeHistory[-1])
repairList = []
# Flag: 日志推断解决方案功能
class LogChecking():
def ShowWindow():
global logThread
global logWindow
global questionList
global repairButton
logWindow = QtWidgets.QWidget()
logWindowLayout = QtWidgets.QGridLayout()
questionList = QtWidgets.QListView()
repairButton = QtWidgets.QPushButton("一键修复")
repairButton.setDisabled(True)
repairButton.clicked.connect(LogChecking.RepairButton)
nmodel = QtGui.QStandardItemModel(window)
item = QtGui.QStandardItem("正在分析中……")
questionList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
nmodel.appendRow(item)
questionList.setModel(nmodel)
logWindowLayout.addWidget(questionList, 0, 0, 3, 1)
logWindowLayout.addWidget(repairButton, 0, 2, 1, 1)
logWindow.setWindowTitle("分析日志")
logWindow.setLayout(logWindowLayout)
logThread = LogThreading()
logThread.done.connect(LogChecking.Show)
logThread.start()
logWindow.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
logWindow.resize(int(logWindow.frameGeometry().width() * 1.2), int(logWindow.frameGeometry().height() * 1.2))
logWindow.show()
def RepairButton():
index = questionList.currentIndex().row()
lists = questionMap[index]
print(f"{programPath}/CheckDLL/bash/{lists[1].lower()}.sh")
if lists[0] == 1 and os.path.exists(f"{programPath}/CheckDLL/bash/{lists[1].lower()}.sh"):
OpenTerminal(f"'{programPath}/AutoShell/main.py' '{programPath}/CheckDLL/bash/{lists[1].lower()}.sh'")
return
if lists[0] == 2:
QtWidgets.QMessageBox.information(logWindow, "修复方法", "切换其它 Wine")
return
if lists[0] == 4:
QtWidgets.QMessageBox.information(logWindow, "修复方法", "如是 Deepin Wine 可以尝试切换 WineHQ\n并且取消勾选运行器主页面菜单栏“程序”=>“设置Wine”取消勾选“屏蔽 Wine 默认 Mono 和 Gecko 安装器”\n然后尝试在菜单栏的“Wine”=>“在指定 Wine、容器安装组件”=>“在指定 Wine、容器安装 Gecko”来安装 Gecko")
return
QtWidgets.QMessageBox.critical(logWindow, "错误", "无法修复该问题")
def Show(lists):
global questionMap
nmodel = QtGui.QStandardItemModel(window)
disbledButton = False
print(lists)
if not len(lists):
nmodel.appendRow(QtGui.QStandardItem(f"√ 无法分析到错误"))
disbledButton = True
for i in lists:
if i[0] == 0:
nmodel.appendRow(QtGui.QStandardItem(f"√ 无法分析到错误"))
disbledButton = True
break
if i[0] == 1:
nmodel.appendRow(QtGui.QStandardItem(f"× 无法调用 Dll{i[1]}"))
if i[0] == 2:
nmodel.appendRow(QtGui.QStandardItem(f"× 尝试用 Mono 运行非 .net 应用 {i[1]}"))
if i[0] == 3:
nmodel.appendRow(QtGui.QStandardItem(f" 无法加载 Gecko是被禁用或未安装"))
if i[0] == 4:
nmodel.appendRow(QtGui.QStandardItem(f"× 无法更新 Wine 容器版本,是否还有 Wine 程序运行?"))
questionMap = lists[:]
repairButton.setDisabled(disbledButton)
questionList.setModel(nmodel)
class LogThreading(QtCore.QThread):
done = QtCore.pyqtSignal(list)
def __init__(self):
super().__init__()
def run(self):
global logText
repairList = []
logText = returnText.toPlainText()
print(logText.splitlines())
for i in logText.splitlines():
print(i)
checkingText = i.lower()
if "err:module:import_dll Library".lower() in checkingText:
# Lose Dll
repairList.append([1, i[i.index("Library") + 8: i.index("(")].strip()])
continue
if "err:module:fixup_imports_ilonly".lower() in checkingText:
# Lose Dll
repairList.append([1, i[i.index("_ilonly") + 8: i.index("not")].strip()])
continue
if "Cannot open assembly".lower() in checkingText and ": File does not contain a valid CIL image.".lower() in checkingText:
# Mono
repairList.append([2, i.replace(": File does not contain a valid CIL image.", "").replace("Cannot open assembly", "").strip()[1: -1]])
if "Could not load wine-gecko. HTML rendering will be disabled.".lower() in checkingText and "Could not find Wine Gecko. HTML rendering will be disabled.".lower() in checkingText:
# Disbled Gecko
repairList.append([3, ""])
if "Your wineserver binary was not upgraded correctly".lower() in checkingText:
repairList.append([4, ""])
self.done.emit(repairList)
def DisableButton(things):
button_r_6.setDisabled(things)
button1.setDisabled(things)
@@ -165,9 +272,9 @@ class Runexebutton_threading(QtCore.QThread):
else:
option += "WINEDEBUG=FIXME,ERR,WARN,TRACE,Message "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -226,7 +333,25 @@ StartupNotify=true''')
# 写入不进去就别写入了,当什么事情都没发生就行
traceback.print_exc()
DisableButton(False)
class Temp:
webWindow = None
def OpenUrl(url):
print(url.url())
# 判断是否可以使用小窗打开
if not bad:
Temp.webWindow = QtWidgets.QMainWindow()
web = QtWebEngineWidgets.QWebEngineView()
web.setUrl(url)
Temp.webWindow.setWindowTitle("浏览页面")
Temp.webWindow.setCentralWidget(web)
Temp.webWindow.setWindowIcon(QtGui.QIcon(iconPath))
Temp.webWindow.show()
return
webbrowser.open_new_tab(url.url())
#QtCore.QUrl().url()
# 显示“关于这个程序”窗口
def about_this_program()->"显示“关于这个程序”窗口":
@@ -240,7 +365,12 @@ def about_this_program()->"显示“关于这个程序”窗口":
messageLayout = QtWidgets.QGridLayout()
messageLayout.addWidget(QtWidgets.QLabel(f"<img width=256 src='{iconPath}'>"), 0, 0, 1, 1, QtCore.Qt.AlignTop)
aboutInfo = QtWidgets.QTextBrowser(messageWidget)
aboutInfo.setFocusPolicy(QtCore.Qt.NoFocus)
#aboutInfo.copyAvailable.connect(lambda: print("b"))
aboutInfo.anchorClicked.connect(OpenUrl)
aboutInfo.setOpenLinks(False)
aboutInfo.setHtml(about)
aboutInfo.setOpenExternalLinks(False)
messageLayout.addWidget(aboutInfo, 0, 1, 1, 1)
ok = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "确定"))
ok.clicked.connect(QT.message.close)
@@ -288,13 +418,13 @@ def make_desktop_on_launcher():
else:
option += "WINEDEBUG=FIXME,ERR,WARN,TRACE,Message "
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
return
os.remove(f"{programPath}/dlls-arm.7z")
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
value = ""
if e2.currentText()[:2].upper() == "C:":
@@ -348,9 +478,9 @@ def make_desktop_on_desktop():
else:
wineBottonPath = e1.currentText()
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -438,6 +568,50 @@ def InstallWine():
def InstallWineOnDeepin23():
threading.Thread(target=OpenTerminal, args=[f"'{programPath}/InstallWineOnDeepin23.py'"]).start()
class DllWindow():
def ShowWindow():
global dllMessage
global dllInfoMap
global textInfo
global dllName
dllMessage = QtWidgets.QWidget()
dllLayout = QtWidgets.QGridLayout()
try:
dllInfoMap["check"]
except:
try:
with open(f"{programPath}/CheckDLL/lists.json", "r") as file:
dllInfoMap = json.loads(file.read())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(dllMessage, "错误", traceback.format_exc())
# UI
dllName = QtWidgets.QLineEdit()
dllButton = QtWidgets.QPushButton("查询")
textInfo = QtWidgets.QTextBrowser()
dllButton.clicked.connect(DllWindow.Find)
dllLayout.addWidget(QtWidgets.QLabel("Dll 名称:"), 0, 0)
dllLayout.addWidget(dllName, 0, 1)
dllLayout.addWidget(dllButton, 0, 2)
dllLayout.addWidget(textInfo, 1, 0, 1, 3)
dllMessage.setWindowTitle(f"{title}——查询 Dll")
dllMessage.setLayout(dllLayout)
dllMessage.resize(int(dllMessage.frameGeometry().width() * 1.2), int(dllMessage.frameGeometry().height() * 1.1))
dllMessage.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
dllMessage.show()
def Find():
dllNameText = dllName.text().strip().lower()
if dllNameText[-4:] != ".dll":
dllNameText += ".dll"
try:
textInfo.setText(dllInfoMap[dllNameText])
except:
textInfo.setText(f"未查询到有关 Dll '{dllNameText}' 有关的内容")
def InstallWineOnDeepin23Alpha():
threading.Thread(target=OpenTerminal, args=[f"'{programPath}/InstallWineOnDeepin23Alpha.py'"]).start()
def InstallWineHQ():
threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQ.sh"]).start()
@@ -456,6 +630,31 @@ def OpenWineFontPath():
QtWidgets.QMessageBox.information(widget, "提示", QtCore.QCoreApplication.translate("U", "如果安装字体?只需要把字体文件复制到此字体目录\n按下“OK”按钮可以打开字体目录"))
os.system("xdg-open \"" + wineBottonPath.replace("\'", "\\\'") + "/drive_c/windows/Fonts\"")
def GetLoseDll():
if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"]
else:
wineBottonPath = e1.currentText()
option = ""
if setting["MonoGeckoInstaller"]:
option += f"WINEDLLOVERRIDES=\"mscoree,mshtml=\" "
if setting["Architecture"] != "Auto":
option += f"WINEARCH={setting['Architecture']} "
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
os.system(f"'{programPath}/deepin-wine-runner-create-botton.py' '{wineBottonPath}'")
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
return
os.remove(f"{programPath}/dlls-arm.7z")
threading.Thread(target=os.system, args=[f"python3 '{programPath}/CheckDLL/main.py' '{e2.currentText()}' '{wineBottonPath}' '{wine[o1.currentText()]}'" + setting["WineOption"]]).start()
class RunWineProgramThread(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
showHistory = QtCore.pyqtSignal(str)
@@ -478,11 +677,11 @@ class RunWineProgramThread(QtCore.QThread):
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
os.system(f"'{programPath}/deepin-wine-runner-create-botton.py' '{wineBottonPath}'")
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -519,7 +718,7 @@ runProgram = None
def RunWineProgram(wineProgram, history = False, Disbled = True):
global runProgram
DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 UOS exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and not o1.currentText() in untipsWine:
DisableButton(False)
return
@@ -544,9 +743,9 @@ class RunWinetricksThread(QtCore.QThread):
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -575,11 +774,11 @@ runWinetricks = None
def RunWinetricks():
global runWinetricks
DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 UOS exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and not o1.currentText() in untipsWine:
DisableButton(False)
return
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -1591,6 +1790,39 @@ class ValueCheck():
def ChangePath():
e1.setCurrentText(f'{setting["DefultBotton"]}/{os.path.splitext(os.path.basename(e2.currentText()))[0]}')
def UploadLog():
if QtWidgets.QMessageBox.question(window, "提示", "您确定要上传吗?上传内容将不会公开,将用于加强日志分析功能") == QtWidgets.QMessageBox.Yes:
text = QtWidgets.QInputDialog.getMultiLineText(window, "输入内容", "输入描述信息")
try:
returnList = requests.post(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0OjMwMjUwL2xvZw==").decode("utf-8"), {
"Log": returnText.toPlainText(),
"Wine": wine[o1.currentText()],
"Tips": text
}).json
if returnList["ExitCode"] == 0:
QtWidgets.QMessageBox.information(window, "提示", "上传成功!")
else:
print(returnList)
QtWidgets.QMessageBox.critical(window, "错误", "上传失败!")
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", "上传失败!")
def SaveLog():
path = QtWidgets.QFileDialog.getSaveFileName(window, "保存日志", get_home(), "txt文件(*.txt);;html 文件(*.html);;所有文件(*.*))")
if not path[1]:
return
print(path)
try:
with open(path[0], "w") as file:
if path[1] == "html 文件(*.html)":
file.write(returnText.toHtml())
else:
file.write(returnText.toPlainText())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
###########################
# 加载配置
###########################
@@ -1636,11 +1868,14 @@ if not os.path.exists(get_home() + "/.config/deepin-wine-runner/WineSetting.json
# 设置变量
###########################
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
# 如果要添加其他 wine在字典添加其名称和执行路径
# 如果要添加其他 wine使用安装更多 Wine 功能
#############
# 检测 Wine
#############
try:
wine = {
"基于 UOS box86 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ",
"基于 exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
"基于 UOS exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
"deepin-wine6 stable": "deepin-wine6-stable",
"deepin-wine5 stable": "deepin-wine5-stable",
"spark-wine7-devel": "spark-wine7-devel",
@@ -1652,11 +1887,13 @@ try:
"mono这不是 wine但可以实现初步调用运行 .net 应用)": "mono",
"基于 linglong 的 deepin-wine6-stable不推荐": f"ll-cli run '' --exec '/bin/deepin-wine6-stable'"
}
untipsWine = ["基于 UOS box86 的 deepin-wine6-stable", "基于 exagear 的 deepin-wine6-stable", "基于 linglong 的 deepin-wine6-stable不推荐"]
untipsWine = ["基于 exagear 的 deepin-wine6-stable", "基于 UOS box86 的 deepin-wine6-stable", "基于 UOS exagear 的 deepin-wine6-stable", "基于 linglong 的 deepin-wine6-stable不推荐"]
canUseWine = []
if os.path.exists("/opt/deepin-box86/box86"):
if os.path.exists("/opt/deepin-box86/box86") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 UOS box86 的 deepin-wine6-stable")
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 UOS exagear 的 deepin-wine6-stable")
if not os.system("which exagear") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 exagear 的 deepin-wine6-stable")
for i in wine.keys():
if not os.system(f"which '{wine[i]}'"):
@@ -1688,8 +1925,11 @@ try:
if os.system("which box64") == 0:
name = "基于 box64 的 "
value = f"box64 "
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
if os.system("which exagear") == 0:
name = "基于 exagear 的 "
value = f"exagear "
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
name = "基于 UOS exagear 的 "
value = f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- "
except:
pass
@@ -1756,65 +1996,103 @@ def getFileFolderSize(fileOrFolderPath):
def get_now_lang()->"获取当前语言":
return os.getenv('LANG')
def GetVersion():
global about
global programVersionType
# 目前分为几个版本(在 control 文件区分):
# 星火版本:~spark
# 商店版本:~uos
# 编译版本:无版本号
# Gitee/Github……正常版本
programVersionTypeLnk = {
"spark": "星火应用商店版本",
"uos": "deepin/UOS 应用商店版本<带签名>"
}
programVersionType = "从源码运行的版本"
try:
if not os.path.exists("/var/lib/dpkg/status"):
print("无 dpkg结束")
file = open("/var/lib/dpkg/status", "r")
fileName = file.read().splitlines()
package = False
for i in range(0, len(fileName)):
if fileName[i] == "Package: spark-deepin-wine-runner-52":
programVersionType = "吾爱专版"
window.setWindowTitle(f"{title} 吾爱专版")
break
if fileName[i] == "Package: spark-deepin-wine-runner":
package = True
continue
if not package:
continue
if fileName[i].replace(" ", "").replace("\n", "") == "":
# 空行,不再考虑
break
# 搜索版本
# 又需要修复多线程导致的控件问题
def AddDockerMenu():
global dockers
global openFileManager
global openTerminal
dockers = menu.addMenu("该 Docker 基础管理")
openFileManager = QtWidgets.QAction("打开默认文件管理器")
openTerminal = QtWidgets.QAction("打开默认终端")
openFileManager.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"xdg-open '{get_home()}'"]).start())
openTerminal.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"x-terminal-emulator"]).start())
dockers.addAction(openFileManager)
dockers.addAction(openTerminal)
class GetVersionThread(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
def __init__(self) -> None:
super().__init__()
def run(self):
global about
global window
global programVersionType
# 目前分为几个版本(在 control 文件区分):
# 星火版本:~spark
# 商店版本:~uos
# 编译版本:无版本号
# Gitee/Github……正常版本
# Docker 版本
programVersionTypeLnk = {
"spark": "星火应用商店版本",
"uos": "deepin/UOS 应用商店版本<带签名>"
}
# 直接判断是不是 Docker 版本
if os.path.exists(f"{programPath}/docker.txt") or os.path.exists("/.dockerenv"):
programVersionType = "Docker 内置版本"
window.setWindowTitle(f"{title} Docker 内置版本)")
self.signal.emit("")
else:
programVersionType = "从源码运行的版本"
try:
if fileName[i][:fileName[i].index(":")] == "Version":
version = fileName[i][fileName[i].index(":") + 1:].strip()
print(f"版本号为:{version}")
if not "-" in version:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
if not os.path.exists("/var/lib/dpkg/status"):
print("无 dpkg结束")
file = open("/var/lib/dpkg/status", "r")
fileName = file.read().splitlines()
package = False
for i in range(0, len(fileName)):
if fileName[i] == "Package: spark-deepin-wine-runner-docker":
programVersionType = "Docker 内置版本"
window.setWindowTitle(f"{title} Docker 内置版本)")
#AddDockerMenu()
self.signal.emit("")
break
programVersionType = version[version.index("-") + 1:]
print(programVersionType)
if "-" in programVersionType:
# 考虑到如 2.1.0-2-spark 的情况
programVersionType = programVersionType[programVersionType.index("-") + 1:]
if fileName[i] == "Package: spark-deepin-wine-runner-52":
programVersionType = "吾爱专版"
window.setWindowTitle(f"{title}(吾爱专版)")
break
if fileName[i] == "Package: spark-deepin-wine-runner":
package = True
continue
if not package:
continue
if fileName[i].replace(" ", "").replace("\n", "") == "":
# 空行,不再考虑
break
# 搜索版本号
try:
programVersionType = programVersionTypeLnk[programVersionType]
if fileName[i][:fileName[i].index(":")] == "Version":
version = fileName[i][fileName[i].index(":") + 1:].strip()
print(f"版本号为:{version}")
if not "-" in version:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
programVersionType = version[version.index("-") + 1:]
print(programVersionType)
if "-" in programVersionType:
# 考虑到如 2.1.0-2-spark 的情况
programVersionType = programVersionType[programVersionType.index("-") + 1:]
try:
programVersionType = programVersionTypeLnk[programVersionType]
except:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
except:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
traceback.print_exc()
continue
except:
traceback.print_exc()
continue
except:
print("无法读取,当没有处理")
print(programVersionType)
about = about.replace("@VersionForType@", programVersionType)
# 获取程序体积
about = about.replace("@programSize@", str(int(getFileFolderSize(programPath) / 1024 / 1024)))
print("无法读取,当没有处理")
print(programVersionType)
about = about.replace("@VersionForType@", programVersionType)
# 获取程序体积
about = about.replace("@programSize@", str(int(getFileFolderSize(programPath) / 1024 / 1024)))
def GetVersion():
global runVersion
runVersion = GetVersionThread()
runVersion.signal.connect(AddDockerMenu)
runVersion.start()
programVersionType = ""
print(wine)
@@ -1828,43 +2106,48 @@ version = information["Version"]
goodRunSystem = "常见 Linux 发行版"
thankText = ""
tips = '''<h4>提示:</h4>
1、使用终端运行该程序可以看到 wine 以及程序本身的提示和报错;
2、wine 32 位和 64 位的容器互不兼容;
3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装)
1、使用终端运行该程序可以看到 wine 以及程序本身的提示和报错
2、wine 32 位和 64 位的容器互不兼容
3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装)
4、本程序支持带参数运行 wine 程序(之前版本也可以),只需要按以下格式即可:
exe路径\' 参数 \'
即可(单引号需要输入)
5、wine 容器如果没有指定,则会默认为 ~/.wine
6、如果可执行文件比较大的话会出现点击“获取该程序运行情况”出现假死的情况因为正在后台读取 SHA1只需要等一下即可读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关
7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用)
8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序
即可(单引号需要输入)
5、wine 容器如果没有指定,则会默认为 ~/.wine
6、如果可执行文件比较大的话会出现点击“获取该程序运行情况”出现假死的情况因为正在后台读取 SHA1只需要等一下即可读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关
7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用)
8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序
9、在使用 linglong 包的 Wine 应用时,必须安装至少一个 linglong 的使用 Wine 软件包才会出现该选项,
而程序识别到的 Wine 是按 linglong 的使用 Wine 软件包名的字母排序第一个的 Wine且生成的容器不在用户目录下而是在容器的用户目录下~/.deepinwine、/tmp、桌面、下载、文档等被映射的目录除外
同理需要运行的 EXE 也必须在被映射的目录内
同理需要运行的 EXE 也必须在被映射的目录内
10、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及
<b>千万不要中断后不删除源的情况下 apt upgrade </b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine会自动执行恢复操作即可
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
updateThingsString = '''※1、不基于生态适配活动脚本的打包器支持只生成制作容器的 7z 包
※2、两个打包器的容器自动删除脚本添加 kill.sh
※3、Wine 运行器支持杀死对应容器进程
※4、容器自动配置脚本和 Wine 安装器支持切换源
5、非生态适配脚本打包器追加运行参数改为 --uri XXX 而非直接 XXX
6、两个打包器新增星火应用商店投稿入口
7、优化开启 Windows 虚拟机功能在未安装 VirtualBox 时的提示
8、Reg Shot 版本从 1.8.3-beta1V5 升级到 1.9.0
9、Geek Uninstaller 版本从 1.5.1.161 升级到 1.5.1.163
10、容器自动配置脚本添加 installother 命令、修复返回值传递问题
11、不显示 pip 安装库的提示信息(因为不是很核心的库)
12、非基于生态适配活动脚本的打包器默认勾选卸载该 deb 后自动删除容器、使用统信活动容器清理脚本、使用星火 wine helper
13、优化文案
updateThingsString = '''※1、容器自动配置脚本 GUI 查看介绍使用 QWebEngineWidget支持图片非强制依赖只做推荐
※2、不基于生态适配活动脚本打包器跟进 arm 架构 2022年11月11日的 Wine 微信打包方式;
※3、支持多图标的程序打包;
※4、修复了安装更多 Wine 换源换了个寂寞的问题;
5、修复安装更多 Wine 重新安装后列表丢失的问题;
6、新增了对 Deepin 23 Alpha 优化的 Wine 安装器;
7、新增 Dll 名称查询功能,可以查询对应 Dll 的作用;
8、支持静态获取可执行文件可以调用的 Dll 并提供解决方案;
9、支持移除指定的 .desktop 快捷方式;
10、新增日志分析功能以及导出、上传日志功能;
11、修复了不基于生态适配活动脚本打包器在选择 arm 打包架构下容器自动删除脚本取消勾选无用的问题;
12、优化文案、新增友链;
13、提供了部分组件的测试功能。
'''
for i in information["Thank"]:
thankText += f"{i}\n"
updateTime = "2022年11月06日"
about = f'''<h1>关于</h1>
<p>一个能让Linux用户更加方便运行Windows应用的程序内置了对wine图形化的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等</p>
<p>同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具可以做到只需要用户下载系统镜像并点击安装即可无需顾及虚拟机安装、创建、虚拟机的分区等等</p>
updateTime = "2022年11月25日"
about = f'''<style>
a:link, a:active {{
text-decoration: none;
}}
</style>
<h1>关于</h1>
<p>Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。</p>
<p>它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机的安装、创建、分区等操作。</p>
<p>本程序依照 GPLV3 协议开源</p>
<pre>
@@ -1892,10 +2175,12 @@ Qt 版本:{QtCore.qVersion()}
<h1>友谊链接</h1>
<pre>星火应用商店https://spark-app.store/
Deepin 官网https://www.deepin.org
Deepin 论坛https://bbs.deepin.org</pre>
Deepin 论坛https://bbs.deepin.org
非官方论坛https://gfdgdxi.flarum.cloud/</pre>
<hr>
<h1>©2020~{time.strftime("%Y")} gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
title = "Wine 运行器 {}".format(version)
#<h1>©2020~{time.strftime("%Y")} <a href="https://gitee.com/gfdgd-xi">gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
updateThings = "{} 更新内容:\n{}\n更新时间{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
try:
threading.Thread(target=requests.get, args=[parse.unquote(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9vcGVuL0luc3RhbGwucGhw").decode("utf-8")) + "?Version=" + version]).start()
@@ -1908,6 +2193,13 @@ iconListUnBuild = [
["TIM", "wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe"]
]
iconList = [
["cmd", "cmd"],
["cmd", "cmd.exe"],
["cmd", "wineBottonPath/drive_c/windows/system32/cmd.exe"],
["Internet Explorer", "iexplore"],
["Internet Explorer", "iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe"],
["微信", "wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe"],
["微信", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe"],
["UltraISO", "wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe"],
@@ -1915,7 +2207,11 @@ iconList = [
["迅雷", "wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["迅雷", "wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE"]
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE"],
["腾讯会议", "wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe"],
["腾讯会议", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe"]
]
for i in iconListUnBuild:
iconList.append(i)
@@ -1934,8 +2230,6 @@ if not get_now_lang() == "zh_CN.UTF-8":
app.installTranslator(trans)
window = QtWidgets.QMainWindow()
window.setWindowTitle(title)
# 异同步获取信息
threading.Thread(target=GetVersion).start()
widget = QtWidgets.QWidget()
window.setCentralWidget(widget)
mainLayout = QtWidgets.QGridLayout()
@@ -2022,6 +2316,10 @@ programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 7, 1, 1)
getProgramStatus = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "获取该程序运行情况"))
getProgramStatus.clicked.connect(ProgramRunStatusShow.ShowWindow)
programManager.addWidget(getProgramStatus, 1, 8, 1, 1)
getLoseDll = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "检测静态下程序缺少DLL"))
getLoseDll.clicked.connect(GetLoseDll)
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 9, 1, 1)
programManager.addWidget(getLoseDll, 1, 10, 1, 1)
programManager.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum), 1, 9, 1, 1)
programManager.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "WINE配置")), 2, 0, 1, 1)
wineConfig = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "配置容器"))
@@ -2085,7 +2383,8 @@ mainLayout.addWidget(programRun, 2, 1, 1, 1)
menu = window.menuBar()
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序(&P)"))
p1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(&I)"))
installWineOnDeepin23 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23)"))
installWineOnDeepin23 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23 Preview)"))
installWineOnDeepin23Alpha = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23 Alpha)"))
installWineHQ = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 WineHQ"))
installMoreWine = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装更多 Wine"))
p2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "设置程序(&S)"))
@@ -2095,6 +2394,7 @@ cleanProgramUnuse = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "
p4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "退出程序(&E)"))
programmenu.addAction(p1)
programmenu.addAction(installWineOnDeepin23)
programmenu.addAction(installWineOnDeepin23Alpha)
programmenu.addAction(installWineHQ)
programmenu.addAction(installMoreWine)
programmenu.addSeparator()
@@ -2107,6 +2407,7 @@ programmenu.addSeparator()
programmenu.addAction(p4)
p1.triggered.connect(InstallWine)
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
installWineOnDeepin23Alpha.triggered.connect(InstallWineOnDeepin23Alpha)
installWineHQ.triggered.connect(InstallWineHQ)
installMoreWine.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/wine/installwine'"]).start())
p2.triggered.connect(ProgramSetting.ShowWindow)
@@ -2127,6 +2428,7 @@ w6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用官方 Wine
getDllOnInternet = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从互联网获取DLL"))
w7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从镜像获取DLL只支持官方安装镜像DOS内核如 Windows 95 暂不支持)"))
updateGeek = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从 Geek Uninstaller 官网升级程序"))
deletePartIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除部分 Wine 程序在启动器的快捷方式"))
deleteDesktopIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除所有 Wine 程序在启动器的快捷方式"))
wineOption.addAction(w1)
wineOption.addAction(w2)
@@ -2183,22 +2485,34 @@ wineOption.addAction(w10)
wineOption.addSeparator()
wineOption.addAction(w11)
wineOption.addSeparator()
wm3 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用 opengl"))
optionCheckDemo = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "组件功能测试"))
vbDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 Visual Basic 6 程序"))
netDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 .net framework 程序"))
netIEDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 .net framework + Internet Explorer 程序"))
optionCheckDemo.addAction(vbDemo)
optionCheckDemo.addAction(netDemo)
optionCheckDemo.addAction(netIEDemo)
wineOption.addSeparator()
wm3 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用功能"))
ed1 = wm3.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用 opengl"))
wm3_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "开启 opengl"))
wm3_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁用 opengl"))
wm3.addAction(wm3_1)
wm3.addAction(wm3_2)
wm4 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 winbind"))
ed1.addAction(wm3_1)
ed1.addAction(wm3_2)
ed2 = wm3.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 winbind"))
wm4_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 winbind"))
wm4_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 winbind"))
wm4.addAction(wm4_1)
wm4.addAction(wm4_2)
dxvkMenu = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 DXVK"))
ed2.addAction(wm4_1)
ed2.addAction(wm4_2)
dxvkMenu = wm3.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 DXVK"))
installDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 DXVK"))
uninstallDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 DXVK"))
dxvkMenu.addAction(installDxvk)
dxvkMenu.addAction(uninstallDxvk)
wineOption.addSeparator()
wineOption.addAction(deletePartIcon)
wineOption.addAction(deleteDesktopIcon)
wineOption.addSeparator()
settingWineBottleCreateLink = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "允许/禁止指定 wine 容器生成快捷方式"))
enabledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "允许指定 wine 容器生成快捷方式"))
disbledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁止指定 wine 容器生成快捷方式"))
@@ -2255,6 +2569,7 @@ wm4_1.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-ter
wm4_2.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-terminal -C 'pkexec apt purge winbind -y' --keep-open"))
installDxvk.triggered.connect(InstallDXVK)
uninstallDxvk.triggered.connect(UninstallDXVK)
deletePartIcon.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"python3 '{programPath}/BuildDesktop.py'"]).start())
deleteDesktopIcon.triggered.connect(DeleteDesktopIcon)
enabledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f"))
disbledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f"))
@@ -2265,6 +2580,9 @@ disbledHttpProxy.triggered.connect(DisbledHttpProxy)
saveDllOver.triggered.connect(SaveDllList)
addDllOver.triggered.connect(AddReg)
editDllOver.triggered.connect(lambda: RunWineProgram("winecfg"))
vbDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/vb.exe"))
netDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/net.exe"))
netIEDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/netandie.exe"))
virtualMachine = menu.addMenu(QtCore.QCoreApplication.translate("U", "虚拟机(&V)"))
v1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用 Virtualbox 虚拟机运行 Windows 应用"))
@@ -2300,6 +2618,20 @@ s1.triggered.connect(lambda: webbrowser.open_new_tab("https://ata.360.net/"))
s2.triggered.connect(lambda: webbrowser.open_new_tab("https://s.threatbook.cn/"))
s3.triggered.connect(lambda: webbrowser.open_new_tab("https://www.virustotal.com/"))
log = menu.addMenu(QtCore.QCoreApplication.translate("U", "日志(&L)"))
getDllInfo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "查询 Dll"))
checkLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "日志分析"))
saveLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "另存为日志"))
uploadLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "上传日志"))
getDllInfo.triggered.connect(DllWindow.ShowWindow)
checkLogText.triggered.connect(LogChecking.ShowWindow)
saveLogText.triggered.connect(SaveLog)
uploadLogText.triggered.connect(UploadLog)
log.addAction(getDllInfo)
log.addAction(checkLogText)
log.addAction(saveLogText)
log.addAction(uploadLogText)
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助(&H)"))
runStatusWebSize = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "查询程序在 Wine 的运行情况"))
h1 = help.addMenu(QtCore.QCoreApplication.translate("U", "程序官网"))
@@ -2363,7 +2695,9 @@ h6.triggered.connect(WineRunnerBugUpload)
h7.triggered.connect(about_this_program)
h8.triggered.connect(lambda: QtWidgets.QMessageBox.aboutQt(widget))
hm1_1.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/uengine-runner"))
# 异同步获取信息
#threading.Thread(target=GetVersion).start()
GetVersion()
# 窗口设置
window.resize(widget.frameGeometry().width() * 2, widget.frameGeometry().height())
widget.setLayout(mainLayout)

View File

@@ -1,6 +1,9 @@
{
"Version": "2.4.1",
"Version": "2.5.0",
"Thank": [
"感谢 @牦牛儿苗 进行了龙芯 3a5000 平台的测试与移植",
"感谢 @雁舞白沙 优化了程序文案",
"感谢 @豪 的程序测试和制作的非官方论坛 https://gfdgdxi.flarum.cloud/",
"感谢 @185******67 反馈的 2.4.0 无法打开 Visual Basic 组件安装工具的问题",
"感谢 @shenmo 提供的 在打包器的 postrm 脚本添加 kill.sh、追加参数改为 --uri xxxxxxx、独立生成容器 7z 文件的功能",
"感谢 @a2035274 @虚幻的早晨 https://bbs.deepin.org/post/238301",

View File

@@ -115,8 +115,13 @@ def ReadLocalInformation():
ui.localWineList.setModel(nmodel)
file.close()
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
print("新建空列表")
try:
with open(f"{programPath}/winelist.json", "w") as file:
file.write("[]")
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
def InstallOtherWine():
path = QtWidgets.QFileDialog.getOpenFileName(window, "选择 Wine", os.getenv("~"), "wine(wine);;wine64(wine64);;全部文件(*.*)")
@@ -147,14 +152,17 @@ def InstallOtherWine():
def ChangeSources():
global urlSources
global internetWineSource
sources = [ui.gitlinkAction, ui.ipv6Action, ui.localAction]
for i in range(0, len(sources)):
if sources[i].isChecked():
urlSources = internetWineSourceList[i]
internetWineSource = internetWineSourceList[i]
# 读取信息
ReadLocalInformation()
ReadInternetInformation()
break
print(urlSources)
# 下面内容均翻译自 C++ 版本
def ReadInternetInformation():

View File

@@ -0,0 +1,616 @@
import os
import sys
import json
import time
import random
import xpinyin
import traceback
import subprocess
import PyQt5.QtGui as QtGui
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
def ShowText(text: str):
if text.replace(" ", "").replace("\n", "") == "":
return
logText.append(text.replace("\n", ""))
def ErrorMessage(text: str):
QtWidgets.QMessageBox.critical(window, "错误", text)
def InformationMessage(text: str):
QtWidgets.QMessageBox.information(window, "提示", text)
questionChoose = False
questionStatus = False
def QuestionMessage(text: str):
global questionChoose
global questionStatus
# 清零
questionChoose = False
questionStatus = False
if QtWidgets.QMessageBox.question(window, "提示", text) == QtWidgets.QMessageBox.Yes:
questionChoose = True
print(questionChoose)
questionStatus = True
return
questionChoose = False
questionStatus = True
def DisbledAndEnabledAll(choose: bool):
exePath.setDisabled(choose)
browserExeButton.setDisabled(choose)
buildButton.setDisabled(choose)
# 获取用户主目录
def get_home():
return os.path.expanduser('~')
def get_desktop_path():
try:
for line in open(get_home() + "/.config/user-dirs.dirs"): # 以行来读取配置文件
desktop_index = line.find("XDG_DESKTOP_DIR=\"") # 寻找是否有对应项,有返回 0没有返回 -1
if desktop_index != -1: # 如果有对应项
break # 结束循环
if desktop_index == -1: # 如果是提前结束,值一定≠-1如果是没有提前结束值一定-1
return -1
else:
get = line[17:-2] # 截取桌面目录路径
get_index = get.find("$HOME") # 寻找是否有对应的项,需要替换内容
if get != -1: # 如果有
get = get.replace("$HOME", get_home()) # 则把其替换为用户目录(~)
return get # 返回目录
except:
traceback.print_exc()
return get_home()
def CleanPressCompleteDownloadState(option):
global pressCompleteDownload
pressCompleteDownload = False
installCmpleteButton.setEnabled(True)
# 读取 lnk 文件
def GetLnkDesktop(path):
lnkList = []
for i in os.listdir(path):
filePath = f"{path}/{i}"
if os.path.islink(filePath):
# 忽略 link 链接
continue
if os.path.isdir(filePath):
lists = GetLnkDesktop(filePath)
for k in lists:
lnkList.append(k)
continue
if os.path.isfile(filePath) and os.path.splitext(filePath)[1] == ".lnk":
with open(filePath, "rb") as file:
while True:
things = file.readline().lower()
if things == b"":
break
print(things[1: -2].split("\x00".encode("gbk")))
for k in things[1: -2].split("\x00".encode("gbk")):
if "c:".encode("gbk") in k:
print(k.decode("gbk"))
lnkList.append([filePath, k.decode("gbk")])
return lnkList
def ReplaceText(string: str, lists: list):
for i in lists:
string = string.replace(i[0], i[1])
return string
control = '''Package: @@@Package@@@
Version: @@@Version@@@
Architecture: i386
Maintainer: @@@Maintainer@@@
Depends: @@@Depends@@@
Section: non-free/otherosfs
Priority: optional
Multi-Arch: foreign
Installed-Size: @@@Installed-Size@@@
Description: @@@Description@@@
'''
info = f'''{{
"appid": "@@@Package@@@",
"name": "@@@Name@@@",
"version": "@@@Version@@@",
"arch": ["i386"],
"permissions": {{
"autostart": false,
"notification": false,
"trayicon": true,
"clipboard": true,
"account": false,
"bluetooth": false,
"camera": true,
"audio_record": true,
"installed_apps": false
}}
}}'''
postrm = f"""#!/bin/bash
if [ "$1" = "remove" ] || [ "$1" = "purge" ];then
echo "清理卸载残留"
CONTAINER_NAME="@@@Package@@@"
if [ -z $CONTAINER_NAME ];then
echo "W: 没有指定容器,跳过清理容器。请手动前往 ~/.deepinwine/ 下删除"
exit
fi
/opt/deepinwine/tools/kill.sh $CONTAINER_NAME
###这里注意如果没写CONTAINER_NAME,会把QQ杀了
for username in $(ls /home)
do
echo /home/$username
if [ -d /home/$username/.deepinwine/$CONTAINER_NAME ]
then
rm -rf /home/$username/.deepinwine/$CONTAINER_NAME
fi
done
else
echo "非卸载,跳过清理"
fi"""
runsh = f'''#!/bin/sh
# Copyright (C) 2016 Deepin, Inc.
#
# Author: Li LongYu <lilongyu@linuxdeepin.com>
# Peng Hao <penghao@linuxdeepin.com>
#
#
# Copyright (C) 2022 The Spark Project
#
#
# Modifier shenmo <shenmo@spark-app.store>
#
#
#
#######################函数段。下文调用的额外功能会在此处声明
Get_Dist_Name()
{{
if grep -Eqii "Deepin" /etc/issue || grep -Eq "Deepin" /etc/*-release; then
DISTRO='Deepin'
elif grep -Eqi "UnionTech" /etc/issue || grep -Eq "UnionTech" /etc/*-release; then
DISTRO='UniontechOS'
else
DISTRO='OtherOS'
fi
}}
####获得发行版名称
#########################预设值段
version_gt() {{ test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }}
####用于比较版本?未实装
BOTTLENAME="@@@Package@@@"
APPVER="@@@Version@@@"
EXEC_PATH="@@@EXEC_PATH@@@"
##### 软件在wine中的启动路径
START_SHELL_PATH="/opt/deepinwine/tools/spark_run_v4.sh"
export MIME_TYPE=""
#####没什么用
export DEB_PACKAGE_NAME="@@@Package@@@"
####这里写包名才能在启动的时候正确找到files.7z,似乎也和杀残留进程有关
export APPRUN_CMD="deepin-wine6-stable"
#####wine启动指令建议
EXPORT_ENVS=""
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"
DISABLE_ATTACH_FILE_DIALOG=""
##默认为空。若为1则不使用系统自带的文件选择而是使用wine的
##对于deepin/UOS大部分的应用都不需要使用wine的如果有需求比如wine应用选择的限定种类文件系统的文管不支持
##请填1。
##注意因为非DDE的环境不确定所以默认会在非Deepin/UOS发行版上禁用这个功能。如果你确认在适配的发行版上可以正常启动请注释或者删除下面这段
##############<<<<<<<<<禁用文件选择工具开始
Get_Dist_Name
#此功能实现参见结尾函数段
if [ "$DISTRO" != "Deepin" ] && [ "$DISTRO" != "UniontechOS" ];then
DISABLE_ATTACH_FILE_DIALOG="1"
echo "非deepin/UOS默认关闭系统自带的文件选择工具使用Wine的"
echo "如果你想改变这个行为,请到/opt/apps/$DEB_PACKAGE_NAME/files/$0处修改"
echo "To打包者如果你要打开自带请注意在适配的发行版上进行测试"
echo "To用户打包者没有打开这个功能这证明启用这个功能可能造成运行问题。如果你要修改这个行为请确保你有一定的动手能力"
fi
##############>>>>>>>>>禁用文件选择工具结束
##############<<<<<<<<<屏蔽mono和gecko安装器开始
##默认屏蔽mono和gecko安装器
#if [ "$APPRUN_CMD" = "spark-wine7-devel" ];then
#export WINEDLLOVERRIDES="mscoree,mshtml="
#echo "为了降低打包体积默认关闭gecko和momo如有需要注释此行仅对spark-wine7-devel有效"
#fi
##############>>>>>>>>>屏蔽mono和gecko安装器结束
#########################执行段
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
export ATTACH_FILE_DIALOG=1
fi
if [ -n "$EXPORT_ENVS" ];then
export $EXPORT_ENVS
fi
if [ -n "$EXEC_PATH" ];then
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
else
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
fi
else
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
fi'''
desktopFile = f'''#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
X-Created-By=@@@Maintainer@@@
Icon=@@@Icon@@@
Exec="/opt/apps/@@@Package@@@/files/run.sh"
Name=@@@Name@@@
Comment=@@@Description@@@
MimeType=
GenericName=@@@Package@@@
Terminal=false
StartupNotify=false'''
def getFileFolderSize(fileOrFolderPath):
"""get size for file or folder"""
totalSize = 0
if not os.path.exists(fileOrFolderPath):
return totalSize
if os.path.isfile(fileOrFolderPath):
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
return totalSize
if os.path.isdir(fileOrFolderPath):
with os.scandir(fileOrFolderPath) as dirEntryList:
for curSubEntry in dirEntryList:
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
if curSubEntry.is_dir():
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
totalSize += curSubFolderSize
elif curSubEntry.is_file():
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
totalSize += curSubFileSize
return totalSize
def WriteTxt(path, things):
with open(path, "w") as file:
file.write(things)
def ReadTxt(path):
things = ""
with open(path, "r") as file:
things = file.read()
return things
def GetEXEVersion(exePath):
versionPath = f"/tmp/wine-runner-exe-version-{random.randint(0, 1000)}.txt"
if os.system(f"deepin-wine6-stable '{programPath}/GetEXEVersion.exe' '{exePath}' '{versionPath}'"):
return "1.0.0"
try:
exeVersion = ReadTxt(versionPath).replace("\n", "")
if exeVersion.replace(" ", "") == "":
return "1.0.0"
return exeVersion
except:
traceback.print_exc()
return "1.0.0"
def StrToByteToStr(text: str):
lists = text.split("\\x")
for i in range(len(lists)):
lists[i]
return text
def UnUseUpperCharPath(path: str):
pathList = []
lowerList = path.split("/")[1:]
for i in lowerList:
path = "/" + "/".join(pathList)
before = len(pathList)
for k in os.listdir(path):
if k.lower() == i.lower():
pathList.append(k)
break
end = len(pathList)
if before == end:
raise OSError("文件路径不存在")
return "/" + "/".join(pathList)
class RunThread(QtCore.QThread):
showLogText = QtCore.pyqtSignal(str)
error = QtCore.pyqtSignal(str)
info = QtCore.pyqtSignal(str)
question = QtCore.pyqtSignal(str)
disbledAll = QtCore.pyqtSignal(bool)
cleanPressState = QtCore.pyqtSignal(bool)
def RunCommand(self, command):
res = subprocess.Popen([command], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while res.poll() is None:
try:
text = res.stdout.readline().decode("utf8")
except:
text = ""
self.showLogText.emit(text)
print(text, end="")
def __init__(self) -> None:
super().__init__()
def GetEXEVersion(self, exePath):
versionPath = f"/tmp/wine-runner-exe-version-{random.randint(0, 1000)}.txt"
self.RunCommand(f"deepin-wine6-stable '{programPath}/GetEXEVersion.exe' '{exePath}' '{versionPath}'")
try:
exeVersion = ReadTxt(versionPath).replace("\n", "")
if exeVersion.replace(" ", "") == "":
return "1.0.0"
return exeVersion
except:
traceback.print_exc()
return "1.0.0"
def QuestionMsg(self, text):
global questionStatus
questionStatus = False
self.question.emit(text)
while not questionStatus:
time.sleep(0.1)
print(questionChoose)
return questionChoose
def run(self):
try:
self.disbledAll.emit(True)
if not self.QuestionMsg("在此过程中,需要回答一系列的问题以进行打包,点击确定继续"):
self.disbledAll.emit(False)
return
bottlePath = f"/tmp/deepin-wine-runner-bottle-{random.randint(0, 10000)}"
# 清空容器以保证能正常使用
if os.path.exists(bottlePath):
self.RunCommand(f"rm -rfv '{bottlePath}'")
############# 后面将全部调用 deepin wine6 stable 进行操作
exeName = os.path.basename(exePath.text())
# 暂定
debPackageName = "spark-" + xpinyin.Pinyin().get_pinyin(os.path.splitext(exeName)[0].replace(" ", "")).lower().replace("--", "-").replace(" ", "")
debPackageVersion = "1.0.0"
programIconPath = f"/opt/apps/{debPackageName}/entries/icons/hicolor/scalable/apps/{debPackageName}.png"
debMaintainer = os.getlogin()
debBuildPath = f"/tmp/deepin-wine-packager-builder-{debPackageName}-{random.randint(0, 1000)}"
bottlePackagePath = f"{debBuildPath}/opt/apps/{debPackageName}/files/files.7z"
desktopPath = get_desktop_path()
self.RunCommand(f"mkdir -pv '{debBuildPath}/DEBIAN'")
self.RunCommand(f"mkdir -pv '{debBuildPath}/opt/apps/{debPackageName}/files'")
self.RunCommand(f"mkdir -pv '{debBuildPath}/opt/apps/{debPackageName}/entries/applications'")
self.RunCommand(f"mkdir -pv '{debBuildPath}/opt/apps/{debPackageName}/entries/icons/hicolor/scalable/apps/'")
############## 运行 EXE
if self.QuestionMsg("请问此可执行文件是安装包还是绿色软件?是安装包请按 Yes绿色软件按 No"):
# 清空无益处的 lnk 文件
lnkPath = f"{bottlePath}/drive_c/ProgramData/Microsoft/Windows/Start Menu/Programs"
self.RunCommand(f"rm -rfv '{lnkPath}'")
self.RunCommand(f"mkdir -pv '{bottlePath}'")
self.RunCommand(f"chmod 777 -Rv '{bottlePath}'")
# 禁止生成 .desktop 文件
self.RunCommand(f"WINEPREFIX='{bottlePath}' deepin-wine6-stable 'reg' 'add' 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f'")
# 安装包
global pressCompleteDownload
pressCompleteDownload = False
installCmpleteButton.setEnabled(True)
self.RunCommand(f"WINEPREFIX='{bottlePath}' deepin-wine6-stable '{exePath.text()}' &") # 非堵塞线程
# 安装锁,锁解除后才可继续
while not pressCompleteDownload:
time.sleep(0.1)
# 杀死容器内应用
self.RunCommand(f"'{programPath}/kill.sh' '{os.path.basename(bottlePath)}'")
# 识别 lnk
lnkList = GetLnkDesktop(lnkPath)
if len(lnkList) <= 0:
self.error.emit("无法识别到任何 lnk 快捷方式")
self.disbledAll.emit(False)
return
# 选择最优 lnk
secondChooseList = []
for k in lnkList:
lnkPath = k[0].lower()
if "卸载" in lnkPath or "uninstall" in lnkPath or "update" in lnkPath or "网页" in lnkPath or "websize" in lnkPath:
continue
secondChooseList.append(k)
if len(secondChooseList) <= 0:
secondChooseList = lnkList
rightLnk = secondChooseList[0]
miniLenge = len(rightLnk[1])
for k in secondChooseList:
# 择优选择路径最短一项
if len(k[1]) < miniLenge:
rightLnk = k
miniLenge = len(rightLnk[1])
folderExePath = os.path.dirname(rightLnk[1].replace("\\", "/").replace("c:/", bottlePath))
exePathInBottle = rightLnk[1]
exeName = os.path.splitext(os.path.basename(folderExePath))[0]
exePathInSystem = rightLnk[1].replace("\\", "/").replace("c:", f"{bottlePath}/drive_c")
debPackageVersion = self.GetEXEVersion(exePathInBottle)
cpNow = False
for i in iconList:
path = i.replace("wineBottonPath", bottlePath).lower()
if path == exePathInSystem.lower():
self.RunCommand(f"cp -rv '{UnUseUpperCharPath(path)}' '{debBuildPath}/{programIconPath}'")
cpNow = True
break
if not cpNow:
self.RunCommand(f"'{programPath}/wrestool' '{UnUseUpperCharPath(exePathInSystem)}' -x -t 14 > '{debBuildPath}/{programIconPath}'")
else:
#/home/gfdgd_xi/Desktop/新建文件夹1/BeCyIconGrabber.exe
# 绿色软件
self.RunCommand(f"mkdir -pv '{bottlePath}'")
self.RunCommand(f"chmod 777 -Rv '{bottlePath}'")
self.RunCommand(f"WINEPREFIX='{bottlePath}' deepin-wine6-stable exit")
folderExePath = os.path.dirname(exePath.text())
exePathInBottle = f"c:/Program Files/{os.path.basename(folderExePath)}/{exeName}"
exeName = os.path.splitext(os.path.basename(os.path.basename(exePath.text())))[0]
self.RunCommand(f"'{programPath}/wrestool' '{exePathInBottle}' -x -t 14 > '{debBuildPath}/{programIconPath}'")
debPackageVersion = self.GetEXEVersion(exePathInBottle)
# 拷贝文件到容器
self.RunCommand(f"cp -rv '{folderExePath}' '{bottlePath}/drive_c/Program Files'")
debDescription = f"{exeName} By Deepin Wine 6 Stable And Build By Wine Runner"
debDepends = "deepin-wine6-stable, spark-dwine-helper | store.spark-app.spark-dwine-helper, fonts-wqy-microhei, fonts-wqy-zenhei"
############ 处理容器
# 对用户目录进行处理
os.chdir(bottlePath)
self.RunCommand("sed -i \"s#$USER#@current_user@#\" ./*.reg")
os.chdir(f"{bottlePath}/drive_c/users")
# 如果缩放文件 scale.txt 存在,需要移除以便用户自行调节缩放设置
if os.path.exists(f"{bottlePath}/scale.txt"):
self.RunCommand(f"rm -rfv '{bottlePath}/scale.txt'")
# 删除因为脚本失误导致用户目录嵌套(如果存在)
if os.path.exists(f"{bottlePath}/drive_c/users/@current_user@/@current_user@"):
self.RunCommand(f"rm -rfv '{bottlePath}/drive_c/users/@current_user@/@current_user@'")
self.RunCommand(f"mv -fv '{os.getlogin()}' @current_user@")
self.RunCommand(f"rm -fv '{bottlePath}/drive_c/users/@current_user@/我的'*")
self.RunCommand(f"rm -fv '{bottlePath}/drive_c/users/@current_user@/My '*")
self.RunCommand(f"rm -fv '{bottlePath}/drive_c/users/@current_user@/Desktop'")
self.RunCommand(f"rm -fv '{bottlePath}/drive_c/users/@current_user@/Downloads'")
self.RunCommand(f"rm -fv '{bottlePath}/drive_c/users/@current_user@/Templates'")
########### 打包容器
self.RunCommand(f"7z a '{bottlePackagePath}' '{bottlePath}/'*")
########### 生成文件内容
buildProgramSize = getFileFolderSize(debBuildPath)
replaceMap = [
["@@@Package@@@", debPackageName],
["@@@Version@@@", debPackageVersion],
["@@@Maintainer@@@", debMaintainer],
["@@@Depends@@@", debDepends],
["@@@Description@@@", debDescription],
["@@@Installed-Size@@@", str(buildProgramSize)],
["@@@Name@@@", exeName],
["@@@EXEC_PATH@@@", exePathInBottle],
["@@@Icon@@@", programIconPath]
]
debControl = ReplaceText(control, replaceMap)
debPostrm = ReplaceText(postrm, replaceMap)
debInfo = ReplaceText(info, replaceMap)
debRunSh = ReplaceText(runsh, replaceMap)
debDesktop = ReplaceText(desktopFile, replaceMap)
########### 写入文件
WriteTxt(f"{debBuildPath}/opt/apps/{debPackageName}/entries/applications/{debPackageName}.desktop", debDesktop)
WriteTxt(f"{debBuildPath}/opt/apps/{debPackageName}/files/run.sh", debRunSh)
WriteTxt(f"{debBuildPath}/opt/apps/{debPackageName}/info", debInfo)
WriteTxt(f"{debBuildPath}/DEBIAN/control", debControl)
WriteTxt(f"{debBuildPath}/DEBIAN/postrm", debPostrm)
########### 赋值权限
self.RunCommand(f"chmod -Rv 644 '{debBuildPath}/opt/apps/{debPackageName}/info'")
self.RunCommand(f"chmod -Rv 0755 '{debBuildPath}/DEBIAN'")
self.RunCommand(f"chmod -Rv 755 '{debBuildPath}/opt/apps/{debPackageName}/files/'*.sh")
self.RunCommand(f"chmod -Rv 755 '{debBuildPath}/opt/apps/{debPackageName}/entries/applications/'*.desktop")
########### 打包 deb
print(debPackageVersion)
self.RunCommand(f"dpkg -b '{debBuildPath}' '{desktopPath}/{debPackageName}_{debPackageVersion}_i386.deb'")
self.info.emit("打包完成!")
self.disbledAll.emit(False)
########### 移除临时文件
#self.RunCommand(f"rm -rfv '{debBuildPath}' > /dev/null")
#self.RunCommand(f"rm -rfv '{bottlePath}' > /dev/null")
except:
#self.RunCommand(f"rm -rfv '{debBuildPath}' > /dev/null")
#self.RunCommand(f"rm -rfv '{bottlePath}' > /dev/null")
# 若打包出现任何错误
traceback.print_exc()
self.error.emit(f"打包错误,详细详细如下:{traceback.format_exc()}")
self.showLogText.emit(traceback.format_exc())
self.disbledAll.emit(False)
#/home/gfdgd_xi/Downloads/XPcalc.exe
def RunBuildThread():
global buildThread
buildThread = RunThread()
buildThread.showLogText.connect(ShowText)
buildThread.error.connect(ErrorMessage)
buildThread.info.connect(InformationMessage)
buildThread.question.connect(QuestionMessage)
buildThread.disbledAll.connect(DisbledAndEnabledAll)
buildThread.cleanPressState.connect(CleanPressCompleteDownloadState)
buildThread.start()
pressCompleteDownload = False
def PressCompleteDownload():
global pressCompleteDownload
pressCompleteDownload = True
installCmpleteButton.setDisabled(True)
def BrowserExe():
filePath = QtWidgets.QFileDialog.getOpenFileName(window, "选择 exe", get_home(), "可执行文件(*.exe);;所有文件(*.*)")
if filePath[0] != "" or filePath[0] != None:
exePath.setText(filePath[0])
if __name__ == "__main__":
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
information = json.loads(ReadTxt(f"{programPath}/information.json"))
iconListUnBuild = json.loads(ReadTxt(f"{programPath}/IconList.json"))[0]
iconList = json.loads(ReadTxt(f"{programPath}/IconList.json"))[1]
for i in iconListUnBuild:
iconList.append(i)
app = QtWidgets.QApplication(sys.argv)
version = information["Version"]
window = QtWidgets.QMainWindow()
widget = QtWidgets.QWidget()
layout = QtWidgets.QGridLayout()
exePath = QtWidgets.QLineEdit()
browserExeButton = QtWidgets.QPushButton("浏览……")
logText = QtWidgets.QTextBrowser()
logText.setStyleSheet("""
background-color: black;
color: white;
""")
controlLayout = QtWidgets.QHBoxLayout()
buildButton = QtWidgets.QPushButton("现在打包……")
installCmpleteButton = QtWidgets.QPushButton("安装程序执行完成")
browserExeButton.clicked.connect(BrowserExe)
buildButton.clicked.connect(RunBuildThread)
installCmpleteButton.clicked.connect(PressCompleteDownload)
installCmpleteButton.setDisabled(True)
controlLayout.addWidget(buildButton)
controlLayout.addWidget(installCmpleteButton)
layout.addWidget(QtWidgets.QLabel("选择 EXE"), 0, 0)
layout.addWidget(exePath, 0, 1)
layout.addWidget(browserExeButton, 0, 2)
layout.addLayout(controlLayout, 1, 1)
layout.addWidget(logText, 2, 0, 1, 3)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.setWindowTitle(f"Wine 运行器 {version}——简易打包器")
window.show()
sys.exit(app.exec_())
# ./wrestool ../Desktop/deep-wine-runner/geek.exe -x -t 14 > a.png
# Flag
# 1、不想打包了强制终止功能
# 2、版本号自动识别
# 3、包名自动识别

View File

@@ -62,6 +62,8 @@ def disabled_or_NORMAL_all(choose):
button4.setDisabled(choose)
button5.setDisabled(choose)
option1_text.setDisabled(choose)
desktopIconTab.setDisabled(choose)
build7z.setDisabled(choose)
chooseWineHelperValue.setDisabled(choose)
wineVersion.setDisabled(choose)
debArch.setDisabled(choose)
@@ -201,9 +203,36 @@ def Build7zButton_Clicked():
QT.thread.start()
def make_deb(build=False):
global bottleNameLock
clean_textbox1_things()
disabled_or_NORMAL_all(False)
if e1_text.text() == "" or e2_text.text() == "" or e3_text.text() == "" or e4_text.text() == "" or e5_text.text() == "" or e6_text.text() == "" or e7_text.text() == "" or e8_text.text() == "" or e12_text.text() == "":
badComplete = False
# 规范检测
if e1_text.text().lower() != e1_text.text():
if QtWidgets.QMessageBox.warning(window, "提示", f"包名 {e1_text.text()} 似乎不符合规范,可能会导致打包后的包无法投稿到应用商店,是否继续?\n可参考 deb 安装包打包标准", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) == QtWidgets.QMessageBox.No:
disabled_or_NORMAL_all(True)
label13_text_change("用户已取消")
return
for i in range(len(iconUiList)):
if os.path.splitext(iconUiList[i][4].text())[1] == ".ico":
if QtWidgets.QMessageBox.warning(window, "提示", f"图标 {iconUiList[i][4].text()} 似乎为 ico 格式,可能会导致打包后的程序在启动器的图标无法正常显示,是否继续?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) == QtWidgets.QMessageBox.No:
disabled_or_NORMAL_all(True)
label13_text_change("用户已取消")
return
if os.path.exists(iconUiList[i][0].text()) and not "c:" in iconUiList[i][0].text().lower():
if not e6_text.text() in iconUiList[i][0].text():
if QtWidgets.QMessageBox.warning(window, "提示", f"路径 {iconUiList[i][0].text()} 似乎不符合规范且不位于容器内,可能会导致打包后的程序无法运行,是否继续?\n可参考 Windows 下的文件路径", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) == QtWidgets.QMessageBox.No:
disabled_or_NORMAL_all(True)
label13_text_change("用户已取消")
return
if QtWidgets.QMessageBox.warning(window, "提示", f"路径 {iconUiList[i][0].text()} 似乎不符合规范,可能会导致打包后的程序无法运行,是否继续?\n可参考 Windows 下的文件路径", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) == QtWidgets.QMessageBox.No:
disabled_or_NORMAL_all(True)
label13_text_change("用户已取消")
return
for k in [0, 3]:
if iconUiList[i][k].text().replace(" ", "") == "":
badComplete = True
if badComplete or e1_text.text() == "" or e2_text.text() == "" or e3_text.text() == "" or e4_text.text() == "" or e5_text.text() == "" or e6_text.text() == "" or e7_text.text() == "" or e8_text.text() == "" or e12_text.text() == "":
QtWidgets.QMessageBox.critical(widget, "错误", "必填信息没有填写完整,无法继续构建 deb 包")
disabled_or_NORMAL_all(True)
label13_text_change("必填信息没有填写完整,无法继续构建 deb 包")
@@ -230,6 +259,7 @@ def make_deb(build=False):
QT.thread.errorMsg.connect(ErrorMsg)
QT.thread.infoMsg.connect(InfoMsg)
QT.thread.disabled_or_NORMAL_all.connect(disabled_or_NORMAL_all)
bottleNameLock = False
QT.thread.start()
#thread.start()
@@ -243,7 +273,6 @@ def ReplaceText(string: str, lists: list):
return string
class make_deb_threading(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
label = QtCore.pyqtSignal(str)
getSavePath = QtCore.pyqtSignal(str)
@@ -308,7 +337,7 @@ class make_deb_threading(QtCore.QThread):
im = Image.open(e9_text.text())
imms = im.format.lower()
except: # 未知(就直接设置为 svg 后缀)
imms = ".svg"
imms = "svg"
a = "/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(e1_text.text(), e1_text.text(), imms)
if not os.path.exists(e9_text.text()):
self.errorMsg.emit("图标的路径填写错误,无法进行构建 deb 包")
@@ -549,91 +578,25 @@ fi"""
# ARM64 通用 wine 打包配置文件
"Wine": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ",
"Architecture": "arm64",
"Depends": "zenity, com.deepin-wine6-stable.deepin(>=6.0deepin31), deepin-wine-exagear-images(>=10deepin4), com.deepin-box86.deepin(>=0.2.3deepin21), deepin-elf-verify (>= 1.1.1-1), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk",
"postinst": f"""#!/bin/bash
"Depends": "com.deepin-wine6-stable.deepin (>= 6.0deepin31), com.wine-helper.deepin (>= 0.0.8), com.deepin-box86.deepin (>= 0.2.6deepin3), deepin-elf-verify (>= 1.1.1-1)",
"postinst": f"""#!/bin/sh
DEB_PATH=/opt/apps/{e1_text.text()}
if [ -f $DEB_PATH/files/wined3d.dll.so ] && [ -d "/usr/lib/nvidia" ];then
mv $DEB_PATH/files/wined3d.dll.so $DEB_PATH/files/dlls
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -i
fi
KUNPENG="0x48"
cpu_vendor=$(lscpu | grep Vendor | awk '{{print $3}}')
KIRIN=`cat /proc/cpuinfo | grep Kirin`
if [ ! -z "$KIRIN" ];then
mv $DEB_PATH/files/*.so $DEB_PATH/files/dlls
fi
## check if the cpu support arm32 instruction or not, 126 means unsupported
/opt/deepin-box86/box86 -v
CHECK_ARM32=$?
IMAGE_VER=10deepin3
IMAGE_DIR=/opt/deepin-wine-exagear-images/debian-buster
ARCHIVE_FILE=files.7z
download_image() {{
pushd /var/cache/apt/archives >/dev/null
apt download deepin-wine-exagear-images
dpkg -x deepin-wine-exagear-images*.deb /
rm deepin-wine-exagear-images*.deb
echo $IMAGE_VER > $IMAGE_DIR/VERSION
popd >/dev/null
}}
move_box86_runsh() {{
if [[ -f $DEB_PATH/files/run_with_exagear.sh ]]; then
echo 单图标
mv $DEB_PATH/files/run_with_exagear.sh $DEB_PATH/files/run.sh
else
echo 多图标
for shell_path in $(ls $DEB_PATH/files/*_with_exagear.sh)
do
name=${{shell_path#$DEB_PATH/files/}}
name=${{name%_with_exagear.sh}}
mv $shell_path $DEB_PATH/files/$name.sh
done
if [ -n "$ACTIVEX_NAME" ]; then
if [ ! -d "/usr/lib/mozilla/plugins" ];then
mkdir -p /usr/lib/mozilla/plugins
fi
}}
move_exagear_runsh() {{
if [[ -f $DEB_PATH/files/run_with_exagear.sh ]]; then
echo 单图标
mv $DEB_PATH/files/run_with_box86.sh $DEB_PATH/files/run.sh
else
echo 多图标
for shell_path in $(ls $DEB_PATH/files/*_with_box86.sh)
do
name=${{shell_path#$DEB_PATH/files/}}
name=${{name%_with_box86.sh}}
mv $shell_path $DEB_PATH/files/$name.sh
done
fi
}}
if [[ "$KUNPENG" == "$cpu_vendor" ]] || [[ $CHECK_ARM32 != 0 ]];then
echo "use exagear as emulator..."
if [ ! -d /opt/exagear/bin ];then
mkdir /opt/exagear/bin -p
fi
if [ ! -e /opt/exagear/bin/ubt_x32a64_al ];then
cp $DEB_PATH/files/exa/ubt_x32a64_al /opt/exagear/bin/ubt_x32a64_al
fi
if [ ! -e /opt/exagear/bin/ubt_x64a64_al ];then
cp $DEB_PATH/files/exa/ubt_x64a64_al /opt/exagear/bin/ubt_x64a64_al
fi
move_exagear_runsh
mv $DEB_PATH/files/exa/wineserver /opt/deepin-wine6-stable/bin/wineserver
else
echo "use box86 as emulator..."
move_box86_runsh
mv $DEB_PATH/files/run_with_box86.sh $DEB_PATH/files/run.sh
cp /usr/lib/pipelight/libpipelight.so /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
""",
# 因为 arm 不依赖 helper所以要自带 kill.sh
"kill.sh": """#!/bin/bash
@@ -915,7 +878,37 @@ else
kill_app $APP_NAME
fi
""",
"postrm": f"""#!/bin/bash
"postrm": [f"""#!/bin/sh
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -r
fi
if [ -n "$ACTIVEX_NAME" ]; then
rm /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
""", f"""#!/bin/sh
ACTIVEX_NAME=""
if [ -f "/opt/apps/{e1_text.text()}/files/install.sh" ];then
/opt/apps/{e1_text.text()}/files/install.sh -r
fi
if [ -n "$ACTIVEX_NAME" ]; then
rm /usr/lib/mozilla/plugins/libpipelight-${{ACTIVEX_NAME}}.so
glib-compile-schemas /usr/share/glib-2.0/schemas/
fi
# Make sure the script returns 0
true
# Clean Botton
if [ "$1" = "remove" ] || [ "$1" = "purge" ];then
echo "清理卸载残留"
@@ -940,224 +933,95 @@ for username in $(ls /home)
else
echo "非卸载,跳过清理"
fi
""",
"run_with_box86.sh": f"""#!/bin/bash
DEB_PATH="/opt/apps/{e1_text.text()}"
WINE="/opt/deepin-wine6-stable/bin/wine"
WINESERVER="/opt/deepin-wine6-stable/bin/wineserver"
EMU="/opt/deepin-box86/box86"
EMU_ARGS=
EXE="@@@EXEC_PATH@@@"
NEW_VERSION="{e2_text.text()}"
BOTTLE="$HOME/.deepinwine/{e5_text.text()}"
"""][int(rmBash.isChecked())],
if command -v zenity >/dev/null 2>&1; then
progressbar()
{{
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close --no-cancel ||
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close
}}
# 又又又改
"run.sh": f"""#!/bin/bash
# Copyright (C) 2016 Deepin, Inc.
#
# Author: Li LongYu <lilongyu@linuxdeepin.com>
# Peng Hao <penghao@linuxdeepin.com>
version_gt() {{ test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }}
ACTIVEX_NAME=""
BOTTLENAME="@@@BOTTLENAME@@@"
APPVER="@@@APPVER@@@"
EXEC_PATH="@@@EXEC_PATH@@@"
START_SHELL_PATH="{['/opt/deepinwine/tools/run_v4.sh', '/opt/deepinwine/tools/spark_run_v4.sh'][chooseWineHelperValue.isChecked()]}"
export MIME_TYPE=""
export MIME_EXEC=""
export DEB_PACKAGE_NAME="{e1_text.text()}"
export APPRUN_CMD="deepin-wine6-stable"
DISABLE_ATTACH_FILE_DIALOG=""
EXPORT_ENVS=""
EXEC_NAME="@@@EXEC_NAME@@@"
INSTALL_SETUP=""
export BOX86_EMU_CMD="/opt/deepin-box86/stable/box86"
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
if [ -z "$APPRUN_CMD" ];then
export APPRUN_CMD="/opt/deepin-wine6-stable/bin/wine"
fi
if [ -f "$APPRUN_CMD" ];then
wine_path=$(dirname $APPRUN_CMD)
wine_path=$(realpath "$wine_path/../")
export WINEDLLPATH=$wine_path/lib:$wine_path/lib64
else
progressbar()
{{
cat -
}}
export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
fi
reconstruct_bottle_symlink() {{
export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"
if [ -L $BOTTLE/drive_c/users/$USER/Desktop ]; then
rm -f $BOTTLE/drive_c/users/$USER/Desktop
ln -s $HOME/Desktop $BOTTLE/drive_c/users/$USER/Desktop
fi
if [ -L $BOTTLE/drive_c/users/$USER/Documents ]; then
rm -f $BOTTLE/drive_c/users/$USER/Documents
ln -s $HOME/Documents $BOTTLE/drive_c/users/$USER/Documents
fi
if [ -L $BOTTLE/drive_c/users/$USER/Downloads ]; then
rm -f $BOTTLE/drive_c/users/$USER/Downloads
ln -s $HOME/Downloads $BOTTLE/drive_c/users/$USER/Downloads
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Documents" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Documents"
ln -s $HOME/Documents "$BOTTLE/drive_c/users/$USER/My Documents"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Music" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Music"
ln -s $HOME/Music "$BOTTLE/drive_c/users/$USER/My Music"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Videos" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Videos"
ln -s $HOME/Videos "$BOTTLE/drive_c/users/$USER/My Videos"
fi
_SetRegistryValue()
{{
env WINEPREFIX="$BOTTLEPATH" $APPRUN_CMD reg ADD "$1" /v "$2" /t "$3" /d "$4" /f
}}
if [ ! -d "$HOME/.deepinwine" ];then
mkdir -p "$HOME/.deepinwine"
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
export ATTACH_FILE_DIALOG=1
fi
if [ -f $BOTTLE/VERSION ];then
old_version=`cat $BOTTLE/VERSION`
if [ "$old_version" != "$NEW_VERSION" ];then
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINESERVER -k
rm -rf $BOTTLE
if [ -n "$EXPORT_ENVS" ];then
export $EXPORT_ENVS
fi
# 打包安装程序的情况
if [[ -z "$EXEC_PATH" ]] && [[ -n "$INSTALL_SETUP" ]];then
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" -c
BOTTLEPATH="$HOME/.deepinwine/$BOTTLENAME"
EXEC_PATH=$(find "$BOTTLEPATH" -name $EXEC_NAME | head -1)
if [ -z "$EXEC_PATH" ];then
_SetRegistryValue "HKCU\\Software\\Wine\\DllOverrides" winemenubuilder.exe REG_SZ
WINEPREFIX="$BOTTLEPATH" $APPRUN_CMD "$ARCHIVE_FILE_DIR/$INSTALL_SETUP"
EXEC_PATH=$(find "$BOTTLEPATH" -name $EXEC_NAME | head -1)
cp "$ARCHIVE_FILE_DIR/setup.md5sum" "$BOTTLEPATH"
fi
if [ -z "$EXEC_PATH" ];then
echo "安装失败退出"
exit
fi
fi
if [ ! -d $BOTTLE ];then
7z x "$DEB_PATH/files/files.7z" -o"$BOTTLE" -aoa
mv "$BOTTLE/drive_c/users/@current_user@" "$BOTTLE/drive_c/users/$USER"
sed -i "s#@current_user@#$USER#" $BOTTLE/*.reg
reconstruct_bottle_symlink
echo $NEW_VERSION > $BOTTLE/VERSION
fi
export WINEPREDLL=$DEB_PATH/files/dlls
export ATTACH_FILE_DIALOG=1
export WINEDLLPATH=/opt/deepin-wine6-stable/lib
ulimit -s 8192
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" & #--disable-gpu &
""",
"run_with_exagear.sh": f"""#!/bin/bash
DEB_PATH="/opt/apps/{e1_text.text()}"
WINE="/opt/deepin-wine6-stable/bin/wine"
WINESERVER="/opt/deepin-wine6-stable/bin/wineserver"
EMU="/opt/exagear/bin/ubt_x64a64_al"
IMAGE_PATH=$HOME/.deepinwine/debian-buster
EMU_ARGS="--path-prefix $IMAGE_PATH --utmp-paths-list $IMAGE_PATH/.exagear/utmp-list --vpaths-list $IMAGE_PATH/.exagear/vpaths-list --opaths-list $IMAGE_PATH/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- "
EXE="@@@EXEC_PATH@@@"
NEW_VERSION="{e2_text.text()}"
BOTTLE="$HOME/.deepinwine/{e5_text.text()}"
IMG_ARCHIVE_DIR=/opt/deepin-wine-exagear-images/debian-buster
IMAGE_VER="10deepin4"
LOCALTIME=`readlink -f /etc/localtime`
export LC_ALL=$LANG
export XMODIFIERS=$XMODIFIERS
export DESKTOP_SESSION=deepin
if command -v zenity >/dev/null 2>&1; then
progressbar()
{{
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close --no-cancel ||
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close
}}
if [ -n "$EXEC_PATH" ];then
if [ -z "${{EXEC_PATH##*.lnk*}}" ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "C:/windows/command/start.exe" "/Unix" "$EXEC_PATH" "$@"
elif [ -z "${{EXEC_PATH##*.bat}}" ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "cmd" -f /c "$EXEC_PATH" "${{@:2}}"
else
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
fi
elif [ -n "$ACTIVEX_NAME" ] && [ $# -gt 1 ];then
$START_SHELL_PATH $BOTTLENAME $APPVER "$1" -f "${{@:2}}"
else
progressbar()
{{
cat -
}}
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
fi
reconstruct_bottle_symlink() {{
if [ -L $BOTTLE/drive_c/users/$USER/Desktop ]; then
rm -f $BOTTLE/drive_c/users/$USER/Desktop
ln -s $HOME/Desktop $BOTTLE/drive_c/users/$USER/Desktop
fi
if [ -L $BOTTLE/drive_c/users/$USER/Documents ]; then
rm -f $BOTTLE/drive_c/users/$USER/Documents
ln -s $HOME/Documents $BOTTLE/drive_c/users/$USER/Documents
fi
if [ -L $BOTTLE/drive_c/users/$USER/Downloads ]; then
rm -f $BOTTLE/drive_c/users/$USER/Downloads
ln -s $HOME/Downloads $BOTTLE/drive_c/users/$USER/Downloads
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Documents" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Documents"
ln -s $HOME/Documents "$BOTTLE/drive_c/users/$USER/My Documents"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Music" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Music"
ln -s $HOME/Music "$BOTTLE/drive_c/users/$USER/My Music"
fi
if [ -L "$BOTTLE/drive_c/users/$USER/My Videos" ]; then
rm -f "$BOTTLE/drive_c/users/$USER/My Videos"
ln -s $HOME/Videos "$BOTTLE/drive_c/users/$USER/My Videos"
fi
}}
extract_image() {{
progpid=$(ps -ef | grep "zenity --progress --title=${{BOTTLE}}" | grep -v grep)
if [ -n "$progpid" ];then
echo "one $BOTTLE app is extracting runtime images too."
exit 0
fi
7z x "$IMG_ARCHIVE_DIR/files.7z" -o"$IMAGE_PATH" -aoa | progressbar "$BOTTLE" "正在释放环境..."
cp /usr/bin/dde-file-manager $IMAGE_PATH/usr/bin/dde-file-manager
rm $IMAGE_PATH/etc/localtime
ln -s $LOCALTIME $IMAGE_PATH/etc/localtime
if [ -d $IMAGE_PATH/etc/resolvconf ];then
rm $IMAGE_PATH/etc/resolvconf
fi
if [ -d /etc/resolvconf ];then
cp /etc/resolvconf $IMAGE_PATH/etc/ -rf
fi
cp /etc/resolv.conf $IMAGE_PATH/etc/
cp /etc/hosts $IMAGE_PATH/etc/
echo $IMAGE_VER > $IMAGE_PATH/VERSION
}}
get_link_err_nums() {{
find $IMAGE_PATH -type l ! -exec test -e {{}} \; -print | wc -l
}}
if [ ! -d "$HOME/.deepinwine" ];then
mkdir -p "$HOME/.deepinwine"
fi
if [ -f $BOTTLE/VERSION ];then
old_version=`cat $BOTTLE/VERSION`
if [ "$old_version" != "$NEW_VERSION" ];then
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINESERVER -k
rm -rf $BOTTLE
fi
fi
if [ ! -d $BOTTLE ];then
7z x "$DEB_PATH/files/files.7z" -o"$BOTTLE" -aoa
mv "$BOTTLE/drive_c/users/@current_user@" "$BOTTLE/drive_c/users/$USER"
sed -i "s#@current_user@#$USER#" $BOTTLE/*.reg
reconstruct_bottle_symlink
echo $NEW_VERSION > $BOTTLE/VERSION
fi
## 解压文件
if [ ! -e $IMAGE_PATH/VERSION ];then
extract_image
fi
OLD_IMAGE_VER=`cat $IMAGE_PATH/VERSION`
if [ "$OLD_IMAGE_VER" != "$IMAGE_VER" ];then
extract_image
fi
echo "======$(get_link_err_nums)===="
if [ "$(get_link_err_nums)" -gt "120" ];then
extract_image
fi
## mount /data/ dir to geust
if [ -d $IMAGE_PATH ] && [ ! -d $IMAGE_PATH/data ];then
mkdir $IMAGE_PATH/data
cp $DEB_PATH/files/exa/vpaths-list $IMAGE_PATH/.exagear
fi
export WINEPREDLL=$DEB_PATH/files/dlls
export ATTACH_FILE_DIALOG=1
export WINEDLLPATH=/opt/deepin-wine6-stable/lib
WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" & #--disable-gpu &
""",
"info": f'''{{
"appid": "{e1_text.text()}",
@@ -1342,9 +1206,10 @@ fi
if not os.path.exists(f"{programPath}/dlls-arm"):
self.run_command(f"7z x \"{programPath}/dlls-arm.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/dlls-arm.7z")
if not os.path.exists(f"{programPath}/exa"):
self.run_command(f"7z x \"{programPath}/exa.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/exa.7z")
# 已废弃
#if not os.path.exists(f"{programPath}/exa"):
# self.run_command(f"7z x \"{programPath}/exa.7z\" -o\"{programPath}\"")
# os.remove(f"{programPath}/exa.7z")
if not os.path.exists(f"{programPath}/arm-package"):
self.run_command(f"7z x \"{programPath}/arm-package.7z\" -o\"{programPath}\"")
os.remove(f"{programPath}/arm-package.7z")
@@ -1405,12 +1270,18 @@ Description: {e3_text.text()}
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", e7_text.text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]]
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(e7_text.text().replace("\\", "/"))]
]
line = "\\"
if desktopIconTab.count() <= 1:
write_txt("{}/opt/apps/{}/entries/applications/{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text()), '#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nType=Application\nX-Created-By={}\nCategories={};\nIcon={}\nExec="/opt/apps/{}/files/run.sh" --uri {}\nName={}\nComment={}\nMimeType={}\nGenericName={}\nTerminal=false\nStartupNotify=false\n'.format(e4_text.text(), option1_text.currentText(), a, e1_text.text(), e15_text.text(), e8_text.text(), e3_text.text(), e10_text.text(), e1_text.text()))
else:
for i in range(len(iconUiList)):
if iconUiList[i][2].text().replace(" ", "") == "":
command = f"--uri {iconUiList[i][2].text()}"
else:
command = iconUiList[i][2].text()
write_txt("{}/opt/apps/{}/entries/applications/{}-{}.desktop".format(debPackagePath, e1_text.text(), e1_text.text(), os.path.splitext(os.path.basename(iconUiList[i][0].text().replace("\\", "/")))[0]), f'''#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
@@ -1418,7 +1289,7 @@ Type=Application
X-Created-By={e4_text.text()}
Categories={iconUiList[i][1].currentText()};
Icon={a[i]}
Exec="/opt/apps/{e1_text.text()}/files/run.sh" --uri {iconUiList[i][2].text()}
Exec="/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(iconUiList[i][0].text().replace(line, "/")))[0]}.sh" {command}
Name={iconUiList[i][3].text()}
Comment={e3_text.text()}
MimeType={e10_text.text()}
@@ -1427,7 +1298,7 @@ Terminal=false
StartupNotify=false
''')
# 要开始分类讨论了
if debArch.currentIndex() == 0:
if debArch.currentIndex() == 0 or debArch.currentIndex() == 1:
if desktopIconTab.count() <= 1:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run.sh", ReplaceText(debInformation[debArch.currentIndex()]["run.sh"], replaceMap))
else:
@@ -1437,11 +1308,12 @@ StartupNotify=false
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", i[0].text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]]
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(i[0].text().replace("\\", "/"))]
]
line = "\\"
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}.sh", ReplaceText(debInformation[debArch.currentIndex()]["run.sh"], replaceMap))
if debArch.currentIndex() == 1:
if debArch.currentIndex() == 1 and False:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/kill.sh", debInformation[debArch.currentIndex()]["kill.sh"])
if desktopIconTab.count() <= 1:
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/run_with_box86.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_box86.sh"], replaceMap))
@@ -1454,10 +1326,11 @@ StartupNotify=false
["@@@APPVER@@@", e2_text.text()],
["@@@EXEC_PATH@@@", i[0].text()],
["@@@DEB_PACKAGE_NAME@@@", e1_text.text()],
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]]
["@@@APPRUN_CMD@@@", wine[wineVersion.currentText()]],
["@@@EXEC_NAME@@@", os.path.basename(i[0].text().replace("\\", "/"))]
]
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_box86.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_box86.sh"], replaceMap))
write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_exagear.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_exagear.sh"], replaceMap))
#write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_box86.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_box86.sh"], replaceMap))
#write_txt(f"{debPackagePath}/opt/apps/{e1_text.text()}/files/{os.path.splitext(os.path.basename(i[0].text().replace(line, '/')))[0]}_with_exagear.sh", ReplaceText(debInformation[debArch.currentIndex()]["run_with_exagear.sh"], replaceMap))
write_txt("{}/opt/apps/{}/info".format(debPackagePath, e1_text.text()), debInformation[debArch.currentIndex()]["info"])
################
# 修改文件权限
@@ -1478,6 +1351,12 @@ StartupNotify=false
self.label.emit("正在构建 deb 包……")
self.run_command("bash -c 'dpkg -b \"{}\" \"{}\"'".format(debPackagePath, e12_text.text()))
################
# 删除临时文件
################
if not self.build:
self.label.emit("正在删除临时文件……")
self.run_command(f"rm -rfv '{debPackagePath}'")
################
# 完成构建
################
self.label.emit("完成构建!")
@@ -1548,13 +1427,15 @@ def ChangeArchCombobox():
if debArch.currentIndex() != 0:
option = False
chooseWineHelperValue.setEnabled(option)
if not option:
chooseWineHelperValue.setChecked(False)
wineVersion.setEnabled(option)
useInstallWineArch.setEnabled(option)
#rmBash.setEnabled(option)
if debArch.currentIndex() == 0:
ChangeWine()
else:
debDepends.setText("zenity, com.deepin-wine6-stable.deepin(>=6.0deepin31), deepin-wine-exagear-images(>=10deepin4), com.deepin-box86.deepin(>=0.2.3deepin21), deepin-elf-verify (>= 1.1.1-1), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk")
debDepends.setText("com.deepin-wine6-stable.deepin (>= 6.0deepin31), com.wine-helper.deepin (>= 0.0.8), com.deepin-box86.deepin (>= 0.2.6deepin3), deepin-elf-verify (>= 1.1.1-1)")
def InstallDeb():
os.system(f"xdg-open '{e12_text.text()}'")
@@ -1857,9 +1738,9 @@ def AddTab():
desktopIconTabLayout = QtWidgets.QGridLayout()
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填)")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数:")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填)")), 10, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标:")), 10, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
desktopIconTab.addTab(iconTab1, f"图标{desktopIconTab.count() + 1}")
desktopIconTabLayout.addWidget(e7_text, 6, 1, 1, 1)
@@ -1869,6 +1750,8 @@ def AddTab():
desktopIconTabLayout.addWidget(e9_text, 10, 1, 1, 1)
desktopIconTabLayout.addWidget(button2, 10, 2, 1, 1)
e7_text.textChanged.connect(ChangeTapTitle)
e7_text.setPlaceholderText("例如 c:/Program Files/Tencent/QQ/Bin/QQ.exe")
e9_text.setPlaceholderText("支持 png 和 svg 格式,不支持 ico 格式")
iconUiList.append([e7_text, option1_text, e15_text, e8_text, e9_text])
print(iconUiList)
@@ -1879,6 +1762,26 @@ def DelTab():
del iconUiList[desktopIconTab.currentIndex()]
desktopIconTab.removeTab(desktopIconTab.currentIndex())
def ChangeBottleName():
global bottleNameLock
global bottleNameChangeLock
e1_text.setText(e1_text.text().replace(" ", ""))
if bottleNameLock:
return
if os.path.basename(e6_text.text()) == ".wine" or e6_text.text() == "":
bottleNameChangeLock = True
e5_text.setText(e1_text.text())
return
bottleNameChangeLock = True
e5_text.setText(os.path.basename(e6_text.text().replace(" ", "")))
def LockBottleName():
global bottleNameLock
if bottleNameChangeLock:
return
bottleNameLock = True
bottleNameLock = False
###############
# 程序信息
###############
@@ -1972,14 +1875,17 @@ buildDebDir.clicked.connect(lambda: make_deb(True))
build7z.clicked.connect(Build7zButton_Clicked)
installDeb.clicked.connect(InstallDeb)
wineFrame.addWidget(wineVersion)
e1_text.textChanged.connect(ChangeBottleName)
e5_text.textChanged.connect(LockBottleName)
e6_text.textChanged.connect(ChangeBottleName)
e7_text.textChanged.connect(ChangeTapTitle)
# 创建控件
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的包名(※必填):")), 0, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的版本号(※必填):")), 1, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的说明(※必填):")), 2, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的维护者(※必填):")), 3, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 包的版本号(※必填):")), 1, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 包的说明(※必填):")), 2, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 包的维护者(※必填):")), 3, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器的容器名(※必填):")), 4, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "解压的 wine 容器(※必填):")), 5, 0, 1, 1)
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包的 wine 容器(※必填):")), 5, 0, 1, 1)
desktopIconTab = QtWidgets.QTabWidget()
controlWidget = QtWidgets.QWidget()
controlWidgetLayout = QtWidgets.QHBoxLayout()
@@ -1994,9 +1900,9 @@ iconTab1 = QtWidgets.QWidget()
desktopIconTabLayout = QtWidgets.QGridLayout()
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填)")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数:")), 8, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填)")), 10, 0, 1, 1)
desktopIconTabLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标:")), 10, 0, 1, 1)
iconTab1.setLayout(desktopIconTabLayout)
#desktopIconTab.setTabPosition(QtWidgets.QTabWidget.East)
desktopIconTab.addTab(iconTab1, "Defult")
@@ -2063,6 +1969,10 @@ e2_text.textChanged.connect(AutoPathSet)
debArch.currentIndexChanged.connect(AutoPathSet)
debArch.currentIndexChanged.connect(ChangeArchCombobox)
e12_text.textChanged.connect(UserPathSet)
e1_text.setPlaceholderText("例如 spark-deepin-wine-runner不建议有大写字符")
e2_text.setPlaceholderText(f"例如 {version}")
e7_text.setPlaceholderText("例如 c:/Program Files/Tencent/QQ/Bin/QQ.exe")
e9_text.setPlaceholderText("支持 png 和 svg 格式,不支持 ico 格式")
# 菜单栏
menu = window.menuBar()
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序"))
@@ -2079,6 +1989,7 @@ else:
uploadSparkStoreProgram = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用投稿器投稿(推荐,请先安装投稿器)"))
uploadSparkStoreProgram.setDisabled(True)
tip = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "小提示"))
getPdfHelp = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "Wine 运行器和 Wine 打包器傻瓜式使用教程(小白专用)\nBy @雁舞白沙"))
exit.triggered.connect(window.close)
tip.triggered.connect(helps)
programmenu.addAction(exit)
@@ -2090,7 +2001,9 @@ debE.triggered.connect(lambda: ReadDeb(False))
debX.triggered.connect(lambda: ReadDeb(True))
uploadSparkStoreWebsize.triggered.connect(lambda: webbrowser.open_new_tab("https://upload.deepinos.org"))
uploadSparkStoreProgram.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"/opt/spark-store-submitter/bin/spark-store-submitter '{e12_text.text()}'"]).start())
getPdfHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/deep-wine-runner/raw/main/Wine%E8%BF%90%E8%A1%8C%E5%99%A8%E5%92%8CWine%E6%89%93%E5%8C%85%E5%99%A8%E5%82%BB%E7%93%9C%E5%BC%8F%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B%EF%BC%88%E5%B0%8F%E7%99%BD%E4%B8%93%E7%94%A8%EF%BC%8920221126-V2.pdf"))
help.addAction(tip)
help.addAction(getPdfHelp)
# 控件配置
try:
e6_text.setText(sys.argv[1].replace("~", get_home()))

24
demo/CheckDLL/Check.cpp Normal file
View File

@@ -0,0 +1,24 @@
/**********************************
* 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
* 版本2.5.0
* 更新时间2022年11月18日
* 只能在 Wine/Windows 运行
**********************************/
#include <iostream>
#include <Windows.h>
using namespace std;
int main(int argc, char* argv[]){
HINSTANCE hdll;
hdll = LoadLibrary(argv[1]);
if(argv[1] == ""){
cout << "Don't have full parameter" << endl;
return 2;
}
cout << "Checking " << argv[1] << " ......" << endl;
if(hdll == NULL){
cout << "Error, can't load this library." << endl;
return 1;
}
cout << "No Problem!" << endl;
return 0;
}

BIN
demo/CheckDLL/Check.exe Executable file

Binary file not shown.

90
demo/CheckDLL/main.py Normal file
View File

@@ -0,0 +1,90 @@
#!/usr/bin/env python3
# 使用系统默认的 python3 运行
#################################################################################################################
# 作者gfdgd xi、为什么您不喜欢熊出没和阿布呢
# 版本2.5.0
# 更新时间2022年11月18日
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
# 基于 Python3 的 PyQt5 构建
#################################################################################################################
#################
# 引入所需的库
#################
import os
import sys
import json
if len(sys.argv) <= 1:
print("参数不足")
sys.exit(1)
if "--help" in sys.argv:
print("帮助:")
print("[exe path] [option]")
print("--json 以 json 格式输出")
print("-w [wine botton] [wine program path]")
jsonPrint = "--json" in sys.argv
if jsonPrint:
del sys.argv[sys.argv.index("--json")]
lists = []
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
checkDll = False
if "-w" in sys.argv:
wineCommand = sys.argv.index("-w")
wineBotton = os.getenv("HOME")
wineProgram = "deepin-wine6-stable"
checkDll = True
try:
wineBotton = sys.argv[wineCommand + 1]
wineProgram = sys.argv[wineCommand + 2]
except:
pass
badChar = [
"(", "?", "*", "!", ")", "&", "'", "\""
]
with open(sys.argv[1], "rb") as file:
while True:
things = file.readline()
if things == b"":
break
for n in [".dll", ".DLL"]:
if n.encode() in things:
# 提取 DLL 名称
for i in str(things[1: -2]).split("\\x"):
charBad = False
for b in badChar:
if b in i:
charBad = True
if n in i and not charBad and i[0] != "/":
name = i[2: ].replace(",{M", "").replace("+", "")
# 文件路径合法性检测
try:
dllName = name[:name.index(".dll") + 4]
except:
try:
dllName = name[:name.index(".DLL") + 4]
except:
dllName = name
if dllName.lower() == ".dll":
continue
if dllName in lists:
continue
if checkDll:
if jsonPrint:
if os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}' > /dev/null 2>&1"):
lists.append(dllName)
continue
else:
os.system(f"WINEPREFIX='{wineBotton}' {wineProgram} '{programPath}/Check.exe' '{dllName}'")
lists.append(dllName)
elif jsonPrint:
lists.append(dllName)
continue
else:
print(dllName)
lists.append(dllName)
if jsonPrint:
print(json.dumps(lists))

View File

@@ -0,0 +1,99 @@
{
"advapi32.dll": "描述: advapi32.dll是一个高级API应用程序接口服务库的一部分用于支持非常多的API应用程序接口包括安全和注册的调用。\n属于 Windows NT 4.0 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"advpack.dll": "描述: advpack.dll用于帮助硬件和软件读取和验证.INF文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"asycfilt.dll": "描述: asycfilt.dll是Microsoft OLE (对象链接和嵌入)特性相关DLL文件。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"atl.dll": "描述: atl.dll文件用于支持ATL特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"avicap32.dll": "描述: avicap32.dll是Windows API应用程序接口相关模块用于对摄像头和其它视频硬件进行AVI电影和视频的截取。\n属于 Windows NT 4.0 \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"browseui.dll": "描述: browseui.dll用于浏览器UI界面的管理。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comctl32.dll": "描述: comctl32.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"comdlg32.dll": "描述: comdlg32.dll是Windows应用程序公用对话框模块用于例如打开文件对话框。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"commctrl.dll": "描述: commctrl.dll是Windows应用程序公用GUI图形用户界面模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cpuinf32.dll": "描述: cpuinf32.dll是CPU信息获取相关模块用于获取例如CPU速度和CPU ID。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crtdll.dll": "描述: crtdll.dll是标准C语言库用于例如打印机内存等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"crypt32.dll": "描述: crypt32.dll是Windows加密API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d.dll": "描述: ctl3d.dll是Windows应用程序公用GUI图形用户界面3D显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ctl3d32.dll": "描述: ctl3d32.dll是Windows应用程序公用GUI图形用户界面3D维显示模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d8.dll": "描述: d3d8.dll是DirectX的3D显示部分控制模块在DirectX 8.0中被安装。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dbghelp.dll": "描述: dbghelp.dll是symbol引擎及相关模块用于Windows图形。\n属于 Windows Image \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddeml.dll": "描述: ddeml.dll是exchange数据交换管理相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ddraw.dll": "描述: ddraw.dll是DirectX的DLL文件用于绘制多媒体应用程序的2D图形。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"devcon32.dll": "描述: devcon32.dll是设备配置管理动态链接库。用于提供COM库支持SoundFont和EFX特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dhcpcsvc.dll": "描述: dhcpcsvc.dll是Windows DHCP客户端服务模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput.dll": "描述: dinput.dll是DirectX的DLL文件用于支持DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄\n属于 DirectX DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dinput8.dll": "描述: dinput.dll是DirectX的DLL文件用于DirectInput输入。该文件用于支持多媒体输入设备例如游戏手柄。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"dsound.dll": "描述: dsound.dll是DirectX的DLL文件用于支持Direct Sound声音特性。\n属于 DirectX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"framedyn.dll": "描述: framedyn.dll是framework链接库文件\n属于 Windows WMI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fxscfgwz.dll": "描述: fxscfgwz.dll是Windows 2000传真配置相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdi32.dll": "描述: gdi32.dll是Windows GDI图形用户界面相关程序用于辅助创建组建。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gdiplus.dll": "描述: gdiplus.dll是GDI图形设备接口图形界面相关模块。\n属于 Microsoft GDI+ \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hal.dll": "描述: hal.dll是Windows硬件提取层模块该用于用于解决硬件的复杂性。\n属于 Microsoft Windows Operating System \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"icmp.dll": "描述: icmp.dll是Windows 2000产品相关模块用于网络ICMP请求。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iconlib.dll": "描述: iconlib.dll是微软Microsoft图标管理程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imagehlp.dll": "描述: imagehlp.dll是Windows调试辅助动态链接库相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"inetmib1.dll": "描述: inetmib1.dll是Windows NT的简单网络管理协议SNMP相关模块。\n属于 Windows SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iphlpapi.dll": "描述: iphlpapi.dll是Windows IP辅助API应用程序接口模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"kernel.dll": "描述: kernel.dll是在旧版本Windows操作系统中重要的一个DLL动态链接库文件。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ksuser.dll": "描述: ksuser.dll is a library which transports latency sensitive, time-stamped data between user perhiperals and system perhiperals\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mapi32.dll": "描述: mapi32.dll是Windows Messaging即时通讯软件API应用程序接口(MAPI)。\n属于 MAPI \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mgmtapi.dll": "描述: mgmtapi.dll是微软Microsoft简单网络管理应用程序接口API模块。\n属于 SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mmsystem.dll": "描述: mmsystem.dll是多媒体管理模块用于支持16位多媒体应用程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mpr.dll": "描述: mpr.dll是Windws操作系统网络通讯相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mprapi.dll": "描述: mprapi.dll是Windows 2000路由管理模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msacm32.dll": "描述: msacm32.dll是32位应用程序音频压缩模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msafd.dll": "描述: msafd.dll是微软Microsoft Windows操作系统 Sockets 2.0传输服务相关模块。\n属于 Windows Socket \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomct2.dll": "描述: mscomct2.ocx是ActiveX插件公用管理模块。\n属于 Windows ActiveX \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomctl.dll": "描述: mscomctl.ocx是公用ActiveX插件控制模块。\n属于 Windows ActiveX \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscoree.dll": "描述: mscoree.dll是.NET Framework相关组件。\n属于 Microsoft .NET \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msgina.dll": "描述: msgina.dll是WIndows登陆认证策略相关模块。该模块用于完成所有用户登陆和验证功能。\n属于 GINA \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msi.dll": "描述: msi.dll是Windows安装程序MSI(Microsoft Installer)相关模块。\n属于 Windows Installer \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msimg32.dll": "描述: msimg32.dll是Windows图形设备接口GDI相关模块用于支持新的API应用程序接口和GDI32相关特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjava.dll": "描述: msjava.dll是Java程序COM接口支持相关模块。\n属于 Microsoft JVM \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msnp32.dll": "描述: msnp32.dll是微软网络协议相关动态链接库。\n属于 Microsoft networks \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoss.dll": "描述: msoss.dll是Microsoft Trust ASN信任机制相关应用程序接口API模块用于加密和解密特性。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"netapi32.dll": "描述: netapi32.dll是Windows网络应用程序接口用于支持访问微软网络。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"newdev.dll": "描述: newdev.dll是添加系统新硬件设备相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ntdll.dll": "描述: ntdll.dll是NT操作系统重要的模块。\n属于 Windows NT \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oc25.dll": "描述: oc25.dll是对象链接和嵌入OLE运行时模块。\n属于 Microsoft OLE Control runtime DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole2nls.dll": "描述: ole2.dll是对象链接和嵌入OLE相关模块用于支持多语言。\n属于 Microsoft OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ole32.dll": "描述: ole32.dll是对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"olepro32.dll": "描述: olepro32.dll是对象链接和嵌入OLE特性相关模块。\n属于 Microsoft OLE Property Support DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pidgen.dll": "描述: pidgen.dll是Windows操作系统重要的模块用于管理产品序列号。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pjlmon.dll": "描述: pjlmon.dll是PJL打印机监视相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"powrprof.dll": "描述: powrprof.dll是微软Microsoft Windows电源管理配置工具相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"psapi.dll": "描述: psapi.dll是Windows系统进程状态支持模块。\n属于 Process Status Helper \n系统 DLL文件 Yes \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rasapi32.dll": "描述: rasapi32.dll是远程访问应用程序接口(RAS)用于Windows应用程序对调制解调器的控制。\n属于 Remote Access API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"rpcrt4.dll": "描述: rpcrt4.dll是远程程序调用(RPC)应用程序接口API用于WIndows应用程序对网络和Internet连接。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"run32.dll": "描述: run32.dll 是应用程序DLL文件运行库相关模块。\n属于 Windows 95 \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"scrrun.dll": "描述: scrrun.dll用于阅读和编写脚本和文本文件。\n属于 Microsoft Script Runtime \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"secur32.dll": "描述: secur32.dll是Windows安全特性相关动态链接库。\n属于 Microsoft Windows DLL \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupx.dll": "描述: setupx.dll是WIndows安装程序相关模块。\n属于 Microsoft Windows Setup Functions \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoc401.dll": "描述: shdoc401.dll是资源管理器文件夹浏览的COM接口相关模块。\n属于 IE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdoclc.dll": "描述: shdoclc.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shdocvw.dll": "描述: shdocvw.dll是为Windows应用程序添加基础文件和网络操作相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shell32.dll": "描述: shell32.dll是Windows壳Shell相关应用程序接口动态链接库文件用于打开网页和文件。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shfolder.dll": "描述: shfolder.dll是Windows特殊文件夹相关服务模块例如我的文档。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"shlwapi.dll": "描述: shlwapi.dll是UNC和URL地址动态链接库文件用于注册键值和色彩设置。\n属于 Microsoft Windows Shell \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"snmpapi.dll": "描述: snmpapi.dll是简单网络管理协议(SNMP)相关模块用于监视你的LAN局域网网络状态。\n属于 Microsoft SNMP \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"spoolss.dll": "描述: spoolss.dll是打印机打印相关模块。\n属于 Microsoft Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"svrapi.dll": "描述: svrapi.dll用于监视和管理共享网络资源。\n属于 Microsoft network \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tapi32.dll": "描述: tapi32.dll是Windows排列层相关模块用于发送消息到Tapisrv.exe。\n属于 Windows Telephony \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"unidrv.dll": "描述: unidrv.dll是通用打印机驱动动态连接库。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"urlmon.dll": "描述: urlmon.dll是微软Microsoft对象链接和嵌入相关模块。\n属于 OLE \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"usbui.dll": "描述: usbui.dll是通用程序界面应用程序接口用于管理USB用户界面。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"user32.dll": "描述: user32.dll是Windows用户界面相关应用程序接口用于包括Windows处理基本用户界面等特性。\n属于 Windows User API \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"userenv.dll": "描述: userenv.dll是公用应用程序界面应用程序接口用于管理用户档案。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vfwwdm32.dll": "描述: vfwwdm32.dll用于Windows应用程序视频进行WDM剪辑驱动相关程序。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"webcheck.dll": "描述: webcheck.dll是用于对网站进行监视的COM接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wininet.dll": "描述: wininet.dll是Windows应用程序网络相关模块。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winmm.dll": "描述: winmm.dll是Windows多媒体相关应用程序接口用于低档的音频和游戏手柄。\n属于 Windows Multimedia \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsock.dll": "描述: winsock.dll是Windows Sockets应用程序接口用于支持很多Internet和网络相关应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsrv.dll": "描述: winsrv.dll是Windows服务用于支持32位用户和图形设备接口。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winsta.dll": "描述: winsta.dll是成熟的Windows组件用于剪切板、全球区域特性和桌面组件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wintrust.dll": "描述: wintrust.dll用于验证第三方应用程序的文件目录内存使用数据签名等。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmaudsdk.dll": "描述: wmaudsdk.dll用于读取、创建和获取.WMA音频格式文件信息。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wmvcore.dll": "描述: wmvcore.dll是Windows媒体视频回放解码相关动态链接库。\n属于 Windows Media \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wnaspi32.dll": "描述: wnaspi32.dll是高级Advanced SCSI程序接口( ASPI )管理相关文件。\n属于 Windows \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2_32.dll": "描述: ws2_32.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ws2help.dll": "描述: ws2help.dll是Windows Sockets应用程序接口用于支持Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32.dll": "描述: wsock32.dll是Windows Sockets应用程序接口用于支持很多Internet和网络应用程序。\n属于 Windows Sockets \n系统 DLL文件 是 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary"
}

126
demo/GetDllInfo/lists2.json Normal file
View File

@@ -0,0 +1,126 @@
{
"ac1st15.dll": "描述: ac1st15.dll是AutoCAD、AutoCAD LT、KeyPLANTING和KeySCAPE等软件动态链接库该文件是Autodesk公司出品。\n属于 AutoCAD \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"binkw32.dll": "描述: binkw32.dll是BINK视频解码器相关进程用于压缩视频回放例如游戏中的视频。\n属于 Bink Video Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc.dll": "描述: bwcc.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"bwcc32.dll": "描述: bwcc32.dll是Borland Windows控件相关动态链接库文件。\n属于 Borland C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cards.dll": "描述: cards.dll是Windows纸牌游戏相关文件。\n属于 Game Windows Solitare \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cctrust.dll": "描述: cctrust.dll是Symantec公司ccTrust公用客户端动态链接库文件。\n属于 Symantec Products \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cd_clint.dll": "描述: cd_clint.dll是Cydoor公司动态链接库文件。\n属于 CYDOOR \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cdonts.dll": "描述: cdonts.dll协同数据对象界面相关文件。\n属于 CDO \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs232.dll": "描述: cncs232.dll是Europress和IMSI公司多媒体库文件用于支持它们的游戏。\n属于 Games Multimedia Fusion \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"cncs32.dll": "描述: cncs32.dll是create游戏图像相关动态链接库文件。\n属于 Game Factory \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"core.dll": "描述: core.dll是SuperScape 3D Viewer察看器相关动态链接库。\n属于 Viscape Universal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"d3d9.dll": "描述: d3d9.dll是DirectX 9的动态链接库用于支持Windows多媒体和游戏。\n属于 DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"disktool.dll": "描述: disktool.dll是DiskTool软件动态链接库文件它是一款系统管理软件用于监视磁盘状态和避免数据文件储存问题。\n属于 Disktool \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"eax.dll": "描述: eax.dll是EAX环绕音效特性相关库文件。\n属于 EAX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"egnsengine.dll": "描述: egnsengine.dll是Gator GAIN间谍软件相关文件。\n属于 Gator GAIN \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"fm20.dll": "描述: fm20.dll是微软表单创建相关动态链接库文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"gapi32.dll": "描述: gapi32.dll是微软邮件协议相关文件。\n属于 Microsoft Exchange \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide2x.dll": "描述: glide2x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glide3x.dll": "描述: glide3x.dll是3DFX (Voodoo)显示卡Glide 3D驱动程序相关文件。\n属于 Glide for Voodoo Banshee \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"glu32.dll": "描述: glide2x.dll是OpenGL图像相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"hhctrl.dll": "描述: hhctrl.ocx是Microsoft帮助文档界面相关文件。\n属于 Microsoft HTML Help Control \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"idle.dll": "描述: idle.dll是Microsoft Visual C++无功分量部分相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"iepeers.dll": "描述: iepeers.dll是微软Microsoft Internet Explorer浏览器库文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ijl15.dll": "描述: ijl15.dll是IntelJPG图像压缩相关库文件。\n属于 Intel JPEG Library \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"imgedit.dll": "描述: imgedit.ocx是微软图像处理相关文件。\n属于 Microsoft ImagEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"jscript.dll": "描述: jscript.dll是Microsoft JavaScript脚本支持相关文件。\n属于 Microsoft JScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"libeay32.dll": "描述: libeay32.dll是OpenSSL加密特性相关文件用于通过网络加密传输。\n属于 OpenSSL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxcodec.dll": "描述: maxcodec.dll是ScanSoft PaperPort软件图像压缩和解压相关模块。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"maxkernl.dll": "描述: maxkernl.dll是ScanSoft PaperPort Visioneer扫描仪相关库文件。\n属于 PaperPort \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc30.dll": "描述: mfc30.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc40.dll": "描述: mfc40.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42.dll": "描述: mfc42.dll是微软Microsoft MFC程序库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc42d.dll": "描述: mfc42d.dll是MFCDLL共享库文件用于支持调试版本的MFC程序。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfc70.dll": "描述: mfc70.dll是微软Microsoft MFC程序相关库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfcans32.dll": "描述: mfcans32.dll用于对对象链接和嵌入OLE的Unicode和MBCS字符支持。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mfco42d.dll": "描述: mfco42d.dll是MFC OLE调试版本动态链接库文件。\n属于 MFC \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mhputilu.dll": "描述: mhputilu.dll是微软Microsoft Picture It图像软件动态链接库文件。\n属于 Microsoft Picture It! Publishing 2001 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mlang.dll": "描述: mlang.dll是多语言支持动态链接库文件。用于转换网络字符集为Unicode。\n属于 IE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mplapx.dll": "描述: mplapx.dll是微软Microsoft Media Player音乐回放相关模块。\n属于 Microsoft Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mrtrate.dll": "描述: mrtrate.dll是Intuit Quicken动态链接库文件。\n属于 Rate Sensing Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mscomm32.dll": "描述: mscomm32.ocx是ActiveX公用控制模块用于例如Visual Basic 6.0程序的MSComm控制。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msdxm.dll": "描述: msdxm.ocx是Windows Media Player播放器ActiveX控制相关文件。\n属于 Windows Media Player \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mshtml.dll": "描述: mshtml.dll是HTML解释器相关模块。\n属于 HTML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msjet35.dll": "描述: msjet35.dll是微软Microsoft Jet数据引擎主要文件。该文件用于向Microsoft Access数据库读写数据。\n属于 Microsoft Jet Engine \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso9.dll": "描述: mso9.dll是微软Microsoft Office 2000办公软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mso97.dll": "描述: mso97.dll是微软Microsoft Office 2000软件套装的一部分。\n属于 Office 2000 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msoe.dll": "描述: msoe.dll是Outlook Express邮件程序相关模块。\n属于 Outlook Express \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mss32.dll": "描述: mss32.dll是Miles声音播放系统库文件用于WinAMP等多媒体程序音乐回放和声音特效。\n属于 WinAmp \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msscript.dll": "描述: msscript.ocx是Visual Basic 6.0应用程序脚本控制的一部分,用于运行时库。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mssp232.dll": "描述: mssp232.dll是微软Microsoft Office软件字符检查相关文件。\n属于 Microsoft Office \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msspell3.dll": "描述: msspell3.dll是文档字符检查相关模块。\n属于 Word \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msstdfmt.dll": "描述: msstdfmt.dll是微软标准数据格式对象相关动态链接库文件。\n属于 Visual Studio \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm50.dll": "描述: msvbvm50.dll是微软Microsoft Visual Basic虚拟机相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvbvm60.dll": "描述: msvbvm60.dll是微软Microsoft Visual Basic虚拟机相关模块。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirt.dll": "描述: msvcirt.dll是微软C语言程序运行库相关文件用于例如打印。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcirtd.dll": "描述: msvcirtd.dll是用户选择进行调试版本编译时所使用的运行库文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp50.dll": "描述: msvcp50.dll是标准的C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp60.dll": "描述: msvcp60.dll是标准的C运行库程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcp70.dll": "描述: msvcp70.dll是.Net的C运行库相关文件。\n属于 Microsoft .NET \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcr70.dll": "描述: msvcr70.dll是微软C运行库相关程序。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt.dll": "描述: msvcrt.dll是标准的微软C运行库文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt10.dll": "描述: msvcrt10.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt20.dll": "描述: msvcrt20.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrt40.dll": "描述: msvcrt40.dll是微软标准C运行库相关文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvcrtd.dll": "描述: msvcrtd.dll是微软编译程序调试版本相关文件。\n属于 Visual C++ \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msvfw32.dll": "描述: msvfw32.dll是微软BMP位图压缩和解压缩相关文件用于Microsoft Video视频。\n属于 Microsoft Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"mswinsck.dll": "描述: mswinsck.ocx是Visual Basic语言的socket编程相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"msxml.dll": "描述: msxml.dll是Internet Explorer 4.0或更高版本的浏览器相关文件用于解释XML文档。\n属于 XML \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"NPDocBox.dll": "描述: NPDocBox.dll是Adobe Acrobat插件相关文件为Netware和Internet Explorer浏览器安装。\n属于 Adobe Acrobat \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvcpl.dll": "描述: nvcpl.dll是NVIDIA显示卡相关动态链接库文件。\n属于 NVIDIA drivers \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"NvCplDaemon.dll": "描述: NvCplDaemon (NvQTwk.dll)是Nvdia显示卡相关文件。\n属于 NVidia Graphics Library Module \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nvmctray.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"NvMediaCenter.dll": "描述: nvmctray.dll是NVidia显示卡相关文件。\n属于 NVidia Multimedia \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"nwnp32.dll": "描述: nwnp32.dll是Novell NetWare网络支持相关链接库文件。\n属于 Novell Network \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"odbc32.dll": "描述: odbc32.dll是ODBC数据库查询相关文件。\n属于 ODBC DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleacc.dll": "描述: oleacc.dll是微软Microsoft Active Accessibility相关动态链接库文件。\n属于 Microsoft Active Accessibility \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oleaut32.dll": "描述: oleaut32.dll是对象链接与嵌入OLE相关文件。\n属于 Microsoft OLE DLL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"omi9.dll": "描述: omi9.dll是邮件程序MAPI特性相关文件用于例如Outlook。\n属于 Microsoft MAPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"opengl32.dll": "描述: opengl32.dll是微软OpenGL特性相关动态链接库文件。\n属于 Microsoft OpenGL \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"oscore.dll": "描述: oscore.dll是AOL即时通讯软件相关文件。\n属于 AOL Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"p5dll.dll": "描述: p5dll.dll是P5Device相关动态链接库文件。\n属于 P5Device \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcdlib32.dll": "描述: pcdlib32.dll是柯达Kodak产品相关文件用于设备数据传输。\n属于 Kodak Photo \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pcre.dll": "描述: pcre.dll是Perl语言相关库文件。\n属于 Perl \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pgsdk.dll": "描述: pgsdk.dll是微软图形SDK开发包相关动态链接库文件。\n属于 Microsoft Presentation Graphics SDK \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pncrt.dll": "描述: pncrt.dll是C语言开发界面相关运行时文件。\n属于 Windows \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"pstprx.dll": "描述: pstprx.dll是Windows CE Outlook数据同步相关文件。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"quartz.dll": "描述: quartz.dll是DirectShow相关库文件是DirectX的一部分。\n属于 Microsoft DirectX \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched20.dll": "描述: riched20.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"riched32.dll": "描述: riched32.dll是字符编辑器相关文件。\n属于 RichEdit \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"richtx32.dll": "描述: richtx32.ocx是微软Microsoft字符编辑器控制相关程序用于字符对话框对象高级编辑。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"schannel.dll": "描述: schannel.dll是Internet Explorer 3.x或者4.x浏览器128位加密相关文件。\n属于 Microsoft Internet Explorer \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setup.dll": "描述: setup.dll是流行的安装程序相关支持文件。\n属于 TextBridge Pro 96 \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"setupapi.dll": "描述: setupapi.dll是流行的安装程序支持相关文件。\n属于 Microsoft Windows Setup \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"smackw32.dll": "描述: smackw32.dll是Smacker视频解码器相关文件。\n属于 Games Media Smacker \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"storm.dll": "描述: storm.dll是暴雪游戏相关动态链接库文件出现在StarCraft和Diablo等游戏中。\n属于 Games Blizzard \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"symstore.dll": "描述: symstore.dll是Symantec公司设置相关动态链接库文件。\n属于 Symantec \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tabctl32.dll": "描述: tabctl32.ocx是一个ActiveX控制模块用于SSTab控制和Tabbed对话框控制。\n属于 OLE \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"threed32.dll": "描述: threed32.ocx是Sheridon 3D控制对象相关文件用于渲染3D图像。\n属于 Sheridon \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"topsearch.dll": "描述: topsearch.dll是Kazaa.exe的间谍软件相关文件。\n属于 Kazaa \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"tsbyuv.dll": "描述: tsbyuv.dll是东芝Toshiba视频播放解码器相关程序。\n属于 Toshiba Video \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"twain.dll": "描述: twain.dll是静态图像应用程序接口相关文件。\n属于 Twain Source Manager \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40016.dll": "描述: vb40016.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb40032.dll": "描述: vb40032.dll是Visual Basic运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6fr.dll": "描述: vb6fr.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vb6stkit.dll": "描述: vb6stkit.dll是Visual Basic应用程序接口API相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun100.dll": "描述: vbrun100.dll是Visual Basic语言运行时相关程序。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun200.dll": "描述: vbrun200.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbrun300.dll": "描述: vbrun300.dll是Visual Basic语言运行时相关文件。\n属于 Visual Basic \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vbscript.dll": "描述: vbscript.dll是VBScript脚本相关支持文件。\n属于 VBScript \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"vsutil.dll": "描述: vsutil.dll是ZoneLabs ZoneAlarm软件相关文件。\n属于 ZoneAlarm \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab.dll": "描述: wab.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email地址和其它信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wab32.dll": "描述: wab32.dll是微软Microsoft地址薄相关文件用于储存Outlook和Outlook Express的Email邮件地址和其它联系信息。\n属于 Outlook \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"weputil.dll": "描述: weputil.dll是Windows娱乐包的相关文件。\n属于 Windows Entertainment Pack \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi.dll": "描述: winaspi.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"winaspi32.dll": "描述: winaspi32.dll是ASPI驱动相关文件用于控制CD-ROM驱动器、CD/DVD刻录机支持相关CD刻录备份软件\n属于 ASPI \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"window.dll": "描述: window.dll是Unreal游戏程序相关文件用于显示或者配置DirectX设置对话框。\n属于 Games Unreal \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing.dll": "描述: wing.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wing32.dll": "描述: wing32.dll是Windows应用程序图形显示库文件用以取代DirectX。\n属于 Windows Graphics \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"wsock32n.dll": "描述: wsock32n.dl是SOCKS网络协议相关文件。\n属于 Windows Winsock \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmlparse.dll": "描述: xmlparse.dll是Yahoo!雅虎通即时通讯软件XML解释器文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"xmltok.dll": "描述: xmltok.dll是XSLT引擎解码相关文件。\n属于 XSLT \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"ygxa_2.dll": "描述: ygxa_2.dll是Yahoo!雅虎通即时通讯软件图形用户界面相关文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"yml.dll": "描述: yml.dll是Yahoo!雅虎通应用程序相关库文件。\n属于 Yahoo Messenger \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary",
"zlib.dll": "描述: zlib.dll是ZLIB压缩库相关文件用于Windows应用程序压缩和解压缩。\n属于 ZLIB \n系统 DLL文件 否 \n常见错误 File Not Found, Missing File, Exception \n\n资料来源https://www.2cto.com/shouce/system/dlllibrary"
}

52
demo/GetDllInfo/main.py Normal file
View File

@@ -0,0 +1,52 @@
import json
import pyquery
import requests
lists = {}
def A(link):
r = requests.get(f"http://www.2cto.com/shouce/system/dlllibrary/riched32/default.htm/../{link}")
r.encoding = "gbk"
programUrl = pyquery.PyQuery(r.text)
iii = 0
#print()
miaoshu = ""
for i in programUrl("font").items():
if i.attr.size == "2" and iii == 4: #and not "<a" in i.text():
#print(i.text())
miaoshu = i.text()
pass
if i.attr.size == "2" and iii == 5: #and not "<a" in i.text():
#print(i)
for k in i.items("font"):
if link.replace("../", "").replace("/default.htm", "") + ".dll" == "default.htm.dll":
continue
print((link.replace("../", "").replace("/default.htm", "") + ".dll").lower())
lists[(link.replace("../", "").replace("/default.htm", "") + ".dll").lower()] = miaoshu + "\n" + k.text().splitlines()[0].replace("属于:", "属于:").replace("系统 DLL文件", "\n系统 DLL文件").replace("常见错误:", "\n常见错误:") + "\n\n资料来源https://www.2cto.com/shouce/system/dlllibrary"
break
#things = i.text()
#print(things)
#print(things[things.index("应用程序DLL文件")])
iii += 1
if iii == 3:
#break
pass
# https://www.2cto.com/shouce/system/dlllibrary/3dfxcmn/default.htm
# https://www.2cto.com/shouce/system/dlllibrary/2ndsrch/default.htm
# https://www.2cto.com/shouce/system/dlllibrary/admxprox/default.htm
for b in ["https://www.2cto.com/shouce/system/dlllibrary/3dfxcmn/default.htm",
"https://www.2cto.com/shouce/system/dlllibrary/2ndsrch/default.htm", "https://www.2cto.com/shouce/system/dlllibrary/admxprox/default.htm"]:
r = requests.get(b)
r.encoding = "gbk"
programUrl = pyquery.PyQuery(r.text)
#programUrl = pyquery.PyQuery(requests.get(f"http://www.2cto.com/shouce/system/dlllibrary/riched32/default.htm", ).text)
'''for i in programUrl("table table").items():
print(i)'''
iii = 0
for i in programUrl("font a").items():
#if i.attr.size == "2":
A(i.attr.href)
# for k in i.items():
# print(k)
#exit()
#exit()
with open("lists.json", "w") as file:
file.write(json.dumps(lists, ensure_ascii=False))

View File

@@ -0,0 +1,69 @@
/**********************************
* <20><><EFBFBD>ߣ<EFBFBD>gfdgd xi<78><69>Ϊʲô<CAB2><C3B4><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>ܳ<EFBFBD>û<EFBFBD>Ͱ<EFBFBD><CDB0><EFBFBD><EFBFBD><EFBFBD>
* <20><EFBFBD><E6B1BE>2.5.0
* <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>䣺2022<32><32>11<31><31>27<32><37>
* ֻ<><D6BB><EFBFBD><EFBFBD> Wine/Windows <20><><EFBFBD><EFBFBD>
**********************************/
#include <iostream>
#include <string>
#include <fstream>
#include <Windows.h>
#pragma comment(lib, "version.lib");
using namespace std;
// <20>ȿӡ<C8BF><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA> Dev CPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD> -lversion
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><E6B1BE>
//@params:filename:<3A>ļ<EFBFBD><C4BC><EFBFBD>
string GetFileVersion(LPCWSTR filename)
{
string asVer = "";
VS_FIXEDFILEINFO *pVsInfo;
unsigned int iFileInfoSize = sizeof(VS_FIXEDFILEINFO);
int iVerInfoSize = GetFileVersionInfoSizeW(filename, NULL);
if(iVerInfoSize != 0)
{
char *pBuf = NULL;
while(!pBuf)
{
pBuf = new char[iVerInfoSize];
}
if(GetFileVersionInfoW(filename, 0, iVerInfoSize, pBuf))
{
if(VerQueryValueA(pBuf, "\\", (void **)&pVsInfo, &iFileInfoSize))
{
sprintf(pBuf, "%d.%d.%d.%d", HIWORD(pVsInfo->dwFileVersionMS), LOWORD(pVsInfo->dwFileVersionMS), HIWORD(pVsInfo->dwFileVersionLS), LOWORD(pVsInfo->dwFileVersionLS));
asVer = pBuf;
}
}
delete pBuf;
}
return asVer;
}
// <20><>ʽת<CABD><D7AA>
LPWSTR ConvertCharToLPWSTR(const char* szString)
{
int dwLen = strlen(szString) + 1;
int nwLen = MultiByteToWideChar(CP_ACP, 0, szString, dwLen, NULL, 0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵij<CAB5><C4B3><EFBFBD>
LPWSTR lpszPath = new WCHAR[dwLen];
MultiByteToWideChar(CP_ACP, 0, szString, dwLen, lpszPath, nwLen);
return lpszPath;
}
int main(int argc, char* argv[]){
if (argc < 2){
cout << "Unfull Option" << endl;
return 1;
}
string version = GetFileVersion(ConvertCharToLPWSTR(argv[1]));
cout << "Version: " << version << endl;
if (argc == 3){
cout << "Write To " << argv[2] << endl;
// Ϊ<>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>д<EFBFBD><D0B4><EFBFBD>ı<EFBFBD><C4B1>ĵ<EFBFBD>
ofstream write(argv[2], ios::trunc);
write << version;
write.close();
}
return 0;
}

BIN
demo/GetExeVersion/main.exe Executable file

Binary file not shown.

BIN
dlls-arm.7z Executable file → Normal file

Binary file not shown.

BIN
exa.7z

Binary file not shown.

View File

@@ -1,6 +1,10 @@
{
"Version": "2.4.1",
"Version": "2.5.0",
"Thank": [
"感谢 @雁舞白沙 专门为小白用户编写的使用 Wine 运行器非基于生态适配脚本的程序打包教程",
"感谢 @牦牛儿苗 进行了龙芯 3a5000 平台的测试与移植",
"感谢 @雁舞白沙 优化了程序文案",
"感谢 @豪 的程序测试和制作的非官方论坛 https://gfdgdxi.flarum.cloud/",
"感谢 @185******67 反馈的 2.4.0 无法打开 Visual Basic 组件安装工具的问题",
"感谢 @shenmo 提供的 在打包器的 postrm 脚本添加 kill.sh、追加参数改为 --uri xxxxxxx、独立生成容器 7z 文件的功能",
"感谢 @a2035274 @虚幻的早晨 https://bbs.deepin.org/post/238301",

View File

@@ -95,7 +95,7 @@ def liulanbutton():
# 第二个浏览按钮事件
def liulanexebutton():
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择 exe 可执行文件", json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExe.json"))["path"], "exe 可执行文件(*.exe);;EXE 可执行文件(*.EXE);;所有文件(*.*)")
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择 exe 可执行文件", json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExe.json"))["path"], "exe 可执行文件(*.exe);;MSI 文件(*.msi);;所有文件(*.*)")
if path != "" and path != "()":
e2.setEditText(path[0]) # 显示路径
write_txt(get_home() + "/.config/deepin-wine-runner/FindExe.json", json.dumps({"path": os.path.dirname(path[0])})) # 写入配置文件
@@ -132,6 +132,108 @@ class QT:
e1.addItems(findExeHistory)
e1.setEditText(findExeHistory[-1])
repairList = []
# Flag: 日志推断解决方案功能
class LogChecking():
def ShowWindow():
global logThread
global logWindow
global questionList
global repairButton
logWindow = QtWidgets.QWidget()
logWindowLayout = QtWidgets.QGridLayout()
questionList = QtWidgets.QListView()
repairButton = QtWidgets.QPushButton("一键修复")
repairButton.setDisabled(True)
repairButton.clicked.connect(LogChecking.RepairButton)
nmodel = QtGui.QStandardItemModel(window)
item = QtGui.QStandardItem("正在分析中……")
questionList.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
nmodel.appendRow(item)
questionList.setModel(nmodel)
logWindowLayout.addWidget(questionList, 0, 0, 3, 1)
logWindowLayout.addWidget(repairButton, 0, 2, 1, 1)
logWindow.setWindowTitle("分析日志")
logWindow.setLayout(logWindowLayout)
logThread = LogThreading()
logThread.done.connect(LogChecking.Show)
logThread.start()
logWindow.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
logWindow.resize(int(logWindow.frameGeometry().width() * 1.2), int(logWindow.frameGeometry().height() * 1.2))
logWindow.show()
def RepairButton():
index = questionList.currentIndex().row()
lists = questionMap[index]
print(f"{programPath}/CheckDLL/bash/{lists[1].lower()}.sh")
if lists[0] == 1 and os.path.exists(f"{programPath}/CheckDLL/bash/{lists[1].lower()}.sh"):
OpenTerminal(f"'{programPath}/AutoShell/main.py' '{programPath}/CheckDLL/bash/{lists[1].lower()}.sh'")
return
if lists[0] == 2:
QtWidgets.QMessageBox.information(logWindow, "修复方法", "切换其它 Wine")
return
if lists[0] == 4:
QtWidgets.QMessageBox.information(logWindow, "修复方法", "如是 Deepin Wine 可以尝试切换 WineHQ\n并且取消勾选运行器主页面菜单栏“程序”=>“设置Wine”取消勾选“屏蔽 Wine 默认 Mono 和 Gecko 安装器”\n然后尝试在菜单栏的“Wine”=>“在指定 Wine、容器安装组件”=>“在指定 Wine、容器安装 Gecko”来安装 Gecko")
return
QtWidgets.QMessageBox.critical(logWindow, "错误", "无法修复该问题")
def Show(lists):
global questionMap
nmodel = QtGui.QStandardItemModel(window)
disbledButton = False
print(lists)
if not len(lists):
nmodel.appendRow(QtGui.QStandardItem(f"√ 无法分析到错误"))
disbledButton = True
for i in lists:
if i[0] == 0:
nmodel.appendRow(QtGui.QStandardItem(f"√ 无法分析到错误"))
disbledButton = True
break
if i[0] == 1:
nmodel.appendRow(QtGui.QStandardItem(f"× 无法调用 Dll{i[1]}"))
if i[0] == 2:
nmodel.appendRow(QtGui.QStandardItem(f"× 尝试用 Mono 运行非 .net 应用 {i[1]}"))
if i[0] == 3:
nmodel.appendRow(QtGui.QStandardItem(f" 无法加载 Gecko是被禁用或未安装"))
if i[0] == 4:
nmodel.appendRow(QtGui.QStandardItem(f"× 无法更新 Wine 容器版本,是否还有 Wine 程序运行?"))
questionMap = lists[:]
repairButton.setDisabled(disbledButton)
questionList.setModel(nmodel)
class LogThreading(QtCore.QThread):
done = QtCore.pyqtSignal(list)
def __init__(self):
super().__init__()
def run(self):
global logText
repairList = []
logText = returnText.toPlainText()
print(logText.splitlines())
for i in logText.splitlines():
print(i)
checkingText = i.lower()
if "err:module:import_dll Library".lower() in checkingText:
# Lose Dll
repairList.append([1, i[i.index("Library") + 8: i.index("(")].strip()])
continue
if "err:module:fixup_imports_ilonly".lower() in checkingText:
# Lose Dll
repairList.append([1, i[i.index("_ilonly") + 8: i.index("not")].strip()])
continue
if "Cannot open assembly".lower() in checkingText and ": File does not contain a valid CIL image.".lower() in checkingText:
# Mono
repairList.append([2, i.replace(": File does not contain a valid CIL image.", "").replace("Cannot open assembly", "").strip()[1: -1]])
if "Could not load wine-gecko. HTML rendering will be disabled.".lower() in checkingText and "Could not find Wine Gecko. HTML rendering will be disabled.".lower() in checkingText:
# Disbled Gecko
repairList.append([3, ""])
if "Your wineserver binary was not upgraded correctly".lower() in checkingText:
repairList.append([4, ""])
self.done.emit(repairList)
def DisableButton(things):
button_r_6.setDisabled(things)
button1.setDisabled(things)
@@ -170,9 +272,9 @@ class Runexebutton_threading(QtCore.QThread):
else:
option += "WINEDEBUG=FIXME,ERR,WARN,TRACE,Message "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -316,13 +418,13 @@ def make_desktop_on_launcher():
else:
option += "WINEDEBUG=FIXME,ERR,WARN,TRACE,Message "
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
return
os.remove(f"{programPath}/dlls-arm.7z")
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
value = ""
if e2.currentText()[:2].upper() == "C:":
@@ -376,9 +478,9 @@ def make_desktop_on_desktop():
else:
wineBottonPath = e1.currentText()
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -466,6 +568,50 @@ def InstallWine():
def InstallWineOnDeepin23():
threading.Thread(target=OpenTerminal, args=[f"'{programPath}/InstallWineOnDeepin23.py'"]).start()
class DllWindow():
def ShowWindow():
global dllMessage
global dllInfoMap
global textInfo
global dllName
dllMessage = QtWidgets.QWidget()
dllLayout = QtWidgets.QGridLayout()
try:
dllInfoMap["check"]
except:
try:
with open(f"{programPath}/CheckDLL/lists.json", "r") as file:
dllInfoMap = json.loads(file.read())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(dllMessage, "错误", traceback.format_exc())
# UI
dllName = QtWidgets.QLineEdit()
dllButton = QtWidgets.QPushButton("查询")
textInfo = QtWidgets.QTextBrowser()
dllButton.clicked.connect(DllWindow.Find)
dllLayout.addWidget(QtWidgets.QLabel("Dll 名称:"), 0, 0)
dllLayout.addWidget(dllName, 0, 1)
dllLayout.addWidget(dllButton, 0, 2)
dllLayout.addWidget(textInfo, 1, 0, 1, 3)
dllMessage.setWindowTitle(f"{title}——查询 Dll")
dllMessage.setLayout(dllLayout)
dllMessage.resize(int(dllMessage.frameGeometry().width() * 1.2), int(dllMessage.frameGeometry().height() * 1.1))
dllMessage.setWindowIcon(QtGui.QIcon(f"{programPath}/deepin-wine-runner.svg"))
dllMessage.show()
def Find():
dllNameText = dllName.text().strip().lower()
if dllNameText[-4:] != ".dll":
dllNameText += ".dll"
try:
textInfo.setText(dllInfoMap[dllNameText])
except:
textInfo.setText(f"未查询到有关 Dll '{dllNameText}' 有关的内容")
def InstallWineOnDeepin23Alpha():
threading.Thread(target=OpenTerminal, args=[f"'{programPath}/InstallWineOnDeepin23Alpha.py'"]).start()
def InstallWineHQ():
threading.Thread(target=OpenTerminal, args=[f"{programPath}/InstallNewWineHQ.sh"]).start()
@@ -484,6 +630,31 @@ def OpenWineFontPath():
QtWidgets.QMessageBox.information(widget, "提示", QtCore.QCoreApplication.translate("U", "如果安装字体?只需要把字体文件复制到此字体目录\n按下“OK”按钮可以打开字体目录"))
os.system("xdg-open \"" + wineBottonPath.replace("\'", "\\\'") + "/drive_c/windows/Fonts\"")
def GetLoseDll():
if e1.currentText() == "":
wineBottonPath = setting["DefultBotton"]
else:
wineBottonPath = e1.currentText()
option = ""
if setting["MonoGeckoInstaller"]:
option += f"WINEDLLOVERRIDES=\"mscoree,mshtml=\" "
if setting["Architecture"] != "Auto":
option += f"WINEARCH={setting['Architecture']} "
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
os.system(f"'{programPath}/deepin-wine-runner-create-botton.py' '{wineBottonPath}'")
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
return
os.remove(f"{programPath}/dlls-arm.7z")
threading.Thread(target=os.system, args=[f"python3 '{programPath}/CheckDLL/main.py' '{e2.currentText()}' '{wineBottonPath}' '{wine[o1.currentText()]}'" + setting["WineOption"]]).start()
class RunWineProgramThread(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
showHistory = QtCore.pyqtSignal(str)
@@ -506,11 +677,11 @@ class RunWineProgramThread(QtCore.QThread):
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
os.system(f"'{programPath}/deepin-wine-runner-create-botton.py' '{wineBottonPath}'")
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -547,7 +718,7 @@ runProgram = None
def RunWineProgram(wineProgram, history = False, Disbled = True):
global runProgram
DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 UOS exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and not o1.currentText() in untipsWine:
DisableButton(False)
return
@@ -572,9 +743,9 @@ class RunWinetricksThread(QtCore.QThread):
if not setting["Debug"]:
option += "WINEDEBUG=-all "
wineUsingOption = ""
if o1.currentText() == "基于 exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable":
wineUsingOption = ""
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -603,11 +774,11 @@ runWinetricks = None
def RunWinetricks():
global runWinetricks
DisableButton(True)
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and o1.currentText() != "基于 linglong 的 deepin-wine6-stable不推荐" and o1.currentText() != "基于 UOS exagear 的 deepin-wine6-stable" and o1.currentText() != "基于 UOS box86 的 deepin-wine6-stable":
if not CheckProgramIsInstall(wine[o1.currentText()]) and not o1.currentText() in untipsWine:
DisableButton(False)
return
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 exagear 的 deepin-wine6-stable":
if o1.currentText() == "基于 UOS box86 的 deepin-wine6-stable" or o1.currentText() == "基于 UOS exagear 的 deepin-wine6-stable":
if not os.path.exists(f"{programPath}/dlls-arm"):
if os.system(f"7z x -y \"{programPath}/dlls-arm.7z\" -o\"{programPath}\""):
QtWidgets.QMessageBox.critical(widget, "错误", "无法解压资源")
@@ -1619,6 +1790,40 @@ class ValueCheck():
def ChangePath():
e1.setCurrentText(f'{setting["DefultBotton"]}/{os.path.splitext(os.path.basename(e2.currentText()))[0]}')
def UploadLog():
if QtWidgets.QMessageBox.question(window, "提示", "您确定要上传吗?上传内容将不会公开,将用于加强日志分析功能") == QtWidgets.QMessageBox.Yes:
text = QtWidgets.QInputDialog.getMultiLineText(window, "输入内容", "输入描述信息")
try:
returnList = requests.post(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0OjMwMjUwL2xvZw==").decode("utf-8"), {
"Log": returnText.toPlainText(),
"Wine": wine[o1.currentText()],
"Tips": text
}).json
if returnList["ExitCode"] == 0:
QtWidgets.QMessageBox.information(window, "提示", "上传成功!")
else:
print(returnList)
QtWidgets.QMessageBox.critical(window, "错误", "上传失败!")
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", "上传失败!")
def SaveLog():
path = QtWidgets.QFileDialog.getSaveFileName(window, "保存日志", get_home(), "txt文件(*.txt);;html 文件(*.html);;所有文件(*.*))")
if not path[1]:
return
print(path)
try:
with open(path[0], "w") as file:
if path[1] == "html 文件(*.html)":
file.write(returnText.toHtml())
else:
file.write(returnText.toPlainText())
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
###########################
# 加载配置
###########################
@@ -1664,11 +1869,14 @@ if not os.path.exists(get_home() + "/.config/deepin-wine-runner/WineSetting.json
# 设置变量
###########################
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
# 如果要添加其他 wine在字典添加其名称和执行路径
# 如果要添加其他 wine使用安装更多 Wine 功能
#############
# 检测 Wine
#############
try:
wine = {
"基于 UOS box86 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ",
"基于 exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
"基于 UOS exagear 的 deepin-wine6-stable": f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ",
"deepin-wine6 stable": "deepin-wine6-stable",
"deepin-wine5 stable": "deepin-wine5-stable",
"spark-wine7-devel": "spark-wine7-devel",
@@ -1680,11 +1888,13 @@ try:
"mono这不是 wine但可以实现初步调用运行 .net 应用)": "mono",
"基于 linglong 的 deepin-wine6-stable不推荐": f"ll-cli run '' --exec '/bin/deepin-wine6-stable'"
}
untipsWine = ["基于 UOS box86 的 deepin-wine6-stable", "基于 exagear 的 deepin-wine6-stable", "基于 linglong 的 deepin-wine6-stable不推荐"]
untipsWine = ["基于 exagear 的 deepin-wine6-stable", "基于 UOS box86 的 deepin-wine6-stable", "基于 UOS exagear 的 deepin-wine6-stable", "基于 linglong 的 deepin-wine6-stable不推荐"]
canUseWine = []
if os.path.exists("/opt/deepin-box86/box86"):
if os.path.exists("/opt/deepin-box86/box86") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 UOS box86 的 deepin-wine6-stable")
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 UOS exagear 的 deepin-wine6-stable")
if not os.system("which exagear") and os.path.exists("/opt/deepin-wine6-stable/bin/wine"):
canUseWine.append("基于 exagear 的 deepin-wine6-stable")
for i in wine.keys():
if not os.system(f"which '{wine[i]}'"):
@@ -1716,8 +1926,11 @@ try:
if os.system("which box64") == 0:
name = "基于 box64 的 "
value = f"box64 "
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
if os.system("which exagear") == 0:
name = "基于 exagear 的 "
value = f"exagear "
if os.path.exists("/opt/exagear/bin/ubt_x64a64_al"):
name = "基于 UOS exagear 的 "
value = f"WINEPREDLL='{programPath}/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix {get_home()}/.deepinwine/debian-buster --utmp-paths-list {get_home()}/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list {get_home()}/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list {get_home()}/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- "
except:
pass
@@ -1763,86 +1976,127 @@ except:
def getFileFolderSize(fileOrFolderPath):
"""get size for file or folder"""
totalSize = 0
if not os.path.exists(fileOrFolderPath):
return totalSize
if os.path.isfile(fileOrFolderPath):
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
return totalSize
if os.path.isdir(fileOrFolderPath):
with os.scandir(fileOrFolderPath) as dirEntryList:
for curSubEntry in dirEntryList:
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
if curSubEntry.is_dir():
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
totalSize += curSubFolderSize
elif curSubEntry.is_file():
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
totalSize += curSubFileSize
try:
if not os.path.exists(fileOrFolderPath):
return totalSize
if os.path.isfile(fileOrFolderPath):
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
return totalSize
if os.path.isdir(fileOrFolderPath):
with os.scandir(fileOrFolderPath) as dirEntryList:
for curSubEntry in dirEntryList:
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
if curSubEntry.is_dir():
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
totalSize += curSubFolderSize
elif curSubEntry.is_file():
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
totalSize += curSubFileSize
return totalSize
except:
return totalSize
# 获取当前语言
def get_now_lang()->"获取当前语言":
return os.getenv('LANG')
def GetVersion():
global about
global programVersionType
# 目前分为几个版本(在 control 文件区分):
# 星火版本:~spark
# 商店版本:~uos
# 编译版本:无版本号
# Gitee/Github……正常版本
programVersionTypeLnk = {
"spark": "星火应用商店版本",
"uos": "deepin/UOS 应用商店版本<带签名>"
}
programVersionType = "从源码运行的版本"
try:
if not os.path.exists("/var/lib/dpkg/status"):
print("无 dpkg结束")
file = open("/var/lib/dpkg/status", "r")
fileName = file.read().splitlines()
package = False
for i in range(0, len(fileName)):
if fileName[i] == "Package: spark-deepin-wine-runner-52":
programVersionType = "吾爱专版"
window.setWindowTitle(f"{title} 吾爱专版")
break
if fileName[i] == "Package: spark-deepin-wine-runner":
package = True
continue
if not package:
continue
if fileName[i].replace(" ", "").replace("\n", "") == "":
# 空行,不再考虑
break
# 搜索版本
# 又需要修复多线程导致的控件问题
def AddDockerMenu():
global dockers
global openFileManager
global openTerminal
dockers = menu.addMenu("该 Docker 基础管理")
openFileManager = QtWidgets.QAction("打开默认文件管理器")
openTerminal = QtWidgets.QAction("打开默认终端")
openFileManager.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"xdg-open '{get_home()}'"]).start())
openTerminal.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"x-terminal-emulator"]).start())
dockers.addAction(openFileManager)
dockers.addAction(openTerminal)
class GetVersionThread(QtCore.QThread):
signal = QtCore.pyqtSignal(str)
def __init__(self) -> None:
super().__init__()
def run(self):
global about
global window
global programVersionType
# 目前分为几个版本(在 control 文件区分):
# 星火版本:~spark
# 商店版本:~uos
# 编译版本:无版本号
# Gitee/Github……正常版本
# Docker 版本
programVersionTypeLnk = {
"spark": "星火应用商店版本",
"uos": "deepin/UOS 应用商店版本<带签名>"
}
# 直接判断是不是 Docker 版本
if os.path.exists(f"{programPath}/docker.txt") or os.path.exists("/.dockerenv"):
programVersionType = "Docker 内置版本"
window.setWindowTitle(f"{title} Docker 内置版本)")
self.signal.emit("")
else:
programVersionType = "从源码运行的版本"
try:
if fileName[i][:fileName[i].index(":")] == "Version":
version = fileName[i][fileName[i].index(":") + 1:].strip()
print(f"版本号为:{version}")
if not "-" in version:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
if not os.path.exists("/var/lib/dpkg/status"):
print("无 dpkg结束")
file = open("/var/lib/dpkg/status", "r")
fileName = file.read().splitlines()
package = False
for i in range(0, len(fileName)):
if fileName[i] == "Package: spark-deepin-wine-runner-docker":
programVersionType = "Docker 内置版本"
window.setWindowTitle(f"{title} Docker 内置版本)")
#AddDockerMenu()
self.signal.emit("")
break
programVersionType = version[version.index("-") + 1:]
print(programVersionType)
if "-" in programVersionType:
# 考虑到如 2.1.0-2-spark 的情况
programVersionType = programVersionType[programVersionType.index("-") + 1:]
if fileName[i] == "Package: spark-deepin-wine-runner-52":
programVersionType = "吾爱专版"
window.setWindowTitle(f"{title}(吾爱专版)")
break
if fileName[i] == "Package: spark-deepin-wine-runner":
package = True
continue
if not package:
continue
if fileName[i].replace(" ", "").replace("\n", "") == "":
# 空行,不再考虑
break
# 搜索版本号
try:
programVersionType = programVersionTypeLnk[programVersionType]
if fileName[i][:fileName[i].index(":")] == "Version":
version = fileName[i][fileName[i].index(":") + 1:].strip()
print(f"版本号为:{version}")
if not "-" in version:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
programVersionType = version[version.index("-") + 1:]
print(programVersionType)
if "-" in programVersionType:
# 考虑到如 2.1.0-2-spark 的情况
programVersionType = programVersionType[programVersionType.index("-") + 1:]
try:
programVersionType = programVersionTypeLnk[programVersionType]
except:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
except:
programVersionType = "从Gitee/Github/Gitlink等平台获取的版本"
break
traceback.print_exc()
continue
except:
traceback.print_exc()
continue
except:
print("无法读取,当没有处理")
print(programVersionType)
about = about.replace("@VersionForType@", programVersionType)
# 获取程序体积
about = about.replace("@programSize@", str(int(getFileFolderSize(programPath) / 1024 / 1024)))
print("无法读取,当没有处理")
print(programVersionType)
about = about.replace("@VersionForType@", programVersionType)
# 获取程序体积
about = about.replace("@programSize@", str(int(getFileFolderSize(programPath) / 1024 / 1024)))
def GetVersion():
global runVersion
runVersion = GetVersionThread()
runVersion.signal.connect(AddDockerMenu)
runVersion.start()
programVersionType = ""
print(wine)
@@ -1856,48 +2110,48 @@ version = information["Version"]
goodRunSystem = "常见 Linux 发行版"
thankText = ""
tips = '''<h4>提示:</h4>
1、使用终端运行该程序可以看到 wine 以及程序本身的提示和报错;
2、wine 32 位和 64 位的容器互不兼容;
3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装)
1、使用终端运行该程序可以看到 wine 以及程序本身的提示和报错
2、wine 32 位和 64 位的容器互不兼容
3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装)
4、本程序支持带参数运行 wine 程序(之前版本也可以),只需要按以下格式即可:
exe路径\' 参数 \'
即可(单引号需要输入)
5、wine 容器如果没有指定,则会默认为 ~/.wine
6、如果可执行文件比较大的话会出现点击“获取该程序运行情况”出现假死的情况因为正在后台读取 SHA1只需要等一下即可读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关
7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用)
8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序
即可(单引号需要输入)
5、wine 容器如果没有指定,则会默认为 ~/.wine
6、如果可执行文件比较大的话会出现点击“获取该程序运行情况”出现假死的情况因为正在后台读取 SHA1只需要等一下即可读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关
7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用)
8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序
9、在使用 linglong 包的 Wine 应用时,必须安装至少一个 linglong 的使用 Wine 软件包才会出现该选项,
而程序识别到的 Wine 是按 linglong 的使用 Wine 软件包名的字母排序第一个的 Wine且生成的容器不在用户目录下而是在容器的用户目录下~/.deepinwine、/tmp、桌面、下载、文档等被映射的目录除外
同理需要运行的 EXE 也必须在被映射的目录内
同理需要运行的 EXE 也必须在被映射的目录内
10、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及
<b>千万不要中断后不删除源的情况下 apt upgrade </b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine会自动执行恢复操作即可
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
updateThingsString = '''※1、不基于生态适配活动脚本的打包器支持只生成制作容器的 7z 包
※2、两个打包器的容器自动删除脚本添加 kill.sh
※3、Wine 运行器支持杀死对应容器进程
※4、容器自动配置脚本和 Wine 安装器支持切换源
5、非生态适配脚本打包器追加运行参数改为 --uri XXX 而非直接 XXX
6、两个打包器新增星火应用商店投稿入口
7、优化开启 Windows 虚拟机功能在未安装 VirtualBox 时的提示
8、Reg Shot 版本从 1.8.3-beta1V5 升级到 1.9.0
9、Geek Uninstaller 版本从 1.5.1.161 升级到 1.5.1.163
10、容器自动配置脚本添加 installother 命令、修复返回值传递问题
11、不显示 pip 安装库的提示信息(因为不是很核心的库)
12、非基于生态适配活动脚本的打包器默认勾选卸载该 deb 后自动删除容器、使用统信活动容器清理脚本、使用星火 wine helper
13、优化文案
updateThingsString = '''※1、容器自动配置脚本 GUI 查看介绍使用 QWebEngineWidget支持图片非强制依赖只做推荐
※2、不基于生态适配活动脚本打包器跟进 arm 架构 2022年11月11日的 Wine 微信打包方式;
※3、支持多图标的程序打包;
※4、修复了安装更多 Wine 换源换了个寂寞的问题;
5、修复安装更多 Wine 重新安装后列表丢失的问题;
6、新增了对 Deepin 23 Alpha 优化的 Wine 安装器;
7、新增 Dll 名称查询功能,可以查询对应 Dll 的作用;
8、支持静态获取可执行文件可以调用的 Dll 并提供解决方案;
9、支持移除指定的 .desktop 快捷方式;
10、新增日志分析功能以及导出、上传日志功能;
11、修复了不基于生态适配活动脚本打包器在选择 arm 打包架构下容器自动删除脚本取消勾选无用的问题;
12、优化文案、新增友链;
13、提供了部分组件的测试功能。
'''
for i in information["Thank"]:
thankText += f"{i}\n"
updateTime = "2022年11月06"
updateTime = "2022年11月25"
about = f'''<style>
a:link, a:active {{
text-decoration: none;
}}
</style>
<h1>关于</h1>
<p>一个能让Linux用户更加方便运行Windows应用的程序内置了对wine图形化的支持各种Wine工具自制Wine程序打包器运行库安装工具等</p>
<p>同时内置了基于VirtualBox制作的小白Windows虚拟机安装工具可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等</p>
<p>Wine运行器是一个能让Linux用户更加方便运行Windows应用的程序内置了对Wine图形化的支持各种Wine工具自制Wine程序打包器运行库安装工具等</p>
<p>同时内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具可以做到只需下载系统镜像并点击安装即可无需考虑虚拟机安装、创建、分区等操作。</p>
<p>本程序依照 GPLV3 协议开源</p>
<pre>
@@ -1925,42 +2179,19 @@ Qt 版本:{QtCore.qVersion()}
<h1>友谊链接</h1>
<pre>星火应用商店https://spark-app.store/
Deepin 官网https://www.deepin.org
Deepin 论坛https://bbs.deepin.org</pre>
Deepin 论坛https://bbs.deepin.org
非官方论坛https://gfdgdxi.flarum.cloud/</pre>
<hr>
<h1>©2020~{time.strftime("%Y")} <a href="https://gitee.com/gfdgd-xi">gfdgd xi、</a><a href="https://weibo.com/u/7755040136">为什么您不喜欢</a><a href="https://gfdgd-xi.github.io">熊出没</a><a href="https://weibo.com/u/7755040136">和阿布呢</a></h1>'''
<h1>©2020~{time.strftime("%Y")} gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
title = "Wine 运行器 {}".format(version)
#<h1>©2020~{time.strftime("%Y")} <a href="https://gitee.com/gfdgd-xi">gfdgd xi、为什么您不喜欢熊出没和阿布呢</h1>'''
updateThings = "{} 更新内容:\n{}\n更新时间:{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
try:
threading.Thread(target=requests.get, args=[parse.unquote(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9vcGVuL0luc3RhbGwucGhw").decode("utf-8")) + "?Version=" + version]).start()
except:
pass
iconListUnBuild = [
["QQ", "wineBottonPath/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe"],
["QQ", "wineBottonPath/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe"],
["TIM", "wineBottonPath/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe"],
["TIM", "wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe"]
]
iconList = [
["cmd", "cmd"],
["cmd", "cmd.exe"],
["cmd", "wineBottonPath/drive_c/windows/system32/cmd.exe"],
["Internet Explorer", "iexplore"],
["Internet Explorer", "iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe"],
["Internet Explorer", "wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe"],
["微信", "wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe"],
["微信", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe"],
["UltraISO", "wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe"],
["UltraISO", "wineBottonPath/drive_c/Program Files (x86)/UltraISO/UltraISO.exe"],
["迅雷", "wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["迅雷", "wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE"],
["Microsoft Office Word", "wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE"],
["腾讯会议", "wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe"],
["腾讯会议", "wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe"],
["腾讯课堂", "wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe"]
]
iconListUnBuild = json.loads(readtxt(f"{programPath}/IconList.json"))[0]
iconList = json.loads(readtxt(f"{programPath}/IconList.json"))[1]
for i in iconListUnBuild:
iconList.append(i)
print(iconList)
@@ -1978,8 +2209,6 @@ if not get_now_lang() == "zh_CN.UTF-8":
app.installTranslator(trans)
window = QtWidgets.QMainWindow()
window.setWindowTitle(title)
# 异同步获取信息
threading.Thread(target=GetVersion).start()
widget = QtWidgets.QWidget()
window.setCentralWidget(widget)
mainLayout = QtWidgets.QGridLayout()
@@ -2066,6 +2295,10 @@ programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 7, 1, 1)
getProgramStatus = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "获取该程序运行情况"))
getProgramStatus.clicked.connect(ProgramRunStatusShow.ShowWindow)
programManager.addWidget(getProgramStatus, 1, 8, 1, 1)
getLoseDll = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "检测静态下程序缺少DLL"))
getLoseDll.clicked.connect(GetLoseDll)
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 9, 1, 1)
programManager.addWidget(getLoseDll, 1, 10, 1, 1)
programManager.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum), 1, 9, 1, 1)
programManager.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "WINE配置")), 2, 0, 1, 1)
wineConfig = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "配置容器"))
@@ -2129,7 +2362,8 @@ mainLayout.addWidget(programRun, 2, 1, 1, 1)
menu = window.menuBar()
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序(&P)"))
p1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(&I)"))
installWineOnDeepin23 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23)"))
installWineOnDeepin23 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23 Preview)"))
installWineOnDeepin23Alpha = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23 Alpha)"))
installWineHQ = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 WineHQ"))
installMoreWine = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装更多 Wine"))
p2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "设置程序(&S)"))
@@ -2139,6 +2373,7 @@ cleanProgramUnuse = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "
p4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "退出程序(&E)"))
programmenu.addAction(p1)
programmenu.addAction(installWineOnDeepin23)
programmenu.addAction(installWineOnDeepin23Alpha)
programmenu.addAction(installWineHQ)
programmenu.addAction(installMoreWine)
programmenu.addSeparator()
@@ -2151,6 +2386,7 @@ programmenu.addSeparator()
programmenu.addAction(p4)
p1.triggered.connect(InstallWine)
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
installWineOnDeepin23Alpha.triggered.connect(InstallWineOnDeepin23Alpha)
installWineHQ.triggered.connect(InstallWineHQ)
installMoreWine.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/wine/installwine'"]).start())
p2.triggered.connect(ProgramSetting.ShowWindow)
@@ -2171,6 +2407,7 @@ w6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用官方 Wine
getDllOnInternet = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从互联网获取DLL"))
w7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从镜像获取DLL只支持官方安装镜像DOS内核如 Windows 95 暂不支持)"))
updateGeek = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从 Geek Uninstaller 官网升级程序"))
deletePartIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除部分 Wine 程序在启动器的快捷方式"))
deleteDesktopIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除所有 Wine 程序在启动器的快捷方式"))
wineOption.addAction(w1)
wineOption.addAction(w2)
@@ -2227,22 +2464,34 @@ wineOption.addAction(w10)
wineOption.addSeparator()
wineOption.addAction(w11)
wineOption.addSeparator()
wm3 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用 opengl"))
optionCheckDemo = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "组件功能测试"))
vbDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 Visual Basic 6 程序"))
netDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 .net framework 程序"))
netIEDemo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "测试 .net framework + Internet Explorer 程序"))
optionCheckDemo.addAction(vbDemo)
optionCheckDemo.addAction(netDemo)
optionCheckDemo.addAction(netIEDemo)
wineOption.addSeparator()
wm3 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用功能"))
ed1 = wm3.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用 opengl"))
wm3_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "开启 opengl"))
wm3_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁用 opengl"))
wm3.addAction(wm3_1)
wm3.addAction(wm3_2)
wm4 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 winbind"))
ed1.addAction(wm3_1)
ed1.addAction(wm3_2)
ed2 = wm3.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 winbind"))
wm4_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 winbind"))
wm4_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 winbind"))
wm4.addAction(wm4_1)
wm4.addAction(wm4_2)
dxvkMenu = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 DXVK"))
ed2.addAction(wm4_1)
ed2.addAction(wm4_2)
dxvkMenu = wm3.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 DXVK"))
installDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 DXVK"))
uninstallDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 DXVK"))
dxvkMenu.addAction(installDxvk)
dxvkMenu.addAction(uninstallDxvk)
wineOption.addSeparator()
wineOption.addAction(deletePartIcon)
wineOption.addAction(deleteDesktopIcon)
wineOption.addSeparator()
settingWineBottleCreateLink = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "允许/禁止指定 wine 容器生成快捷方式"))
enabledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "允许指定 wine 容器生成快捷方式"))
disbledWineBottleCreateLink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁止指定 wine 容器生成快捷方式"))
@@ -2299,6 +2548,7 @@ wm4_1.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-ter
wm4_2.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-terminal -C 'pkexec apt purge winbind -y' --keep-open"))
installDxvk.triggered.connect(InstallDXVK)
uninstallDxvk.triggered.connect(UninstallDXVK)
deletePartIcon.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"python3 '{programPath}/BuildDesktop.py'"]).start())
deleteDesktopIcon.triggered.connect(DeleteDesktopIcon)
enabledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f"))
disbledWineBottleCreateLink.triggered.connect(lambda: RunWineProgram("reg' add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe '/f"))
@@ -2309,6 +2559,9 @@ disbledHttpProxy.triggered.connect(DisbledHttpProxy)
saveDllOver.triggered.connect(SaveDllList)
addDllOver.triggered.connect(AddReg)
editDllOver.triggered.connect(lambda: RunWineProgram("winecfg"))
vbDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/vb.exe"))
netDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/net.exe"))
netIEDemo.triggered.connect(lambda: RunWineProgram(f"{programPath}/Test/netandie.exe"))
virtualMachine = menu.addMenu(QtCore.QCoreApplication.translate("U", "虚拟机(&V)"))
v1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用 Virtualbox 虚拟机运行 Windows 应用"))
@@ -2344,6 +2597,20 @@ s1.triggered.connect(lambda: webbrowser.open_new_tab("https://ata.360.net/"))
s2.triggered.connect(lambda: webbrowser.open_new_tab("https://s.threatbook.cn/"))
s3.triggered.connect(lambda: webbrowser.open_new_tab("https://www.virustotal.com/"))
log = menu.addMenu(QtCore.QCoreApplication.translate("U", "日志(&L)"))
getDllInfo = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "查询 Dll"))
checkLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "日志分析"))
saveLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "另存为日志"))
uploadLogText = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "上传日志"))
getDllInfo.triggered.connect(DllWindow.ShowWindow)
checkLogText.triggered.connect(LogChecking.ShowWindow)
saveLogText.triggered.connect(SaveLog)
uploadLogText.triggered.connect(UploadLog)
log.addAction(getDllInfo)
log.addAction(checkLogText)
log.addAction(saveLogText)
log.addAction(uploadLogText)
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助(&H)"))
runStatusWebSize = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "查询程序在 Wine 的运行情况"))
h1 = help.addMenu(QtCore.QCoreApplication.translate("U", "程序官网"))
@@ -2407,7 +2674,9 @@ h6.triggered.connect(WineRunnerBugUpload)
h7.triggered.connect(about_this_program)
h8.triggered.connect(lambda: QtWidgets.QMessageBox.aboutQt(widget))
hm1_1.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/uengine-runner"))
# 异同步获取信息
#threading.Thread(target=GetVersion).start()
GetVersion()
# 窗口设置
window.resize(widget.frameGeometry().width() * 2, widget.frameGeometry().height())
widget.setLayout(mainLayout)

Binary file not shown.

View File

@@ -1,3 +1,3 @@
{
"Version": "2.4.1"
"Version": "2.5.0"
}

View File

@@ -0,0 +1,772 @@
#!/bin/bash
# Copyright (C) 2016 Deepin, Inc.
# Copyright (C) 2022 The Spark Project
#
# Author: Li LongYu <lilongyu@linuxdeepin.com>
# Peng Hao <penghao@linuxdeepin.com>
#
# Modifier: shenmo <shenmo@spark-app.store>
# gfdgd xi <3025613752@qq.com>
#
#
WINEPREFIX="$HOME/.deepinwine/@public_bottle_name@"
APPDIR="/opt/deepinwine/apps/@public_bottle_name@"
APPVER="@deb_version_string@"
APPTAR="files.7z"
BOTTLENAME=""
WINE_CMD="deepin-wine"
#这里会被后续覆盖,似乎没啥用
LOG_FILE=$0
PUBLIC_DIR="/var/public"
# arm 的东西
EMU_CMD="/opt/deepin-box86/box86"
WINESERVER="/opt/deepin-wine6-stable/bin/wineserver"
# Helper 多架构通吃计划!
SHELL_DIR=$(dirname $0)
SHELL_DIR=$(realpath "$SHELL_DIR")
if [ $SPECIFY_SHELL_DIR ]; then
SHELL_DIR=$SPECIFY_SHELL_DIR
fi
if [ $APPRUN_CMD ]; then
WINE_CMD=$APPRUN_CMD
fi
if [ $SPECIFY_SHELL_DIR ]; then
SHELL_DIR=$SPECIFY_SHELL_DIR
fi
########## 看起来是对 box86 逻辑的处理
if [ -n "$APPRUN_CMD" ]; then
WINE_CMD=$APPRUN_CMD
if [ ! -f "WINE_CMD" ];then
WINE_CMD="/opt/${WINE_CMD}/bin/wine"
fi
fi
if [ -n "$BOX86_EMU_CMD" ];then
EMU_CMD="$BOX86_EMU_CMD"
fi
########## exagear 的
if [ "$EMU_NAME" = "exagear" ];then
IMAGE_PATH=$HOME/.deepinwine/debian-buster
IMG_ARCHIVE_DIR=/opt/deepin-wine-exagear-images/debian-buster
EMU_CMD="${SHELL_DIR}/exagear/ubt_x64a64_al"
EMU_ARGS="--path-prefix $IMAGE_PATH --utmp-paths-list $IMAGE_PATH/.exagear/utmp-list --vpaths-list $IMAGE_PATH/.exagear/vpaths-list --opaths-list $IMAGE_PATH/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary ${SHELL_DIR}/exagear/ubt_x32a64_al -- "
WINESERVER="${SHELL_DIR}/exagear/wineserver"
#新版本wine需要udis86的库
UDIS86="/usr/lib/i386-linux-gnu/libudis86.so.0"
if [[ -f "$UDIS86" ]] && [[ ! -f "${IMAGE_PATH}${UDIS86}" ]]; then
cp "$UDIS86" "${IMAGE_PATH}${UDIS86}"
fi
fi
# 用于 exagear 的函数
extract_image() {
LOCALTIME=`readlink -f /etc/localtime`
7z x "$IMG_ARCHIVE_DIR/files.7z" -o"$IMAGE_PATH" -aoa
cp /usr/bin/dde-file-manager $IMAGE_PATH/usr/bin/dde-file-manager
rm $IMAGE_PATH/etc/localtime
ln -s $LOCALTIME $IMAGE_PATH/etc/localtime
if [ -d $IMAGE_PATH/etc/resolvconf ];then
rm $IMAGE_PATH/etc/resolvconf
fi
if [ -d /etc/resolvconf ];then
cp /etc/resolvconf $IMAGE_PATH/etc/ -rf
fi
cp /etc/resolv.conf $IMAGE_PATH/etc/
cp /etc/hosts $IMAGE_PATH/etc/
echo $IMAGE_VER > $IMAGE_PATH/VERSION
}
get_link_err_nums() {
find $IMAGE_PATH -type l ! -exec test -e {} \; -print | wc -l
}
init_exagear_runtime()
{
## 解压文件
if [ ! -e $IMAGE_PATH/VERSION ];then
extract_image
fi
OLD_IMAGE_VER=`cat $IMAGE_PATH/VERSION`
if [ "$OLD_IMAGE_VER" != "$IMAGE_VER" ];then
extract_image
fi
echo "======$(get_link_err_nums)===="
if [ "$(get_link_err_nums)" -gt "120" ];then
extract_image
fi
## mount /data/ dir to geust
if [ -d $IMAGE_PATH ] && [ ! -d $IMAGE_PATH/data ];then
mkdir $IMAGE_PATH/data
cp $SHELL_DIR/exagear/vpaths-list $IMAGE_PATH/.exagear
fi
}
_DeleteRegistry()
{
env WINEPREFIX="$WINEPREFIX" $WINE_CMD reg DELETE "$1" /f &> /dev/null
}
#########功能:删除注册表
init_log_file()
{
if [ ! -d "$DEBUG_LOG" ];then
return
fi
LOG_DIR=$(realpath $DEBUG_LOG)
if [ -d "$LOG_DIR" ];then
LOG_FILE="${LOG_DIR}/${LOG_FILE##*/}.log"
echo "" > "$LOG_FILE"
debug_log "LOG_FILE=$LOG_FILE"
fi
}
debug_log_to_file()
{
if [ -d "$DEBUG_LOG" ];then
echo -e "${1}" >> "$LOG_FILE"
fi
}
debug_log()
{
echo "${1}"
}
################log相关功能
HelpApp()
{
echo " Extra Commands:"
echo " -r/--reset Reset app to fix errors"
echo " -e/--remove Remove deployed app files"
echo " -h/--help Show program help info"
}
#############帮助文件
FixLink()
{
if [ -d ${WINEPREFIX} ]; then
CUR_DIR=$PWD
cd "${WINEPREFIX}/dosdevices"
rm c: z: y:
ln -s -f ../drive_c c:
ln -s -f / z:
ln -s -f $HOME y:
cd $CUR_DIR
ls -l "${WINEPREFIX}/dosdevices"
fi
}
###########会在应用启动和解压时执行,驱动器绑定
DisableWrite()
{
if [ -d "${1}" ]; then
chmod +w "${1}"
rm -rf "${1}"
fi
mkdir "${1}"
chmod -w "${1}"
}
########如果有该文件夹则删除然后再创建一个不允许写入的这东西是被用在了QQ启动上看来腾讯不怎么好对付
is_autostart()
{
AUTOSTART="/opt/deepinwine/tools/autostart"
if [ -f "$AUTOSTART.all" ]&&[ -f "/opt/apps/$1/files/run.sh" ];then
return 0
fi
if [ -f $AUTOSTART ];then
grep -c "$1" $AUTOSTART > /dev/null
return $?
fi
return 1
}
#########自动启动相关,等用到了再研究
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
#######url转义
#arg 1: windows process file path
#arg 2-*: windows process args
CallProcess()
{
#get file full path
path="$1"
path=$(echo ${path/c:/${WINEPREFIX}/drive_c})
path=$(echo ${path//\\/\/})
#kill bloack process
is_autostart $DEB_PACKAGE_NAME
autostart=$?
if [ $autostart -ne 0 ];then
$SHELL_DIR/kill.sh "$BOTTLENAME" block
fi
#change current dir to excute path
path=$(dirname "$path")
cd "$path"
pwd
#Set default mime type
if [ -n "$MIME_TYPE" ]; then
xdg-mime default "$DEB_PACKAGE_NAME".desktop "$MIME_TYPE"
fi
# Disable winemenubuilder
env WINEPREFIX="$WINEPREFIX" $WINE_CMD reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v winemenubuilder.exe /f
debug_log_to_file "Starting process $* ..."
############# WARNING: Here is the modified content: Now will run set-dwine-scale.sh
/opt/durapps/spark-dwine-helper/scale-set-helper/set-wine-scale.sh "$WINEPREFIX"
#env WINEPREFIX="$WINEPREFIX" $WINE_CMD "$@" &
env WINEPREFIX="$WINEPREFIX" $EMU_CMD $EMU_ARGS $WINE_CMD "$@" &
#start autobottle
if [ $autostart -eq 0 ];then
$SHELL_DIR/autostart_wine.sh $DEB_PACKAGE_NAME
fi
}
###通用启动APP逻辑。对于没有被case捕捉的非适配APP则直接执行此部分。似乎已经有了防止残留的功能
###一些自定义的应用不会使用这个启动,而另一些则会调用这个
###有设置mimetype和自动启动(这个暂时没分析)的功能
###########专属优化段:
CallDouyin()
{
if [ -f "${WINEPREFIX}/drive_c/users/${USER}/Application Data/douyin" ]; then
rm "${WINEPREFIX}/drive_c/users/${USER}/Application Data/douyin"
mv ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/*.tmp ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/douyin
chmod 755 ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/douyin
fi
CallProcess "$@"
}
CallMuBu()
{
if [ -f "${WINEPREFIX}/drive_c/ProgramData/Microsoft/Windows/Start\ Menu/Programs/MuBu.lnk" ]; then
chmod 555 ${WINEPREFIX}/drive_c/ProgramData/Microsoft/Windows/Start\ Menu/Programs/MuBu.lnk
fi
CallProcess "$@"
}
CallFlyele()
{
if [ -w ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/飞项/Crashpad/reports ]; then
rm -rf ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/飞项/Crashpad/reports/*
chmod 555 ${WINEPREFIX}/drive_c/users/${USER}/Application\ Data/飞项/Crashpad/reports
fi
CallProcess "$@"
}
CallZhuMu()
{
#change current dir to excute path
path=$(dirname "$path")
cd "$path"
pwd
#Set default mime type
if [ -n "$MIME_TYPE" ]; then
xdg-mime default "$DEB_PACKAGE_NAME".desktop "$MIME_TYPE"
fi
debug_log_to_file "Starting process $* ..."
if [ -n "$2" ];then
env WINEPREFIX="$WINEPREFIX" $WINE_CMD "$1" "--url=$2" &
else
env WINEPREFIX="$WINEPREFIX" $WINE_CMD "$1" &
fi
}
CallQQGame()
{
debug_log "run $1"
$SHELL_DIR/kill.sh qqgame block
env WINEPREFIX="$WINEPREFIX" $WINE_CMD "$1" &
}
CallQQ()
{
if [ ! -f "$WINEPREFIX/../.QQ_run" ]; then
debug_log "first run time"
$SHELL_DIR/add_hotkeys
$SHELL_DIR/fontconfig
touch "$WINEPREFIX/../.QQ_run"
fi
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Tencent/QQ/Bin/QQLiveMPlayer"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Tencent/QQ/Bin/QQLiveMPlayer1"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Tencent/QzoneMusic"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Tencent/QQBrowser"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Common Files/Tencent/QQBrowser"
DisableWrite "${WINEPREFIX}/drive_c/users/Public/Application Data/Tencent/QQBrowserBin"
DisableWrite "${WINEPREFIX}/drive_c/users/Public/Application Data/Tencent/QQBrowserDefault"
DisableWrite "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/QQBrowserDefault"
DisableWrite "${WINEPREFIX}/drive_c/users/Public/Application Data/Tencent/QQPCMgr"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Common Files/Tencent/QQPCMgr"
DisableWrite "${WINEPREFIX}/drive_c/Program Files/Common Files/Tencent/HuaYang"
DisableWrite "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/HuaYang"
CallProcess "$@"
}
CallTIM()
{
if [ ! -f "$WINEPREFIX/../.QQ_run" ]; then
debug_log "first run time"
$SHELL_DIR/add_hotkeys
####似乎是给dde-control-center添加快捷键
$SHELL_DIR/fontconfig
####暂时无法得知用途和用法
# If the bottle not exists, run reg may cost lots of times
# So create the bottle befor run reg
env WINEPREFIX="$WINEPREFIX" $WINE_CMD uninstaller --list
touch $WINEPREFIX/../.QQ_run
fi
CallProcess "$@"
#disable Tencent MiniBrowser
_DeleteRegistry "HKCU\\Software\\Tencent\\MiniBrowser"
}
CallWeChat()
{
export DISABLE_RENDER_CLIPBOARD=1
CallProcess "$@"
}
CallWangWang()
{
chmod 700 "$WINEPREFIX/drive_c/Program Files/AliWangWang/9.12.10C/wwbizsrv.exe"
chmod 700 "$WINEPREFIX/drive_c/Program Files/Alibaba/wwbizsrv/wwbizsrv.exe"
if [ $# = 3 ] && [ -z "$3" ];then
EXEC_PATH="c:/Program Files/AliWangWang/9.12.10C/WWCmd.exe"
env WINEPREFIX="$WINEPREFIX" $WINE_CMD "$EXEC_PATH" "$2" &
else
CallProcess "$@"
fi
}
CallWXWork()
{
if [ -d "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/WXWork/Update" ]; then
rm -rf "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/WXWork/Update"
fi
if [ -d "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/WXWork/upgrade" ]; then
rm -rf "${WINEPREFIX}/drive_c/users/${USER}/Application Data/Tencent/WXWork/upgrade"
fi
#Support use native file dialog
CallProcess "$@"
}
CallDingTalk()
{
debug_log "run $1"
$SHELL_DIR/kill.sh DingTalk block
CallProcess "$@"
}
CallMeiTuXiuXiu()
{
#set -- "$1" "${2#file://*}"
local path=$(urldecode "$2")
path=${path/file:\/\//}
set -- "$1" "$path"
if [ "$path" ];then
CallProcess "$@"
else
CallProcess "$1"
fi
}
CallFastReadPDF()
{
#set -- "$1" "${2#file://*}"
local path=$(urldecode "$2")
path=${path/file:\/\//}
set -- "$1" "$path"
if [ "$path" ];then
CallProcess "$@"
else
CallProcess "$1"
fi
}
CallEvernote()
{
#set -- "$1" "${2#file://*}"
local path=$(urldecode "$2")
path=${path/file:\/\//}
set -- "$1" "$path"
if [ "$path" ];then
CallProcess "$@"
else
CallProcess "$1"
fi
}
CallTencentVideo()
{
if [ -f "${WINEPREFIX}/drive_c/Program Files/Tencent/QQLive/Upgrade.dll" ]; then
rm -rf "${WINEPREFIX}/drive_c/Program Files/Tencent/QQLive/Upgrade.dll"
fi
CallProcess "$@"
}
CallFoxmail()
{
sed -i '/LogPixels/d' ${WINEPREFIX}/user.reg
CallProcess "$@"
}
CallTHS()
{
$SHELL_DIR/kill.sh ths block
debug_log "Start run $1"
#get file full path
path="$1"
path=$(echo ${path/c:/${WINEPREFIX}/drive_c})
path=$(echo ${path//\\/\/})
#kill bloack process
name="${path##*/}"
$SHELL_DIR/kill.sh "$name" block
#change current dir to excute path
path=$(dirname "$path")
cd "$path"
pwd
#Set default mime type
if [ -n "$MIME_TYPE" ]; then
xdg-mime default "$DEB_PACKAGE_NAME".desktop "$MIME_TYPE"
fi
CallProcess "$@"
}
CallQQGameV2()
{
debug_log "run $1"
$SHELL_DIR/kill.sh QQMicroGameBox block
CallProcess "$1" -action:force_download -appid:${2} -pid:8 -bin_version:1.1.2.4 -loginuin:
}
CallPsCs6()
{
#get file full path
path="$1"
path=$(echo ${path/c:/${WINEPREFIX}/drive_c})
path=$(echo ${path//\\/\/})
#kill bloack process
name="${path##*/}"
$SHELL_DIR/kill.sh "$name" block
#change current dir to excute path
path=$(dirname "$path")
cd "$path"
pwd
#Set default mime type
if [ -n "$MIME_TYPE" ]; then
xdg-mime default "$DEB_PACKAGE_NAME".desktop "$MIME_TYPE"
fi
debug_log_to_file "Starting process $* ..."
CallProcess "$@"
}
CallIE8()
{
rm -f "$WINEPREFIX/system.reg"
cp $APPDIR/system.reg "$WINEPREFIX/system.reg"
CallProcess "$@"
}
#####专属优化段结束
UnixUriToDosPath()
{
OPEN_FILE="$1"
if [ -f "$OPEN_FILE" ]; then
OPEN_FILE=$(realpath "$OPEN_FILE")
OPEN_FILE="z:$OPEN_FILE"
OPEN_FILE=$(echo $OPEN_FILE | sed -e 's/\//\\\\/g')
fi
echo $OPEN_FILE
}
#arg 1: exec file path
#arg 2: autostart ,or exec arg 1
#arg 3: exec arg 2
#### CallApp段根据容器名找专属优化没有就走通用启动
CallApp()
{
FixLink
debug_log "CallApp $BOTTLENAME arg count $#: $*"
case $BOTTLENAME in
"Deepin-WangWang")
CallWangWang "$@"
;;
"Deepin-ZhuMu")
CallZhuMu "$@"
;;
"Deepin-QQ"|"Wine-QQ"|"Spark-QQ"|"Deepin-QQ-Spark")
CallQQ "$@"
;;
"Deepin-TIM"|"Spark-TIM")
CallTIM "$@"
;;
"Deepin-QQGame"*)
CallQQGame "$@"
;;
"Deepin-ATM")
CallATM "$@"
;;
"Deepin-WeChat")
CallWeChat "$@"
;;
"Deepin-WXWork"|"Spark-WeCom")
CallWXWork "$@"
;;
"Deepin-Dding")
CallDingTalk "$@"
;;
"Deepin-MTXX")
CallMeiTuXiuXiu "$@"
;;
"Deepin-FastReadPDF")
CallFastReadPDF "$@"
;;
"Deepin-Evernote")
CallEvernote "$@"
;;
"Deepin-TencentVideo")
CallTencentVideo "$@"
;;
"Deepin-Foxmail")
CallFoxmail "$@"
;;
"Deepin-THS")
CallTHS "$@"
;;
"Deepin-QQHlddz")
CallQQGameV2 "$1" 363
;;
"Deepin-QQBydr")
CallQQGameV2 "$1" 1104632801
;;
"Deepin-QQMnsj")
CallQQGameV2 "$1" 1105856612
;;
"Deepin-QQSszb")
CallQQGameV2 "$1" 1105640244
;;
"Deepin-CS6")
CallPsCs6 "$@"
;;
"Spark-MuBu")
CallMuBu "$@"
;;
"Spark-flyele")
CallFlyele "$@"
;;
"Spark-douyin")
CallDouyin "$@"
;;
"IE8")
CallIE8 "$@"
;;
*)
CallProcess "$@"
;;
esac
}
ExtractApp()
{
mkdir -p "$1"
7z x "$APPDIR/$APPTAR" -o"$1"
mv "$1/drive_c/users/@current_user@" "$1/drive_c/users/$USER"
sed -i "s#@current_user@#$USER#" $1/*.reg
FixLink
}
DeployApp()
{
ExtractApp "$WINEPREFIX"
echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION"
}
RemoveApp()
{
rm -rf "$WINEPREFIX"
}
ResetApp()
{
debug_log "Reset $PACKAGENAME....."
read -p "* Are you sure?(Y/N)" ANSWER
if [ "$ANSWER" = "Y" -o "$ANSWER" = "y" -o -z "$ANSWER" ]; then
EvacuateApp
DeployApp
CallApp
fi
}
UpdateApp()
{
if [ -f "$WINEPREFIX/PACKAGE_VERSION" ] && [ "$(cat "$WINEPREFIX/PACKAGE_VERSION")" = "$APPVER" ]; then
return
fi
if [ -d "${WINEPREFIX}.tmpdir" ]; then
rm -rf "${WINEPREFIX}.tmpdir"
fi
case $BOTTLENAME in
"Deepin-Intelligent" | "Deepin-QQ" | "Deepin-TIM" | "Deepin-WeChat" | "Deepin-WXWork" | "Deepin-Dding" | "Wine-QQ" | "Spark-QQ" | "Spark-weixin")
rm -rf "$WINEPREFIX"
DeployApp
return
;;
esac
ExtractApp "${WINEPREFIX}.tmpdir"
$SHELL_DIR/updater -s "${WINEPREFIX}.tmpdir" -c "${WINEPREFIX}" -v
rm -rf "${WINEPREFIX}.tmpdir"
echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION"
}
RunApp()
{
progpid=$(ps -ef | grep "zenity --progress --title=${BOTTLENAME}" | grep -v grep)
debug_log "run ${BOTTLENAME} progress pid $progpid"
if [ -n "$progpid" ]; then
debug_log "$BOTTLENAME is running"
exit 0
fi
if [ -d "$WINEPREFIX" ]; then
UpdateApp | progressbar "$BOTTLENAME" "更新$BOTTLENAME中..."
else
DeployApp | progressbar $BOTTLENAME "初始化$BOTTLENAME中..."
fi
CallApp "$@"
}
CreateBottle()
{
if [ -d "$WINEPREFIX" ]; then
UpdateApp
else
DeployApp
fi
}
ParseArgs()
{
if [ $# -eq 4 ];then
RunApp "$3"
elif [ -f "$5" ];then
if [ -n "$MIME_EXEC" ];then
RunApp "$MIME_EXEC" "$(UnixUriToDosPath "$5")" "${@:6}"
else
RunApp "$3" "$(UnixUriToDosPath "$5")" "${@:6}"
fi
else
RunApp "$3" "${@:5}"
fi
}
init_log_file
# Check if some visual feedback is possible
if command -v zenity >/dev/null 2>&1; then
progressbar()
{
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close --no-cancel ||
WINDOWID="" zenity --progress --title="$1" --text="$2" --pulsate --width=400 --auto-close
}
else
progressbar()
{
cat -
}
fi
#####准备启动进程,分析在 https://shenmo7192.gitee.io/post/deepin-wine6%E7%9A%84run_v4%E8%84%9A%E6%9C%AC%E6%8E%A2%E7%B4%A2%E5%90%AF%E5%8A%A8%E6%96%B9%E5%BC%8F/
if [ $# -lt 3 ]; then
debug_log "参数个数小于3个"
exit 0
fi
BOTTLENAME="$1"
WINEPREFIX="$HOME/.deepinwine/$1"
APPDIR="/opt/apps/${DEB_PACKAGE_NAME}/files"
if [ -f "$APPDIR/files.md5sum" ];then
APPVER="$(cat $APPDIR/files.md5sum)"
else
APPVER="$2"
fi
debug_log "Run $*"
#执行lnk文件通过判断第5个参数是否是“/Unix”来判断
if [ "$4" == "/Unix" ];then
RunApp "$3" "$4" "$5"
exit 0
fi
if [ $# -lt 4 ]; then
RunApp "$3"
exit 0
fi
case $4 in
"-r" | "--reset")
ResetApp
;;
"-c" | "--create")
CreateBottle
;;
"-e" | "--remove")
RemoveApp
;;
"-u" | "--uri")
ParseArgs "$@"
;;
"-f" | "--file")
ParseArgs "$@"
;;
"-h" | "--help")
HelpApp
;;
*)
echo "Invalid option: $4"
echo "Use -h|--help to get help"
exit 1
;;
esac
exit 0

View File

@@ -115,8 +115,13 @@ def ReadLocalInformation():
ui.localWineList.setModel(nmodel)
file.close()
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
print("新建空列表")
try:
with open(f"{programPath}/winelist.json", "w") as file:
file.write("[]")
except:
traceback.print_exc()
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
def InstallOtherWine():
path = QtWidgets.QFileDialog.getOpenFileName(window, "选择 Wine", os.getenv("~"), "wine(wine);;wine64(wine64);;全部文件(*.*)")
@@ -147,14 +152,17 @@ def InstallOtherWine():
def ChangeSources():
global urlSources
global internetWineSource
sources = [ui.gitlinkAction, ui.ipv6Action, ui.localAction]
for i in range(0, len(sources)):
if sources[i].isChecked():
urlSources = internetWineSourceList[i]
internetWineSource = internetWineSourceList[i]
# 读取信息
ReadLocalInformation()
ReadInternetInformation()
break
print(urlSources)
# 下面内容均翻译自 C++ 版本
def ReadInternetInformation():

0
wine/winelist.json Executable file → Normal file
View File

BIN
wrestool Executable file

Binary file not shown.