既存と新規のファイルの間にハードリンクを確立 <TOP>
CreateHardLink 既存ファイルと新規ファイルの間にNTFSハードリンクを確立
ハードリンク
ファイルに別名を設定し,その別名で基のファイルにアクセスできるようにする「リンク」機能の1つ
'================================================================ '= 既存と新規のファイルの間にハードリンクを確立 '= (CreateHardLink.bas) '================================================================ #include "Windows.bi" ' 既存ファイルと新規ファイルの間にNTFSハードリンクを確立 Declare Function Api_CreateHardLink& Lib "kernel32" Alias "CreateHardLinkA" (ByVal lpFileName$, ByVal lpExistingFileName$, ByRef lpSecurityAttributes As Any) Var Shared Text1 As Object Var Shared Button1 As Object Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var sSave As String Var Ret As Long 'Helloと入力したファイルを作成 Open "test1.txt" For Output As #1 Print #1, "Hello "; Close #1 'ハードリンク(同じファイルを示す2番目のファイル名)を作成 Ret = Api_CreateHardLink("test2.txt", "test1.txt", ByVal 0) 'Worldと入力した2番目のファイルを作成 Open "test2.txt" For Append As #1 Print #1, "World" Close #1 'bufferを作成 sSave = String$(Len("test2.txt"), 0) '最初のファイルを読む Open "test1.txt" For Input As #1 Input #1, sSave Close #1 '結果を表示 'Hello World' Text1.SetWindowText sSave 'ファイルを削除 Kill "test1.txt" Kill "test2.txt" End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End