vb程序中使用end无效

goodboyrwy 2012-10-10 11:23:56
1.在vb的IDE环境下运行一切正常;
2.在vb中编译之后生成exe文件,双击运行之后,end无效,窗体仍然被加载,不知问题出在什么地方?
请大家指点,谢谢!
...全文
603 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
gabpfiugdu 2012-11-11
  • 打赏
  • 举报
回复
最简单的一种可能,你的代码有问题,系统崩溃
几罗星人 2012-11-11
  • 打赏
  • 举报
回复
引用 2 楼 wowfiowow 的回复:
end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload
一个End出现在任何地方,就硬性地关掉了程序,释放所有资源阵营和对象引用
王二.麻子 2012-11-09
  • 打赏
  • 举报
回复
引用 12 楼 wowfiowow 的回复:
引用 8 楼 的回复:引用 2 楼 的回复: end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload 此楼的说法肯定是错的,不用去想! 你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了
引用 20 楼 lixin8923 的回复:
我也遇到过和楼主类似的问题,最后查出是SStab造成end失效~但是又不是每次都会遇到~
对象引用造成的,并不是sstab就可以找出end结束不了程序. 如果a对象引用b对象,b对象以用a对象,在窗体里运行多少次end都结束不了进程. 窗体关闭,并不是就释放了窗体上的控件 自己引用,自己释放才是关键, 顶3L,9L
lixin8923 2012-11-08
  • 打赏
  • 举报
回复
我也遇到过和楼主类似的问题,最后查出是SStab造成end失效~但是又不是每次都会遇到~
lliai 2012-10-25
  • 打赏
  • 举报
回复
应该是代码问题,而非END问题。在查查程序。会做个试验,在启动界面直接用END试试。
SunnyerLiu 2012-10-24
  • 打赏
  • 举报
回复
end把整个进程都结束了的.除非你根本就没执行到end
Q2565093493 2012-10-23
  • 打赏
  • 举报
回复
end 可以退出程序的(结束程序的执行)
重新装一下vb看看!
hpygzhx520 2012-10-23
  • 打赏
  • 举报
回复
END不行的时候,unload也不会有用了。前提是代码没错
hpygzhx520 2012-10-23
  • 打赏
  • 举报
回复
理论上说,END是可以结束的。但实际上,复杂得多。我不得已的时候是用API结束自身进程的
_Pierre 2012-10-23
  • 打赏
  • 举报
回复
为毛我一END直接全部退出释放?[Quote=引用 12 楼 的回复:]
引用 8 楼 的回复:

引用 2 楼 的回复:

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想!


你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了
[/Quote]
橘子皮... 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 2 楼 的回复:

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload



此楼的说法肯定是错的,不用去想!
[/Quote]

你怎么知道就是错的?我上次就说过了end没法结束整个进程,有些窗体和控件释放不了
yz1025 2012-10-18
  • 打赏
  • 举报
回复
个人最近的一个小小经验
开启主视窗后若依照需求接连开启其他窗口(并存或没UnLoad的)
最后无法用一个END去结束全部窗口
好像需先记录每个曾开启过的窗口(并存或没UnLoad的)
最后结束前要先一一关闭曾经开启过的窗口
再END起始主窗口才会正常不然执行绪有时会被卡在后台

当然极端的方式是去使用API直接砍掉该程序启动后产生的的执行绪
但是此法有可能会造成资料遗失或输出结果不正常的现象
goodboyrwy 2012-10-17
  • 打赏
  • 举报
回复
使用end主要是想在程序已被打开过一次,再打开提示已运行然后退出;

另一个问题是:如何让程序自动把已运行的程序跳到屏幕的最前面。
贝隆 2012-10-11
  • 打赏
  • 举报
回复
end是结束整个进程的。
threenewbee 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload
[/Quote]

不要用“貌似”这样的词语忽悠人家。
橘子皮... 2012-10-11
  • 打赏
  • 举报
回复
end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload
threenewbee 2012-10-11
  • 打赏
  • 举报
