返回列表 发帖

[AU3基础] 【已解决】DirCreate命令对win10兼容不好吗?

本帖最后由 vszy 于 2017-10-11 22:02 编辑

#AutoIt3Wrapper_Res_RequestedExecutionLevel=requireAdministrator

$BIT=@OSArch
$dir = StringLeft(@ProgramFilesDir,16)
  
If $BIT = "X86" Then
DirCreate(@ProgramFilesDir & "\test")
Else
DirCreate(@ProgramFilesDir & "\test")
DirCreate($dir&"\test")
EndIf

以上脚本编译成x86的exe文件,在Win7(64bit)下运行正常,在“C:\Program Files”和“C:\Program Files (x86)”目录下可分别创建“test”目录。为什么到win10(64bit)下只有“C:\Program Files (x86)”里能创建成功,在"C:\Program Files"创建不了呢?win10下MsgBox("","",$dir&"\test") 显示的也是"C:\Program Files\test"啊。

望有经验的朋友看看什么问题?是AU3版本不够新?

貌似有几个函数用起来不怎么灵~

TOP

WIN10 AU3 3.3.14.2


附件: 您需要登录才可以下载或查看附件。没有帐号?加入
新手!
新手!
新手!
俺是新手!重要的事说三遍

TOP

要不用3.3.15测试版试试

TOP

要不用3.3.15测试版试试

TOP

以管理员身份运行,可能权限不够

TOP

俺用的就是3.3.15.0

TOP

回复 3# yamakawa


  明天换个低版试试,谢谢

TOP

$dir = StringLeft(@ProgramFilesDir,16),这句有问题
在x64下执行32位编译程序 @ProgramFilesDir = “C:\Program Files (x86)”,而你只取前16个字符,所以你看到的始终是 C:\Program Files
编译为64位后执行,@ProgramFilesDir = C:\Program Files
80 字节以内
不支持自定义 Discuz! 代码

TOP

回复 9# yhxhappy

      我就是想编译32位脚本,在32位运行系统下只在C:\Program Files下生成指定目录;在64位系统下运行同时在C:\Program Files和C:\Program Files (x86)都生成指定目录。如果编译成64位的exe文件,在32位下运行不了啊。这点小事不用编译两个EXE吧。

      $RD = StringLeft(@ProgramFilesDir,16)这个是我能力内想到32位脚本在64位系统下获取C:\Program Files的办法,要是有更好的请大家给点意见。

      再吐槽下微软,非要整C:\Program Files和C:\Program Files (x86)这两个目录有啥用,程序放在哪里都一样用。

TOP

回复 3# yamakawa


    这位兄弟,冒昧的问一下,你确定是64位win10环境运行32位脚本?我换了3.3.14.2和3.3.12.0都试了,还是不行。难道系统问题?
   
      再有随便问问大家现在都用什么版本的autoit啊,哪个版本最稳定?

TOP

回复 10# vszy

权限不够吧,加上试试,我这里OK的
#RequireAdmin

TOP

已确定是系统问题,谢谢大家

TOP

已确定是系统问题,谢谢大家

TOP

版本问题吧,读版本的函数没有支持win10

TOP

返回列表