这代码在我的电脑上运行没有问题啊。
var
hMutex:HWND;
iRet:integer;
s:string;
begin
s := ExtractFilePath(Paramstr(0));
s := StringReplace(s,'\','_',[rfReplaceAll]);
s := StringReplace(s,':','_',[rfReplaceAll]);
Application.Initialize;
hMutex := CreateMutex(nil,False,PChar(s));
iRet := GetLastError;
if iRet<>ERROR_ALREADY_EXISTS THEN
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
ReleaseMutex(hMutex);
end.
var
hMutex:HWND;
iRet:integer;
s:string;
begin
s := ExtractFilePath(Paramstr(0));
s := StringReplace(s,'\','_',[rfReplaceAll]);
s := StringReplace(s,':','_',[rfReplaceAll]);
Application.Initialize;
hMutex := CreateMutex(nil,False,PChar(s));
iRet := GetLastError;
if iRet<>ERROR_ALREADY_EXISTS THEN
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
ReleaseMutex(hMutex);
end.