始めましてよしこともうします。
現在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;
}
うまくいかないとは、どんな状況でしょうか?
(1) コンパイルできない
(2) 実行すると落ちる
(3) 期待通りに動作しない
それぞれ次のことを教えてください。
(1) コンパイルエラーの写し
(2) 落ちる行。表示されるメッセージの写し
(3) 期待する引数および戻り値と実際の引数および戻り値
お返事ありがとうございます。
以下の状況になっています。
また、ファイルの存在は上記コードで確認できます。
ショートカットの存在確認をしていることに問題があるのでしょうか・・・。
>うまくいかないとは、どんな状況でしょうか?
(3) 期待通りに動作しない
>それぞれ次のことを教えてください。
>(1) コンパイルエラーの写し
エラーになりません。
コンパイル中...
スキップ中... (関連する変更は検出されませんでした)
FileCheck.cpp
FileCheck.obj - エラー 0、警告 0
>(2) 落ちる行。表示されるメッセージの写し
落ちません
>(3) 期待する引数および戻り値と実際の引数および戻り値
ショートカットが存在→retufn1
ショートカットの名前としてどんな文字列を指定してます?
動作は確認してませんが、
Explorer で見える文字列そのままですか?
それとも、~.lnk とかですか?
あたりが怪しいのではないかと思うのですが。
お返事ありがとうございます。
下記のような形で指定しています。
lpFileName = &C:\\○○\\○○.vbs
○は任意の値。
他の方法を知らないのでちょっと調べて見ます。
.vbs のあとに .lnk とつなげても、見つかりませんか?
つまり、C:\\○○\\○○.vbs.lnk を捜してみる。
ショートカットのファイル名は多分こっちだと思うのですが。
# 尚、文字列の前に、& はいらないと思います。
ありがとうございます!!!
解決しました!
.lnkが必要だったんですね。
ずっとそこを調べていたので助かりました。
># 尚、文字列の前に、& はいらないと思います。
さらに、ありがとうございます。
1週間前からCを始めたもので・・。もっと勉強してきます。