以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  还是任务栏菜单右击显示狐表字样的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=57509)

--  作者:zpx_2012
--  发布时间:2014/9/25 18:56:00
--  还是任务栏菜单右击显示狐表字样的问题

按狐爸说的三种方式之一,在advanced installer中添加了注册表项后打包好的程序第一次安装后注册表上已经正确显示自己的标题了,如下图:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140925184508.jpg
图片点击可在新窗口打开查看

 

但问题时用户运行项目过后再次查看注册表那里又变回狐表的标题了,难道程序运行时会重写注册表。有什么办法才能让程序运行后还是保留自己的标题。

 

谢谢!


--  作者:有点甜
--  发布时间:2014/9/25 19:06:00
--  
 你可以在程序的afterOpenProject里面加入修改注册表的代码。
--  作者:zpx_2012
--  发布时间:2014/9/29 21:26:00
--  
在项目属性的afteropenproject中加了如下代码,发布后的项目打开后右击任务栏标题还是显示foxtable,问题出在哪里,谢谢!
\'----更改任务栏右击显示标题------
Dim pth As String = ProjectPath & "foxtable.exe"
Dim bt As String = Registry.GetValue("HKEY_CLASSES_ROOT\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache",pth,"")
If bt <> "abc(abc软件)" Then
    Registry.SetValue("HKEY_CLASSES_ROOT\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\MuiCache",pth,"abc(abc软件)")
End If


--  作者:有点甜
--  发布时间:2014/9/29 21:28:00
--  
 需要刷新使注册表生效,笨一点的方法是重启电脑。
--  作者:有点甜
--  发布时间:2014/9/29 21:30:00
--  

立即刷新系统代码

 

全局代码
Private Declare Sub SHChangeNotify Lib "shell32.dll" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
Private Const SHCNE_ASSOCCHANGED = &H8000000
Private Const SHCNF_IDLIST = &H0
 
Public Sub Refresh() \'立即刷新系统!!!
     SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
End Sub