Vik*_*kas 30 video windows windows-10
我有反恐精英:条件零游戏。每当我将其安装在类似文件夹中C:\FolderName
并在安装后启动游戏时,游戏都会以2 个介绍视频 开始(我在游戏安装文件夹中找到了这些视频,两者都有 .avi 扩展名)。
但是我注意到了一个非常奇怪的行为。如果我在游戏中再次删除并安装游戏,C:\Folder Name
则可以正常工作,只是这两个介绍视频在启动时无法播放。很奇怪。
为了确认这是否是确切原因,我尝试了至少 15 次使用不同命名文件夹安装此游戏。很少有文件夹名称有空格,很少有没有空格。并且它确认如果文件夹名称有任何空格,这些介绍视频将不会播放。
这些视频文件具有以下路径:C:\My Folder Name\czero\media
或C:\MyFolderName\czero\media
游戏启动hl.exe
文件的路径:C:\My Folder Name
或C:\MyFolderName
游戏在这两种情况下都能正确安装,但视频只能在第二种情况下播放,即MyFolderName
.
看起来游戏试图避免 .avi 文件或某些 Windows 功能强制游戏不播放这些文件 - 只要文件夹名称中有空格。
我会在游戏 SE 网络上询问它,但我强烈觉得这种奇怪的行为只是因为主文件夹名称中有空格并且仅与那些 .avi 文件相关。
有什么特别的原因吗?是不是因为某些防火墙/防病毒/UAC 保护和规则?
LPC*_*hip 51
听起来像是游戏中的一个错误,代码在没有引号的情况下打开视频,因此视频路径的一部分被假定为一个参数,而它实际上不是,从而导致错误,因此视频永远不会播放。控制台也可能会记录错误。
稍微解释一下……在 Windows 中,当您使用路径时,您可以这样输入:
C:\My_Path_without_spaces
Run Code Online (Sandbox Code Playgroud)
或者
"C:\My Path With Spaces"
Run Code Online (Sandbox Code Playgroud)
注意引号。
当您启动外部程序时,例如视频播放器,视频播放器的参数列表可能如下(这是一个示例)
C:\Games\HalfLife\bin\videoplayer.exe /video C:\Games\HalfLife\intro.avi
^ path to videoplayer
^parameter video
^video file
Run Code Online (Sandbox Code Playgroud)
现在假设你有半条命作为文件夹名:
C:\Games\Half Life\bin\videoplayer.exe /video C:\Games\Half Life\intro.avi
^ path to videoplayer (the space may break here too)
^parameter video
^video file
^invalid parameter
Run Code Online (Sandbox Code Playgroud)
没有没有扩展名的名为 Half 的视频,也没有将 Life\intro.avi 理解为参数,因为视频播放器无法识别它。
请注意,HalfLife 1 是一款非常古老的游戏。在那个时代,8.3 长度的文件名仍然很常见。
Pet*_*ica 17
根本问题是在 Windows 下,被调用者负责解析命令行。被调用者将整个命令行作为一个字符串。(相比之下,*nix 系列操作系统将一组单个参数传递给被调用者,对应于argv
。分隔参数根本不是问题。)典型的约定用空格分隔命令行参数;因此,必须引用包含空格的单个参数。引号是传递给被调用者的命令行的一部分!有关讨论,请参阅这篇 Microsoft 文章。作为一个附带问题,根本无法保证被调用者处理报价!不要无故引用参数。
在您的情况下,忘记引用路径参数:游戏中的错误。此外,模块测试中的整个等效组也被遗漏了。
您可能从您最喜欢的 *nix shell 中知道这样的麻烦:如何再次传递包含引号的参数?该用户shell是在* nix的世界上唯一的程序,需要解析的命令行。相比之下,以编程方式从另一个二进制文件调用一个二进制文件没有这个问题:调用者只是在exec
调用之前填充一个参数数组,在银盘上为被调用者提供单个参数。
正是这种考虑不周的传统 DOS 调用约定与不周全的嬉皮士思想(这是 Apple 的错!1)在路径名中的空格的组合,导致了像您这样的错误。
1是的,我知道,在苹果采用之前,路径名中的空格(和其他有趣的字符)已经存在;但没有理智的 *nix 用户会自愿将文件夹命名为“Program Files”。此类废话无权存在于最终用户系统上。
归档时间: |
|
查看次数: |
7059 次 |
最近记录: |