注册 登录
编程论坛 VFP论坛

请教版主关于以管理员身份运行问题?

wxzd123 发布于 2023-04-10 08:42, 1256 次点击
版主您好,您发的下面代码编译成EXE后,这个EXE文件用加密狗程序加密后,在有的WIN10机器上运行后什么都不显示,有的机器就正常,请问是什么原因?谢谢

方法一、编译生成“以管理员身份运行”的EXE

假设:
项目文件名 test.pjx
在 test.pjx 的文件夹里建一个文件名 test.exe.manifest 的文本文件
test.exe.manifest 文本文件的内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    type="win32"
    name="Microsoft.VisualFoxPro"
    processorArchitecture="x86"
/>
<description>Visual FoxPro</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" />
        </requestedPrivileges>
    </security>
</trustInfo>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.
            version="6.0.0.0"
            language="*"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
        />
    </dependentAssembly>
</dependency>
</assembly>

这样VFP编译生成 test.exe 时载入 test.exe.manifest 资源生成一个“以管理员身份运行”的EXE。
11 回复
#2
吹水佬2023-04-10 11:06
软件或硬件环境不同,加密狗可能对软件或硬件环境进行加密,是不是加密狗对软件或硬件环境的兼容问题。
#3
wxzd1232023-04-10 14:35
版主您好,那台机器不加这个上面代码就没有问题。可有点机器加了也没有问题,一般出现在win10上,win7没有问题,上面代码对 win10 有影响吗?
#4
吹水佬2023-04-10 15:32
以下是引用wxzd123在2023-4-10 14:35:16的发言:

版主您好,那台机器不加这个上面代码就没有问题。可有点机器加了也没有问题,一般出现在win10上,win7没有问题,上面代码对 win10 有影响吗?

win10有权限管理的,试试用有管理员权限的用户名登录。
#5
吹水佬2023-04-10 15:49
一直在用win10没异常
如果不用加密狗就没问题,就应该不是win10的问题。
#6
aqyejun2023-04-10 16:24
win10或11运行vfp程序时,打开的菜单全是灰色,这种情况如何解决?
#7
吹水佬2023-04-10 16:53
以下是引用aqyejun在2023-4-10 16:24:03的发言:

win10或11运行vfp程序时,打开的菜单全是灰色,这种情况如何解决?

不怕不识货,最怕货比货。
给点东东测试比对一下看具体问题在哪
#8
aqyejun2023-04-11 07:53
关键是正常的整个程序文件(vfp6开发),在win7上通过右击修改程序属性的兼容性(winxp)问题得以解决,在win10以上修改了也不行了。请吹版赐教!
#9
aqyejun2023-04-11 07:53
回复 7楼 吹水佬
请吹版赐教!
#10
吹水佬2023-04-11 09:27
以下是引用aqyejun在2023-4-11 07:53:24的发言:

关键是正常的整个程序文件(vfp6开发),在win7上通过右击修改程序属性的兼容性(winxp)问题得以解决,在win10以上修改了也不行了。请吹版赐教!

用“兼容性”模式运行旧的应用是无办法的办法,MS也不保证真的能兼容,经常会提示问是否能正常运行。
最新的运行环境最好还是用最新的开发平台,除非不想她活下去。
#11
aqyejun2023-04-11 10:30
回复 10楼 吹水佬
程序好久没更新了,那只能不断更新再改进了,谢谢吹版指点。
#12
iswith2023-04-11 11:28
UAC用户账户控制 (提权)这类代码精髓没有掌握好。
你试试这几个参数:多在不同的机子,系统win10下试试
asInvoker : 如果选这个,应用程序就是以当前的权限运行。
highestAvailable: 这个是以当前用户可以获得的最高权限运行。
requireAdministrator: 这个是仅以系统管理员权限运行。
当然你现在用户如果没有这么高的权限又如何提权呢?

[此贴子已经被作者于2023-4-11 11:33编辑过]

1