win32apiのCreateFileを使ってロックでどうでしょう?
引数3つ目、dwShareModeの値を0にします。
終了時には必ずCloseHandleするように。
#uselib "KERNEL32.DLL"
#func global CreateFile "CreateFileA" sptr,sptr,sptr,sptr,sptr,sptr,sptr
#func global CloseHandle "CloseHandle" sptr
#define global GENERIC_READ 0x80000000
#define GENERIC_WRITE 0x40000000
#define OPEN_EXISTING 0x00000003
dim fhandle //ファイルハンドル
button gosub "LockFile", *Button1
button gosub "UnlockFile", *Button2
onexit *CLOSE
stop
// 実行ファイルがあるフォルダの1.txtをロック
//3つ目(dwShareMode)を0にする
*Button1
lpFileName = dir_exe +"\\1.txt"
CreateFile lpFileName, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0
fhandle = stat
mes "ロックしたよ"
return
*Button2
CloseHandle fhandle
mes "ロック解除したよ"
return
*CLOSE
CloseHandle fhandle
end