• ベストアンサー

C言語で前面表示や、特定のファイル検索方法を教えてください!

VBで作ったソフトを、今C言語で作り変えています。 そのソフトは前面表示になっており、プログラムの始めに、特定のファイルがあるかどうか調べています。 ネット上で探しているのですが、見つかりません。 知っている人がいれば、どうか教えてください。 後、VBでファイルを調べるプログラムは、 If System.IO.File.Exists(ファイル名) = True Then あった場合に動作させるプログラム Else 無かった場合に動作させるプログラム End If です。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

標準の範囲であれば、いったんfopenで開いてみて、オープンに成功するかどうかを調べるしかありません。 方言を使うのであれば、いくつかの方法が考えられますが、一番手っ取り早いのは_access関数でしょうね。

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclib/html/_crt__access.2c_._waccess.
terararara
質問者

補足

返信遅くなってすみません。 出来れば例を挙げてもらえないでしょうか。

その他の回答 (2)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

> 出来れば例を挙げてもらえないでしょうか。 すでに具体例を回答済みです。

terararara
質問者

補足

えっと…すみません 参考URLからアクセスしても出てきませんでしたので、書き込んでました。 よく探したてみたらありました。 どうも有り難うございました。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

意図がよくわからないので、補足をお願いします。 C++/CLIとかではなくて、C言語を使うのですか? また、.NET Frameworkは使わないのですか? C言語で書き直すことの「狙い」何ですか? 例えば、Linux等への移植性を視野に入れてC言語に書き直すのであれば、利用可能なライブラリが制約されます。

terararara
質問者

補足

すみません。 補足ですが、何故C言語を使っているのかと言うと、Windowsプログラムに関して書いている本がC言語を使っているからです。 また、知り合いが.NET Frameworkの導入の仕方が分からないという理由と、C言語でWindowsプログラムを作ってみたかったと言う理由です。

