我正在使用本书
学习Windows编程Programming.Windows.5th.Edition(Charles Petzold)。
当我做图3-1。 HELLOWIN程序,我发现当我使用热键ctrl + F5运行exe时,我可以听到声音(Hello windows 98),但是当我在Debug目录中运行exe时,没有声音可能是把Hello和HelloWin.wav放在一起后,一切都还可以。这怎么可能发生?我使用的是win7(简体中文版)和Visual Studio 6(企业版)。
答案 0 :(得分:2)
这与当前目录有关。从Visual Studio执行时,它将使用 project 目录作为当前目录,因此您的程序将在该目录中找到wav文件。
当你直接运行exe时,它会使用Debug目录作为当前目录,因为wav文件不在那里,所以找不到声音文件。
答案 1 :(得分:1)
据推测,这是一个相对路径的问题。我的猜测是,您使用相对路径引用.wav文件,并将其命名为"HelloWin.wav"
。这是相对于当前目录的。
双击.exe时,当前目录是exe目录,找不到.wav。当您从IDE中按 Ctrl + F5 时,IDE会将当前目录设置为项目目录,从而找到该文件。