PDA

Ver la Versión Completa : usar lockfile and unlockfile


mierda
06-02-2007, 18:06:03
Hola, estoy tratando de usar estas funciones de la api ... pero no me chutan ... a ver si me podeis echar algun cable ... ya que a esta profundidad me pierdo

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
OpenDialog1: TOpenDialog;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
hFile: THandle;
Sof: Longint;
begin
try
hFile := CreateFile(pchar(edit1.text),0,0,nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
Sof := GetFileSize(hFile,nil);
if UnlockFile(hFile,0,0,Sof,0) then
showmessage ('Unlock CONSEGUIDO!!!!')
else
showmessage ('Unlock no conseguido');
CloseHandle(hFile);
except
showmessage ('Ha ocurrido un error al intentar hacer el unlock');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
edit1.Text := OpenDialog1.FileName;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
hFile: THandle;
Sof: Longint;
begin
try
hFile := CreateFile(pchar(edit1.Text),0,0,nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
Sof := GetFileSize(hFile,nil);
if LockFile(hFile,0,0,Sof,0) then
showmessage ('Lock CONSEGUIDO!!')
else
ShowMessage('Lock no conseguido');
Except
showmessage ('Ha ocurrido un error al intentar hacer el lock')
end;
end;
end.


muchas gracias.

Neftali [Germán.Estévez]
06-02-2007, 18:18:54
Si revisas en la sección de ejemplos (http://neftali.clubdelphi.com/delphi_ejemplos.html)de mi página (mirror (http://neftali-mirror.site11.com/?page_id=125)), hace tiempo que programé un par de aplicaciones que muestran el uso de las APIs LockFile y UnlockFile.

El ejemplo de titula "API LockFile para detectar instancias de aplicación activas en red" y muestra cómo aprovechar las características de bloqueo de ficheros ara detectar instancias activas de una aplicación.

Está el código fuente, así que puedes revisarlo, cambiarlo, recompilarlo,... (delphi6)

mierda
06-02-2007, 18:25:33
Ya tenia el ejemplo de tu pagina .... y lo he revisao antes ... pero es q no lo veo muy claro .... :D, pero ahora mismo lo vuelvo a pillar ...

Un saludo

MichelH
24-11-2009, 19:48:22
Yo tambien queria ver como usar el Lock y el Unlock... Peeeero las paginas de usuarios y el wiki ya ni estan funcionando.

Y ahora que, como le hago???

Neftali [Germán.Estévez]
25-11-2009, 00:36:31
Yo tambien queria ver como usar el Lock y el Unlock... Peeeero las paginas de usuarios y el wiki ya ni estan funcionando.
Y ahora que, como le hago???


Pues basta con que escribas aquí...:D:D:D
Hay un problema con la página original, pero puedes encontrar esa entrada y el ejemplo aquí (http://neftali-mirror.site11.com/?p=172).