找回密码
 加入
搜索
查看: 145|回复: 10

[AU3基础] [已解决]遇到个很奇葩的问题,FileOpenDialog不过滤

[复制链接]
发表于 2024-5-2 21:20:27 | 显示全部楼层 |阅读模式
本帖最后由 顽固不化 于 2024-5-2 23:21 编辑

下面这个打开文件的函数,单独测试就过滤,放在另一个au3代码里就不过滤,很郁闷的。有没有大侠给我解个惑?哈哈哈~~~~
au3代码均保存为ANSI

经测试,编译后在其他系统运行正常,而单单本系统(精简版win10)运行出现上面情况,初步结论:系统问题!

$Form1=GUICreate('')
GUISetState()
MsgBox(32, "",_GetIcoFile(),0,$Form1)
Exit
Func _GetIcoFile()
        $zheICOfile = FileOpenDialog("选择一个图标", @ScriptDir, "图标文件 (*.ico)|全部 (*.*)" , 0,"",$Form1)
        If Not @error Then        
                Return $zheICOfile
        Else
                Return '啥也没选!'
        EndIf        
EndFunc 





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2024-5-2 21:32:19 | 显示全部楼层
你咋放的不说???

---------------------------
发表于 2024-5-2 21:42:09 | 显示全部楼层
用 _WinAPI_GetOpenFileName() 试试
 楼主| 发表于 2024-5-2 21:53:35 | 显示全部楼层
本帖最后由 顽固不化 于 2024-5-2 22:11 编辑
邪恶海盗 发表于 2024-5-2 21:32
你咋放的不说???

---------------------------

主界面有个控件,点击就调用这个函数,1楼所附代码基本能模拟。谢谢海盗,老朋友了
$form1 = GUICreate("", 591, 660, -1, -1)
;
$UserTX = GUICtrlCreateIcon('man.ico', 0, 530, 598, 15, 15)
;
GUISetState(@SW_SHOW, $form1)
;
While 1
          Switch $nmsg 
            ;
                  case $UserTX 
                          MsgBox(32, "",_GetIcoFile(),0,$Form1)
         EndSwitch
WEnd

Func _GetIcoFile()
          $zheICOfile = FileOpenDialog("选择一个图标", @ScriptDir, "图标文件 (*.ico)|全部 (*.*)" , 3,"",$Form1)
          If Not @error Then        
                Return $zheICOfile
           Else
                Return '啥也没选!'
           EndIf        
EndFunc 

 楼主| 发表于 2024-5-2 21:57:51 | 显示全部楼层
afan 发表于 2024-5-2 21:42
用 _WinAPI_GetOpenFileName() 试试

谢谢fan大,得试试用户自定义函数了。本想au3内部函数够用了,看来有困难。
发表于 2024-5-2 22:02:20 | 显示全部楼层
顽固不化 发表于 2024-5-2 21:57
谢谢fan大,得试试用户自定义函数了。本想au3内部函数够用了,看来有困难。 ...

这个应该就是 FileOpenDialog 的原型API。FileOpenDialog 是内置函数,无法调试,用udf就能调试问题了
 楼主| 发表于 2024-5-2 22:13:19 | 显示全部楼层
afan 发表于 2024-5-2 22:02
这个应该就是 FileOpenDialog 的原型API。FileOpenDialog 是内置函数,无法调试,用udf就能调试问题了 ...

嗯嗯,明白了,谢谢,
 楼主| 发表于 2024-5-2 22:32:57 | 显示全部楼层
afan 发表于 2024-5-2 22:02
这个应该就是 FileOpenDialog 的原型API。FileOpenDialog 是内置函数,无法调试,用udf就能调试问题了 ...

测试结果还是一样,正式代码里调用不过滤,测试代码里能过滤。奇了怪了,我再检查一下正式程序的代码
 楼主| 发表于 2024-5-2 23:22:10 | 显示全部楼层
结贴,系统问题,唉~~~~~~~~~~~
发表于 2024-5-3 19:00:52 | 显示全部楼层
这特么指不定是精简的系统或者PE
 楼主| 发表于 2024-5-3 19:48:14 | 显示全部楼层
skyfree 发表于 2024-5-3 19:00
这特么指不定是精简的系统或者PE

精简系统,精简过了点
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 19:22 , Processed in 0.079038 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表