안녕하세요..
정말 같은 질문을 3번식이나 올리는 바보 초짜입니다 ㅠ ㅠ
지금 재 실행 막는것을 김경록님이 자세히 갈켜주셔서 그걸 토대로
해봤는대 이번에는 실행이 되어있지도 않는대도 실행이 될려다가
안되는 현상이 되어버렸습니다 ㅠ ㅠ
program Project1;
uses
Forms,Windows,
Unit1 in 'Unit1.pas' {MainForm},
Unit2 in 'Unit2.pas' ;
{$R *.res}
var
Handle : THandle;
begin
Handle := FindWindow(nil,'HYMemo'); // 여기서 HYMemo 는 MainForm에 Caption 입니다.그런대 이부분에 HYmemo 외에 다른것을 넣으면 재실행방지가 안되고 계속 실행이 되어버리고 HYMemo 를 넣어버리면 아예 실행이 안됩니다 ㅠ ㅠ
if handle > 0 then
begin
exit;
end;
Application.Initialize;
Application.ShowMainForm := False;
Application.Title := 'HY 쪽지';
Application.CreateForm(TMainForm, MainForm);
ShowWindow(Application.Handle,SW_HIDE);
Application.Run;
end.
이렇게 프로젝트에 소스를 했는대 어떻게 수정을 하면될까요 ㅠ ㅠ
dpr파일을 수정하는 방법 입니다.
님의 dpr과 비교 해 보신다면 쉽게 알 수 있습니다.
========================================================
program salman;
uses
Forms,windows,
UnitClient in 'UnitClient.pas' {frmClient},
UnitChat in 'UnitChat.pas' {frmChat};
var
Mutex : THandle;
{$R *.RES}
begin
Mutex := CreateMutex(nil, True, 'SALMAN_NO_DOUBLE_EXECUTE');
if (Mutex <> 0 ) and (GetLastError = 0) then
begin
Application.Initialize;
Application.Title := 메신져';
Application.CreateForm(TfrmClient, frmClient);
Application.CreateForm(TfrmChat, frmChat);
Application.Run;
if Mutex <> 0 then CloseHandle(Mutex);
end;
end.