関連するQ&A

  • ファイル内の文字列検索

    PCに特定のファイルの有無を確認するために、VBで… Sub Main() If system.IO.Directory.Exists("c:\ファイル名") Then Console.Writeline("ファイル名はCドライブにあります") else Console.Writeline("ファイル名はCドライブにありません") としてファイルの存在を確認しています。 もう一歩踏み込んでファイルの中の文字列の有無を確認することはできるでしょうか?

  • VBScriptで、既に開いているIEを画面の最前面に表示させる

    VBScriptで、既に開いているIEを画面の最前面に表示させる OS:WindowsXP SP3 ブラウザ:InternetExplorer6 期待している機能としましては、IEが開いていない場合は新規にIEを立ち上げ、既に開いている場合は、それを画面の最前面に表示させる(最小化されている場合はそれを解除する)といった感じです。 教えて頂きたいのは、IEを画面の最前面に表示させる方法(最小化の場合はそれを解除)です。 現状のソースを記載します。おかしな点がありましたらご指摘よろしくお願い致します。 Dim objShell Dim objWindow Dim objIE Dim ieFlag ieFlag = False '開いているウィンドウからIEを検索 Set objShell = CreateObject("Shell.Application") For Each objWindow In objShell.Windows If TypeName(objWindow.Document) = "HTMLDocument" Then ieFlag = True Set objIE = objWindow Exit For End If Next 'IEが開いていたらそれを画面の最前面に、そうでないなら新規で開く If ieFlag = True Then 'IEを画面の最前面に又は、最小化解除 Else '新規にIEを開く Set WshShell=Wscript.CreateObject("Wscript.Shell") WshShell.Run("http://www.google.co.jp/") WScript.Sleep(4000) End If

  • VB2008(vb6でも可)よりVPNで接続されている

    VB2008(vb6でも可)よりVPNで接続されている 共有フォルダ内のファイル存在チェックについて。 マイネットワークで見れたので単純に考えて Dim FName As String = "\\**.***.**.***\c:\###.csv" If System.IO.File.Exists(FName) Then Debug.WriteLine(FName & " は存在します") Else Debug.WriteLine(FName & " は存在しません") End If とIPアドレスを指定したらできるかと思ったのですが 駄目でした。解決方法または参考になるサイトをご存知であれば よろしくお願いいたします。

  • vbsのFolderExistsで部分一致をさせたい

    VBSで以下のコードを作成しましたが動作しません。 ********動作しない************************** if (objFileSys.FolderExists("200810*")= True) then  msgbox "yes" else  msgbox "no" end if ********動作する************************** if (objFileSys.FolderExists("200810")= True) then  msgbox "yes" else  msgbox "no" end if 部分一致でフォルダが存在するかをしたいのですが、 どうしたらいいのでしょうか。 よろしくお願いします。

  • vbsにてファイルが存在すればメッセージを表示する。というプログラムを作成したいです。

    vbsにてファイルが存在すればメッセージを表示する。というプログラムを作成したいのですが 普通にexistsを使ってプログラムを作ったのですが たとえばif文このファイルがあれば~ という分岐の次にまたこのファイルがあれば~という分岐をして4つくらいのファイルがすべて存在すればあるメッセージを表示する。というプログラムを作成したいのですが・・・つまりelseと逆にtrueなら次の分岐・・・という風に作成したいのです。どうかよろしくお願いします。

  • ファイルの別名保存の方法

    こんにちは。 Excelの素人です。blg.を参考に、ファイルの別名保存ボタンを作りましたが、別名保存後うまく終了してくれません。 現象は終了マクロから名前をつけて保存してもファイルが終了しません。もう一度ボタンをクリックするといきなり終了します。 素人の悲しさで、どこを修正すればよいのか悩んでいます。 Sub 別名保存後終了() If ThisWorkbook.Saved = False Then strFilename = ThisWorkbook.Path & "\" & _ "データ作成" & "_" & _ Format(Date, "yyyymmdd") & ".xls" strFilename = Application.GetSaveAsFilename( _ FileFilter:="Excelファイル,*.xls", _ InitialFileName:=strFilename, _ Title:="Excelファイルの保存") If strFilename = "False" Then If MsgBox("保存せずに終了します。よろしいですか?", _ vbOKCancel + vbInformation, _ "終了確認") = vbOK Then ThisWorkbook.Saved = True ThisWorkbook.Close Else Exit Sub End If Else ActiveWorkbook.SaveAs strFilename End If Else ThisWorkbook.Close End If End Sub 宜しくお願いします。

  • VBAで分岐条件に名前をつける

    If文の条件を外にだしさらに下記のようにIf文の中で論理演算を させるようなプログラムを作りたいにのですが、 ExxelVBAでそのようなことはできますでしょうか? できるとしたら教えてください。よろしくお願いします。 sub test() S1=36 S2=48 ’こういう名前の付け方はできないが、要はS1>0という条件に条件1と名づけたい。 条件1:=S1>0 条件2:=S2>0 IF 条件1*条件2=true then cells(1,1)=1 else if 条件1=true then cells(1,1)=2 else if 条件2=true then cells(1,1)=3 else cells(1,1)=0 end if end sub

  • フォームを正しく最前面にする方法は?

    VB6(SP4)をWin2000で使用しています。(下記問題はWinMeでも生じます) フォームを一度消した後、処理をして、処理の終了後、再度表示すると最前面にならずに、タスクバー上のボタンやフォームのタイトルバーが点滅するだけになってしまいます。どのようにすれば、ちゃんと最前面になるのでしょうか? プログラムの内容は Private Sub Command1_Click()   Me.Visible = False   ※処理(他のAPを起動し、そのAPが終了するまで待機する)   Me.Visible = True   Me.SetFocus End Sub よろしくお願いします。

  • #If True Then の # って何??

    #If True Then #Else #End if というソースを見たときがあるのですが、何がTrueなのかさっぱり 分かりません。どなたか優しく詳しく例をあげて教えてくださいませんか?

  • VB6.0での条件文にある#の意味

    先人のVB6.0プログラムを解読する作業中に以下の2行目の#の意味がわかりませんでした。 (0以下であればというif文の中に 1以下であればというif文?) 御教示いただければ幸いです。 if kakudo < 0 then if kakudo <= 1# then kai = 180 + kakudo else kai = 180 end if else kai = 0 end if