那是不可能实现的,你写了个.REG的文件只是用VB的一个控件来调用他,想不提示那除非你改WINDOW系统,不过我以前用过VC,在VC里面有几个改注册表的函数可以在编程里面实现,VB也有吧。你自己看看
创新互联是一家集网站建设,阿巴嘎企业网站建设,阿巴嘎品牌网站建设,网站定制,阿巴嘎网站建设报价,网络营销,网络优化,阿巴嘎网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
程序的兼容模式设置保存在注册表下。
在 HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/AppCompatFlags/Layers/ 下新建一个键值,键值名称是可执行程序文件的完全路径,数据类型为reg_sz,数据数值为兼容的操作系统代码。
代码对照如下:
Windows NT 4.0 (Service Pack 5):NT4SP5
windows 95:WIN95
windows 98 or windows ME:WIN98
windows 2000:WIN2000
windows xp:WINXP
windows 2003:WIN2003
比如你要以WinXP的兼容模式运行 C:\1.exe,那么就是
HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/AppCompatFlags/Layers 在这下面新建一个键,名为"C:\starcraft.exe”,再在这个键下面创建一个reg_sz类型的数据,数据值为WINXP即可。
用VB.NET操作注册表这个你可以百度到很多了。
VB.NET 参考代码:
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim regKey As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Windows", False)
For Each strSubKeyName In regKey.GetValueNames()
If regKey.GetValueKind(strSubKeyName) = RegistryValueKind.String Then
MessageBox.Show(regKey.GetValue(strSubKeyName))
' regKey.SetValue(strSubKeyName, "修改后的值")
End If
Next
End Sub
End Class
var reg = /;SPLIT(?:(?!;SPLIT)[\s\S])*;SPLIT/g;
var str = "";
str.replace(reg,"");