注册 登录
编程论坛 VFP论坛

为什么下段代码在Win7中可以打开PDF文件,在WIN10中却不行?

cluna2013 发布于 2024-05-24 17:58, 618 次点击
Declare Integer ShellExecute In shell32.dll Integer,String,String,String,String,Integer
Declare Integer GetDesktopWindow In Win32api
lnWnd = GetDesktopWindow()
=Shellexecute(lnWnd,[Open],ALLTRIM(路径)+ALLTRIM(文件名),[],路径,1)
Clear dlls

[此贴子已经被作者于2024-5-24 18:56编辑过]

12 回复
#2
nbwww2024-05-24 21:05
理论上路径、文件名没错是能打开的  注意路径中间的空格
#3
cluna20132024-05-24 21:16
回复 2楼 nbwww
同一个表单,在win7上运行正常,拿到win10上却不行,所以问题应该是两个操作系统不同造成的;而我制作的其余表单因为不用打开文件,所以没发现这种情况。上述那段代码也是从本网站学来的。https://bbs.bccn.net/viewthread.php?tid=511283&highlight=%B4%F2%BF%AA%CE%C4%BC%FE
#4
nbwww2024-05-24 21:19
回复 3楼 cluna2013
命令本身没问题  你得检查文件是否正确  具体出错提示
#5
cluna20132024-05-24 21:21
回复 4楼 nbwww
没有任何提示,就是没有反应。
#6
cluna20132024-05-24 21:30
补充一下:在win7操作系统中,该段代码无论是ppt还是图片都能打开。
#7
csyx2024-05-24 21:30
win10上很多情况都是因为执行权限造成的,右击你的exe或快捷方式,选以管理员身份运行试试看有没有用
#8
cluna20132024-05-24 22:01
回复 7楼 csyx
试过了,没用。
#9
cluna20132024-05-24 22:04
有没有哪位在win10上用VFP打开文件成功的代码?请赐教
#10
my23182024-05-25 06:49
回复 楼主 cluna2013
问题可能出在第4行,参考语句
=Shellexecute(lnWnd,"open",lcFile,"","D:\",1)
这方法我在win10运行正常
#11
吹水佬2024-05-25 08:46
是不是“黙认运行应用程序”设置问题?
#12
cluna20132024-05-25 14:28
回复 10楼 my2318
果然问题出在这……
#13
cluna20132024-05-25 18:31
=Shellexecute(lnWnd,[Open],ALLTRIM(路径)+ALLTRIM(文件名),[],路径,1)
这段代码问题出在[路径]上,在WIN7中,查找的文件[F:\],编程通过之后,WIN10上同样的目录在[D:\],表中的[路径]仍然是[F:\],当然打不开本地的文件!
既然已经有人使用该代码在WIN10中正常运行,我修改表单之后也一定能运行!谢谢各位!
1