私は今、あるアプリケーションを作っているのですが、オープニングムービーを再生したいと思っております。

開発環境:Visual studio 2008
言語:VB

現在はサイト等で検索し、
Private Declare Ansi Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
Const stCurrentDir As String = CurDir$()
Const FileName As String = stCurrentDir & """\openning.mpg"""
という感じでファイルの場所を指定しているのですが、どうもconstがネックです。
これをdimで指定すると再生されないのです。
だからと言ってconstでやると、普通にカレントディレクトリを指定せずすべて指定するとできるのですが、上のようにカレントディレクトリを求めると、定数式が必要と出てしまいます。
どうにかうまくいく方法等ありませんでしょうか?
よろしくお願いいたします!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

前回回答した者ですが、自分はうっかり FileName を「""" & stCurrentDir & "\openning.mpg"""」と書いたのですが、正しくは「"""" & stCurrentDir & "\openning.mpg"""」で、始めの「"」が一つ抜けていました(汗


単純なミスなので、既にこれが解決済みでしたら申し訳ないです……

この回答への補足

そのようにやってみたのですが、やっぱり定数式が必要と出てしまいます。

補足日時:2009/05/25 19:13
    • good
    • 0

一つ気になってるのですが、FileName の部分 stCurrentDir & """\openning.mpg""" は正しいのでしょうか?


仮に stCurrentDir が「C:\Documents and Settings\xxx\デスクトップ」だった場合 FileName は「C:\Documents and Settings\xxx\デスクトップ"\opening.mpg"」って出力され、ファイルパスの間に「"」が入って来ます。
書くならば FileName を """ & stCurrentDir & "\openning.mpg""" のようにするべきだと思うのですが……

この回答への補足

""" & CurDir$() & "\openning.mpg"""
とやってみましたが、
最後の"""の部分で「ステートメントの終わりを指定してください」
と出てしまいました。
いろいろ試してみたのですが、なかなかうまくいきません。
よろしくお願いいたします。

補足日時:2009/05/25 11:54
    • good
    • 0

mcisendstring使用だとファイルパスに空白があると


失敗してしまいますね。
10年近く前にかなりいじってみたことがありますが
""などのつけ方でうまくいくのだったか
忘れてしまいました。今日私が試行した限りでは
すべて失敗しました。
 curdirのように変化するパスにせず、
空白を含まない固定パスになるフォルダーに
動画を置いておくようにするのでは都合が悪いのでしょうか?

この回答への補足

その課題は提出するものなので、必然的にカレントディレクトリは変化してしまうと思い、カレントディレクトリを指定しなければならないと思っております。

補足日時:2009/05/25 09:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング