ショートカットの存在確認

[戻る]
よしこ 2004/09/30(木) 15:30:36
始めましてよしこともうします。

現在VC6.0 Win32Applicationを用いて、
作成したショートカットの存在確認をするソースを作成しています。
引数にショートカットのパスを指定していますが、うまくいきません

どなたかご教授いただけないでしょうか??


BOOL    FileExist( LPCTSTR lpFileName )
{
    WIN32_FIND_DATA  wfd;

    //  ファイル検索ハンドルを取得
    HANDLE hFile = FindFirstFile( lpFileName, &wfd );

    // 検索できたかチェック
    if( hFile == INVALID_HANDLE_VALUE )
    {
        // 検索ハンドルをクローズ
        FindClose(hFile);
        //ファイルなし
        return 0;    }
    else
    {
        // 検索ハンドルをクローズ
        FindClose(hFile);
        // ファイル有り
        return 1;    
    }

    return 0;
}

dairygoods 2004/09/30(木) 15:54:01
うまくいかないとは、どんな状況でしょうか?
(1) コンパイルできない
(2) 実行すると落ちる
(3) 期待通りに動作しない

それぞれ次のことを教えてください。
(1) コンパイルエラーの写し
(2) 落ちる行。表示されるメッセージの写し
(3) 期待する引数および戻り値と実際の引数および戻り値

よしこ 2004/09/30(木) 16:19:24
お返事ありがとうございます。
以下の状況になっています。

また、ファイルの存在は上記コードで確認できます。
ショートカットの存在確認をしていることに問題があるのでしょうか・・・。

>うまくいかないとは、どんな状況でしょうか?
(3) 期待通りに動作しない

>それぞれ次のことを教えてください。
>(1) コンパイルエラーの写し
エラーになりません。

コンパイル中...
スキップ中... (関連する変更は検出されませんでした)
FileCheck.cpp
FileCheck.obj - エラー 0、警告 0

>(2) 落ちる行。表示されるメッセージの写し
落ちません

>(3) 期待する引数および戻り値と実際の引数および戻り値
ショートカットが存在→retufn1

Ban 2004/09/30(木) 17:22:54
ショートカットの名前としてどんな文字列を指定してます?

動作は確認してませんが、
Explorer で見える文字列そのままですか?
それとも、〜.lnk とかですか?
あたりが怪しいのではないかと思うのですが。

よしこ 2004/09/30(木) 17:31:21
お返事ありがとうございます。

下記のような形で指定しています。
lpFileName = &"C:\\○○\\○○.vbs"

○は任意の値。
他の方法を知らないのでちょっと調べて見ます。

Ban 2004/09/30(木) 17:35:34
.vbs のあとに .lnk とつなげても、見つかりませんか?
つまり、"C:\\○○\\○○.vbs.lnk" を捜してみる。

ショートカットのファイル名は多分こっちだと思うのですが。


# 尚、文字列の前に、& はいらないと思います。

よしこ 2004/09/30(木) 17:58:41
[[解決]]
ありがとうございます!!!
解決しました!

.lnkが必要だったんですね。
ずっとそこを調べていたので助かりました。

># 尚、文字列の前に、& はいらないと思います。
さらに、ありがとうございます。
1週間前からCを始めたもので・・。もっと勉強してきます。

古いスレッドには追加発言できません。