回复
程序有没有运行到你写了end的地方哦。
熊孩子开学喽 2012-10-11
  • 打赏
  • 举报
回复
好好的程序为啥要靠end来退出呢? 养成好习惯, 加载一个对象就卸载一个对象, 即使将来换别的语言也不会错的.

m60a1 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

end貌似只能结束当前模块或窗体,不能结束所有的,必须1个1个unload
[/Quote]


此楼的说法肯定是错的,不用去想!
m60a1 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

程序有没有运行到你写了end的地方哦。
[/Quote]


此楼正解!
加载更多回复(2)
VB程序设计综合复习题 1、叙述Visual Basic的特点。 2、当窗体上有三个文本框和一个命令按钮,若程序运行时,焦点定位在第三个文本框(Text3)处,应对何控件的什么属性进行何种设置? 3、若要对窗体上的三个文本框输入数据,个控件焦点的移动可通过Tab键(系统本身具有的),也可通过回车键,则要对文本框的什么事件编程? 4、当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到文本框重新输入? 5、怎样把关于Command命令按钮的Enabled属性的帮助示例代码复制到你的代码窗口?已知帮助的代码如下: Private Sub Form_Load() Text1.Text = ”” ‘消除文本框的内容 Command1.Caption = “Save” ‘在按钮上放置标题 End Sub Private Sub Text1_Change() If Text1.Text = “” Then ‘查看文本框是否为空 Command1.Enabled = False ‘使按钮无效 Else Command1.Enabled = True ‘使按钮有效 End If End Sub 6、当运行程序前,对某些控件设置属性值,除了在窗体直接设置外,还可以通过代码设置,这些代码一般放在什么事件?例如,程序要将命令按钮定位在窗体的央,请写出事件过程。 7、在KeyPress事件,如何取消用户刚键入的字符? 8、静态数组与动态数组的区别是什么?在声明静态数组、重定义动态数组时的下标都可以用变量来表示吗? 9、函数过程和子过程的区别是什么? 10、子过程调用有哪两种形式? 11、什么是形参?什么是实参?什么是值引用?什么地址引用?地址引用时,对应的实参有没有限制? 12、如果要时钟控件每半分钟发生一个Timer事件,则Interval属性应设置为多少? 13、如果在KeyDown事件过程将KeyCode设置为0,KeyPress的KeyAscii参数会不会受影响?如果输入的对象是文本框,那文本框的内容是否有影响? 14、构造满足下列条件的Open语句。 (1)建立一个新的顺序文件SEQNEW.DAT,供用户写入数据,指定文件号为1。 (2)打开一个老的顺序文件SEQOLD.DAT,用户将从该文件读出数据,指定文件号为2。 (3)打开一个老的顺序文件SEQAPPEND.DAT,用户将在该文件后面添加数据,文件号通过调用FreeFile函数获得。 15、请写出程序代码片段,将磁盘上的两个文件合并。(提示:把它们作为二进制文件打开) 16、PictureBox控件和Image控件有什么区别? 17、Visual Basic可处理哪些格式的图形文件? 18、在程序运行时怎样在图形(像)框装入或删除图形? 19、简述Printer对象与Printers集合对象的区别。 20、当要在ToolBar控件添加一个按钮,如何实现? 21、当要修改ToolBar控件某按钮的图像,如何实现? 22、Visual Basic记录集有几种类型?有
//---------------------------------------SComm控件的常用属性和方法----------------------------- Commport;设置或返回串口号。 SettingS:以字符串的形式设置或返回串口通信参数。 Portopen:设置或返回串口状态。 InputMode:设置或返回接收数据的类型。 Inputlen:设置或返回一次从接收缓冲区读取字节数。 InBufferSize:设置或返回接收缓冲区的大小,缺省值为l 024字节。 InBufferCount:设置或返回接收缓冲区等待计算机接收的字符数。 Input:从接收缓冲区读取数据并清空该缓冲区,该属性设计时无效,运行时只读。 OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。 OutBufferCount:设置或返回发送缓冲区等待计算机发送的字符数。 Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。 设置好这些属性和方法,程序很容易就可以编出来了,其要注意的是串口的波特串设置,OnComm事件的程序编写。 程序的设计是这样的,计算机向单片机发送一个’S’,表示通信开始。然后紧接着又发送9个字符,其最后一个字符是前面9个字符(包括’S’)的校验和。单片机正确接收到10个字符后,把10个字符从新又送回来。 //---------------------------------------初始化串口设计----------------------------- Private Sub Form_Load() ..................................... d Sub //---------------------------------------接收单片机发送的数据,并显示----------------------------- Private Sub Comm1_OnComm() Select Case Comm1.CommEvent '设置oncomm事件,读取片机内存的值 Case comEvReceive Inputsignal=comm1.Input Text1.Text=Asc(Inputsignal) '单片机内存的值用textbox显示出 Case Else End select End Sub
Ring3下注入DLL的另类方法,能过杀软和游戏NP(源码) 注入DLL是做全局钩子或者拦截类软件都有可能用到的技术,如果做外挂的话我们也有 可能需要注入一个DLL到游戏进程去干点什么“坏事”。 但我们知道现在要注入DLL是越 来越难了。场景1:制作火星文输入法外挂,原理是利用API HOOK拦截并修改输入法相关函 数,需要注入一个DLL到所有进程,但是后来发现,在开启了瑞星的帐号保险箱后,用户 将不能在QQ输入火星文。原因是瑞星保护了QQ进程,禁止对其注入DLL,解决方法是提示 用户关闭帐号保险箱 -_-| 确实是很降低用户体验的一个不是办法的办法。场景2:制作某 游戏外挂,需要注入一个DLL到游戏进程去直接调用游戏函数完成某一功能。结果发现该 游戏有NP保护,OpenProcess打不开,创建远程线程也不行,试用其它方法也一一失败。遇 到上面的情况,高手们自然是转到Ring0下面去,使用驱动之类的办法来对付啦,不过吾等 菜鸟可就是酒井没法子了 -_-| 不过也别太灰心,凡事总会有办法的。我想我们需要一种持久的、稳定的、不容易被安 全软件屏蔽的DLL注入方法,后来发现,输入法程序就是能完成这一任务的理想人选。输入 法程序程序到底是什么?它没有自己的进程,并且在系统还没有登录时就已被加载(在欢迎 界面你也可以调出输入法),它可以在游戏打开,也可以在控制台程序打开,还可以在 瑞星保护下的QQ打开,在杀软也可以打开,这不就是我们要找的特性吗。那么,输入法 到底是什么呢?根据Windows的规定,输入法其实就是一个DLL,不过它是一个特殊的DLL, 它必须具有标准输入法程序所规定的那些接口,输入法是由输入法管理器(imm32.dll)控 制的,输入法管理器又是由user32.dll控制的。输入法在系统目录是以IME为扩展名的文件 ,当在应用程序激活某个输入法时,输入法管理器就会在那个应用程序的进程加载对应 的IME文件,注意,加载IME文件跟加载普通的DLL并没有本质区别,所以,可以认为,输入 法其实就是注入到应用程序的一个DLL文件,并且,这种“注入”是不会被杀软和游戏NP 拦截的(至少目前是)。现在,我们已经有了一个注入DLL的另类方法,那就是利用输入法 。具体流程是这样,首先制作一个标准输入法文件,但是这个输入法并不完成文字输入工作 ,它的唯一任务就是用来注入DLL,所以称为“服务输入法”,然后,制作一个控制程序, 来控制服务输入法,当然最后还需要一个用于注入的目标DLL,这样一共就有3个文件。开始 工作后,控制程序首先将服务输入法安装到系统,然后传递几个参数给服务输入法,参数 包括了需要注入的DLL文件的名称和路径,然后,控制程序将服务输入法设置为系统的默 认输入法,这样新的程序一打开,服务输入法就会注入那个程序。当然,在服务输入法安装 之前打开的程序不会被注入,这时需要向系统的所有窗口POST一条 WM_INPUTLANGCHANGEREQUEST消息,该消息可以在指定窗口后台激活服务输入法,这样, 系统所有拥有窗口的进程就都被我们的服务输入法注入了。服务输入法注入程序之后,就 会根据控制程序传递过来的参数加载目标DLL,这样目标DLL也就随着服务输入法一同注入到 目标程序了。注意服务输入法是控制程序用WM_INPUTLANGCHANGEREQUEST消息在所有窗口 自动激活的,如果某个窗口自动激活失败,你就需要在那个窗口手工切换到服务输入法 ,这样才能注入进去了。至于注入以后,你就可以在窗口切换到别的输入法,这并不会影 响已经注入进去的DLL。我将这一套功能制作成一个完整的示例,你可以在以下地址下载: http://www.pen88.com/download/imehook.rar 压缩包的第6个和第8个文件夹演示了此 功能并包含所有源代码。其文件imedllhost09.dll就是服务输入法,运行时会被安装到系 统,控制程序退出时会自动卸载该输入法,这样用户就不太容易察觉,你还可以重新编译 该输入法,将名称改为“文(国)”,这样隐蔽性更好。文件hxwdllwx.dll是演示用的 目标DLL,你可以替换成自己的DLL,然后那个exe文件就是控制程序了。输入法 imedllhost09.dll在运行时会被复制到系统目录并更名为imedllhost09.ime,它导出了2个 函数用于控制。在VB的声明为: Public Declare Function IMESetPubString Lib "imedllhost09.ime" (ByVal RunDLLStr As String, ByVal UnloadDll As Long, ByVal loadNextIme As Long, ByVal DllData1 As Long, ByVal DllData2 As Long, ByVal DllData3 As Long) As Long Public Declare Function IMEClearPubString Lib "imedllhost09.ime" () As Long 其IMESetPubString用于向输入法传递要注入的DLL等参数。RunDLLStr,要注入的DLL命令 和完整路径。UnloadDll,当输入法退出时,是否同时卸载目标DLL 0-是,1-否。 loadNextIme,当切换至该服务输入法时,是否直接切换到下一个输入法(这样服务输入法 就好像被跳过了,可最小限度影响用户的输入法顺序) 0-否,1-是。DllData1,DllData2 ,DllData3是传递给目标DLL的回调函数(函数名称必须为RunDllHostCallBack)的参数, 你可以在目标DLL导出一个函数,名称为RunDllHostCallBack,这样当输入法注入时会调 用目标DLL的该回调函数并向其传递这3个参数。函数原型为(VC): DWORD RunDllHostCallBack(DWORD calldata1, DWORD calldata2,DWORD calldata3); IMEClearPubString函数用于清除输入法的配置,清除后,输入法将停止在新的程序注入 目标DLL,但已注入的DLL不会卸载。 好了,利用输入法来注入DLL基本上就是这样了,详细的用法大家可以看压缩包的第8个文 件夹,其服务输入法是VC写的,控制程序VB的,代码都是有注释的。测试发现该方法能 过目前所有杀软,也能注入冰刃。当然缺点还是有的,就是目标程序如果不接受输入法那就 没办法了,但是现在一般的游戏都不会禁止玩家在里面打字吧,而且杀软也不能禁止用户输 入汉字吧,哈哈,所以通用性应该还是蛮好的。 最后,我再介绍另一个注入DLL的方法,估计也很少被用到。是利用一个未公开函数 RegisterUserApiHook,可以在网上搜索关键词“RegisterUserApiHook”,查到有人在 Windows 2003下测试成功,但是我在Windows XP测试却失败。后来终于找到了失效的原因。 RegisterUserApiHook函数可以在系统注册一个全局钩子,你需要在钩子指定一个DLL和 一个回调函数,然后,所有加载了user32.dll的程序就都会在启动时加载你指定的这个DLL 。用这个函数来注入DLL也是很不错的。但是测试发现它的注入能力似乎赶不上上面提到的 利用输入法来注入的办法,可以注入一般的程序和某些安全程序,但是对冰刃无效。而且它 有一个限制,就是系统只能同时存在一个这样的钩子。实际上这个钩子平时是被系统的 Themes服务占用了,Themes服务正是利用这个钩子HOOK了绘制窗口的相关API,所以才让所 有程序窗口变成XP主题样式的。所以我们要用这个钩子的话,必须先关闭Themes服务,这样 在XP下也可以用了,但是这样系统就变成Windows 2000的样式了 -_-| RegisterUserApiHook函数的VB声明如下: Public Declare Function RegisterUserApiHookXP Lib "user32" Alias "RegisterUserApiHook" (ByVal hInstance As Long, ByVal fnUserApis As Long) As Long Public Declare Function RegisterUserApiHook2003 Lib "user32" Alias "RegisterUserApiHook" (pRegInfo As HookAPIRegInfo2003) As Long 可以看到,在XP和2003下这个函数的参数是不一样的。关于此函数的示例代码,请参见压缩 包的第5个文件夹。 最后的最后,再介绍一个未公开函数InitializeLpkHooks,这个函数在网上能找到的资料更 少,只有一个声明而已。但是它名称最后那个“Hooks”误导了我,我以为又是一个可以 用来注入DLL的不错函数,用OD反出来一看,原来只是个局部HOOK而已。虽然没太大用,还 是一并写上吧,也许谁用得着呢。InitializeLpkHooks顾名思义就是HOOK LPK的,Windows 有个lpk.dll,就是支持多语言包的那么个功能。测试发现好多程序在TextOut之前似乎是要 调用lpk.dll里面的相关函数的,可能是支持多语言的程序就需要用这个来判断到底要显示 那种语言吧。而InitializeLpkHooks,就是用来HOOK lpk.dll里面的4个函数的,这4个函数 是LpkTabbedTextOut,LpkPSMTextOut,LpkDrawTextEx,LpkEditControl。我们先打开VB, 在窗体加入以下代码吧: Private Sub Form_Load() DLLhwnd = LoadLibrary("lpk.dll") '加载DLL DLLFunDre = GetProcAddress(DLLhwnd, "LpkDrawTextEx") '获取回调函数地址 LpkHooksInfo.lpHookProc_LpkTabbedTextOut = 0 LpkHooksInfo.lpHookProc_LpkPSMTextOut = 0 LpkHooksInfo.lpHookProc_LpkDrawTextEx = GetLocalProcAdress(AddressOf HookProc1) '设置要HOOK的LPK函数 LpkHooksInfo.lpHookProc_LpkEditControl = 0 InitializeLpkHooks LpkHooksInfo End Sub Private Sub Form_Unload(Cancel As Integer) LpkHooksInfo.lpHookProc_LpkTabbedTextOut = 0 LpkHooksInfo.lpHookProc_LpkPSMTextOut = 0 LpkHooksInfo.lpHookProc_LpkDrawTextEx = DLLFunDre LpkHooksInfo.lpHookProc_LpkEditControl = 0 InitializeLpkHooks LpkHooksInfo FreeLibrary DLLhwnd End Sub 然后新建一个模块,在模块加入以下代码: Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Public Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long ' ----------------未公开函数-------------------------------------- Public Declare Sub InitializeLpkHooks Lib "user32" (lpProcType As Any) Type LpkHooksSetting lpHookProc_LpkTabbedTextOut As Long lpHookProc_LpkPSMTextOut As Long lpHookProc_LpkDrawTextEx As Long lpHookProc_LpkEditControl As Long End Type ' ------------------------------- Public DLLhwnd As Long, DLLFunDre As Long Public LpkHooksInfo As LpkHooksSetting Public Function GetLocalProcAdress(ByVal lpProc As Long) As Long GetLocalProcAdress = lpProc End Function Function HookProc1(ByVal a1 As Long, ByVal a2 As Long, ByVal a3 As Long, ByVal a4 As Long, ByVal a5 As Long, ByVal a6 As Long, ByVal a7 As Long, ByVal a8 As Long, ByVal a9 As Long, ByVal a10 As Long) As Long HookProc1 = 0 End Function 运行一下看看,是不是窗体标题栏和按钮上的文字都没有了,因为我们把函数 LpkDrawTextEx替换成自己的函数HookProc1了。这个函数有10个参数,其几个好像是字符 串指针,似乎可以用来截获窗体要显示的文字,然后改成另一种语言的文字,我猜想,也许 就是这个用途吧。哈哈,纯属猜测。以上就是函数InitializeLpkHooks的用法了。 以上就是全部。 本文所有示例代码的下载地址是: http://www.pen88.com/download/imehook.rar 我的QQ511795070,欢迎交流。
DirectX修复工具(DirectX Repair)是一款系统级工具软件, 简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。 程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序包含了最新版 的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击 主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册 的全部功能,无需用户的介入,大大降低了使用难度。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情 请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、 Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。 本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V3.8版分为标准版、增强版以及在线修复版。所有版本都支持修复DirectX的功能, 而增强版则额外支持修复c++的功能。在线修复版功能与标准版相同,但其所需的数据包需要在 修复时自动下载。各个版本之间,主程序完全相同,只是其配套使用的数据包不同。因此,标准版 和在线修复版可以通过补全扩展包的形式成为增强版。本程序自V3.5版起,自带扩展功能。只要在 主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其的“开始扩展” 按钮即可。扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。 扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、 下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本 的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前 版本相同,并未降低。 程序有自动更新c++功能。由于绝大多数软件运行时需要c++的支持,并且 c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要 更新系统的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业 软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++ 异常时(非丢失时)会提示用户使用增强版进行修复。除常规修复外,新版程序还支持 C++强力修复功能。当常规修复无效时,可以到本程序的选项界面内开启强力修复功能, 可大幅提高修复成功率。请注意,此功能为试验性功能,请仅在常规修复无效时再使用程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种 简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。 该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌, 即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的 “Settings.ini”文件(如果没有可以自己创建),将其的“FormStyle”一项的值改 为“Simple”并保存即可。 新版程序支持命令行运行模式。在命令行调用本程序,可以在路径后直接添加命令 进行相应的设置。常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置 安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制DirectDraw的命令、 显示版权信息的命令。具体命令名称可以通过“/help”或“/?”进行查询。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不 必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat” 文件,其的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须 在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时, 及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框包含了6项高级功能。点击其的“注册系统文件夹所有dll文件” 按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题, 还可以修复系统很多其他由于dll未注册而产生的问题,颇为实用。点击该按钮旁边的小箭头, 还可以注册任意指定文件夹下的dll文件,方便用户对绿色版、硬盘版的程序组件进行注册。 点击第二个按钮可以为dll文件的右键菜单添加“注册”和“卸载”项,方便对单独的dll文件 进行注册。请注意,并不是所有的dll文件都可以通过这种方式注册。点击“扩展”选项卡可以 将任意版本的程序扩展成增强版。点击“DirectX版本”选项卡,可以自行修改系统DirectX的 版本信息。点击“DirectX加速”选项卡可以控制系统DirectX加速的开启与关闭。点击“实验室” 选项卡可以开启实验功能:C++强力修复功能,通过全新的代码设计,彻底改善对于顽固异常文件的处理, 极大提高修复成功率。API Sets强力修复功能,参照了DirectX文件的精细修复方式,极大地改善了 修复失败的情况。修复失败时启用调试模式功能,可以在出现问题时分析错误原因。 新版程序集成了用户反馈程序,可以在用户允许的前提下发送检测修复结果。 用户也可以在出现问题时通过反馈程序和软件作者进行交流,共同查找问题。 反馈是完全自愿和匿名(如果不填写E-mail地址)的。 本程序的通用版基于Microsoft .NET Framework 2.0开发,对于Windows 2000、 Windows XP、Windows 2003的用户需要首先安装.NET Framework 2.0或更高版本 方可运行本程序。有关下载和安装的详细信息请参阅“致Windows XP用户.txt”文件。 对于Windows Vista、Windows 7及后续用户,可以直接运行本程序。 同时鉴于Windows 8(Windows 8.1、Windows 8.1 Update)、Windows 10系统默认未包含 .NET Framework 2.0,因此新版的程序文件夹内将包含一个DirectX_Repair_win8_win10的特别版程序, 该程序功能与通用版相同,基于.NET Framework 4.0开发,可以在Windows8(Windows 8.1、Windows 8.1 Update)、 Windows 10系统直接运行(其他系统如果安装了.NET Framework 4.0也可以运行这个特别版的程序)。 本程序的官方博客地址为:http://blog.csdn.net/vbcom/article/details/6962388 所有的更新以及技术支持都可以到该博客上找到。 此次发布的程序虽经多次测试,但仍难免存在不足以及BUG,希望大家见谅并指正。 如果您对本程序有任何疑问或建议,欢迎发送电子邮件到: zhangyue667#263.net (把#换成@) 本人期待与您的交流。 最后,再次感谢大家的支持! zhangyue667#263.net 2018-12-12 DirectX Repair is the system-level tool software which is designed for addressing the problems in DirectX. This programme is installation free and can run directly under Windows OS. The main function of this programme is to check the possible errors under the DirectX, especially the 0xc000007b problems, and then fix them. This programme consists of the latest version of DirectX Redist (Jun2010), and all the DX files have the digital signatures from Microsoft. In this case, the security of this programme can be guaranteed. To be friendlier to the less experienced users, this programme is designed to repair all the underlying issues by just clicking one button. Once the users click the button “Check and Repair” on the main form, the programme will finish verification, checking, downloading, repairing and registering automatically, without any further participation from the users, which reduces the difficulty of operating this software. This programme is suitable for multiple Windows OS, such as Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 8.1 Update and Windows 10, and both 32-bit and 64-bit systems are supported. The programme can detect the version of the system and the bit of system automatically, and repair the necessary files accordingly. No manual settings are required. DirectX Repair V3.8 provides three different editions of programmes; for example, Standard Edition, Enhanced Edition and Online Edition. All editions can repair DirectX, while the Enhanced Edition can extra repair c++ components. The Online Edition is similar to the Standard Edition, but the files for repairing are not included in Online Edition. Consequently, Internet connection is required when it is repairing the files. The exe applications are exactly the same between each edition. What makes their differences is the data package that they include. In this context, the Standard and Online Edition could be extended to Enhance Edition if new data packages are added. From V3.5 on, DirectX Repair supports a new feature called Extending. The Extending page can be found from the sub-menu “Option” under the menu “Tool”. The extending process requires Internet connection. The new data packages will be activated automatically after the successful extending. The time for extending varies from a few seconds to a few minutes according to the Internet speed. From V2.0 on, DirectX Repair has updated the base of the programme with multithread programming technologies. The new design provides separated tasks for checking, downloading and repairing, which means that each task can perform individually without interfering between each other. The programme also improves the verification mechanism, so there will not be any errors during the verification process; however, this does not mean that the programme cancels the verification, so the security level remains the same as previous versions. The programme supports updating c++ components. Since most software requires the assistance of c++ while running and the exceptions in c++ might also lead to 0xc000007b errors, the programme will examine c++ during the checking process. From V3.2 on, DirectX Repair starts to employ new c++ packages, and it can significantly increase the rate of successful repairing, especially for the industrial software. Such c++ repairing is only available for Enhanced Edition. The Standard and Online Edition will inform the users to switch to Enhanced Edition if the programme finds that there might be possible errors from the exceptional c++ components (not from missed c++ components). Besides the normal repairing, the programme now supports c++ enhanced repairing. You can enable "C++ enhanced repairing" from "Tool" -> "Option" -> "Lab" if normal repairing is invalid. Please be aware that this function is experimental and should only be used when normal repairing is not successful. There are two types of form styles, which are normal style and simple style respectively. Normal style is the default style, and it is suitable for most users. Simple style is a simplified form, and only the most basic elements will be shown. In this style, checking and repairing will be implemented automatically, and the programme will quit in 10 seconds after completing all the processes. This design is to provide an easy operation for some labour sensitive users, and this style is easy to be integrated in other games or software to achieve the goal of human-involved free repairing. The simple style can be enabled by following steps: open the file “Settings.ini” under the programme folder (this file can be created manually if there is no such file under the folder); change the value of “FormStyle” to “Simple”; save the file and this feature is then enabled. The programme can be called from command line, and it can accept commands from command line. The commands can be added just after the path. There are 7 types of commands, which are language commands, form style commands, security level commands, enhanced repairing commands, c++ repairing configuration commands, DirectDraw configuration commands, and copyright commands respectively. The detailed commands can be acquired by adding "/help" or "/?" after the normal path. This programme also provides a feature called Advanced Filter. With this feature, the users can select which files are needed to be repaired, so the unnecessary repairing could be avoided. Meanwhile, the programme can also realize Advanced Filter by creating an auxiliary file called “Filter.dat” under the programme folder. In this auxiliary file, the indexes of the selected files can be written individually in each line. This feature might be only suitable for the experienced users, and it is only available in the normal style. This programme can record the logs automatically while repairing. Each result is recorded separately with context information. This feature is quite useful especially when the repairing is failed, since the author can analyse the possible reasons from the recorded logs. There are six advanced features in the dialog form of “Option”. By clicking the button of “Register all ‘dll’ files in your system folder”, the programme will register all the dll files under your system folder automatically. This feature is not only suitable for the issues caused by DirectX, but also useful for the problems generated by the unregistered dll files. There is a small arrow beside this button, and it is designed to register the dll files under the specified folder. By clicking the button of “Add items ‘Register’ and ‘Unregister’ to dll-file right-click menu”, new items will appear under the right-click menu of the dll files. Please note that, not all the dll files can be registered by this method. In the “Extending” Tab, the programme can be extended to Enhanced Edition from Standard or Online Edition. In the “DX Version” Tab, the DirectX information can be amended by the users. In the “DX Acceleration” Tab, the DirectX accelerations can be enabled or disabled. In the "Lab" Tab, the following functions can be activated: C++ enhanced repairing, which is newly designed, aims to improve the handling of some abnormal files and to increase the success rate; API Sets enhanced repairing, referencing the careful repairing from DirectX files, promotes the results of repairing API Sets files; "Enable debug mode when failed" tries to provide extra debugging information when some files are failed to be repaired. The new version of programme has embedded the feedback programme, and the repairing results can be sent back to the author with the permit of the end users. The end users can also communicate with the author by the feedback function to address the issues together. The feedback is voluntary and anonymous (if you do not fill in your E-mail address). The general version of this programme (DirectX Repair.exe) is developed by Microsoft .NET Framework 2.0. To the users who are still using Windows 2000, Windows XP and Windows 2003, you need to install Microsoft .NET Framework 2.0 or higher versions before you can run this programme. The detailed steps for installing .NET can be found in the file “To Windows XP users.txt”. The ones who use Windows Vista, Windows 7 or Windows beyond can run this programme directly on your systems. Besides, since Windows 8 (Windows 8.1, Windows 8.1 Update) and Windows 10 do not include .NET Framework 2.0 directly, a new special file (DirectX_Repair_win8_win10.exe) is included under the programme folder. This file has exactly the same functions as the general version. The difference is that this file is developed by .NET Framework 4.0, so it can run directly under Windows 8 and Windows 10. Other Windows systems can also run this programme if they install .NET Framework 4.0. The official blog for DirectX Repair can be found by the following link: http://blog.csdn.net/vbcom/article/details/6962388 All the updates and technical supports can be obtained from this web page. Although this programme has been tested many times before publishing, there still could be some bugs within this programme. I will appreciate if you can point out the errors and report them to me. If you have any questions, suggestions or comments of this software, please do not hesitate to contact with me by E-mail: zhangyue667#263.net (Please swap # with @) I am looking forward to your E-mails. Finally, thanks for all of your cooperation! zhangyue667#263.net 2018-12-12

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