UAC现在需要一个以前没有它的VB6项目

时间:2016-07-09 03:08:41

标签: vb6 windows-server-2008-r2 uac

我有一个以前没有在Server 2008 R2上需要UAC的VB6项目。我最近的版本在程序图标上有小UAC(用户访问控制)图标。当我尝试打开应用程序时,Windows会提示管理权限。

我所做的唯一更改是应用程序查找其设置文件的位置。以前,这些文件被锚定到C:\app\中的静态位置。由于我更喜欢​​使用应用程序设置的.NET样式,因此我首先使用App.Path在本地查找代码,然后在本地没有文件的情况下查看上一个静态位置。

1 个答案:

答案 0 :(得分:1)

事实证明,App.Path被确定为UAC提示的原因。我注释掉了一行代码并且盾牌图标消失了。似乎UAC的启发式假设我将写入Program Files文件夹。

代码只读取文件,并且在使用ForReaading FileSytemObject方法时指定了OpenTextFile

我的替代

CurDir似乎对我有用,因为文件只在启动时读取。需要注意的是,在调试时,CurDir设置为IDE的exe路径。编译应用程序时它可以正常工作。

但是,如果您通过直接在文件夹中打开.vbp文件(例如双击,例如)打开项目,CurDir将是正确的。当您首次打开IDE然后从IDE中打开项目时,它只是IDE的exe路径。

https://stackoverflow.com/a/154595/2084315