프로그램의 중복 시작을 금지하는 또 다른 필요와 실현
1222 단어 이루어지다
메인 창의 클래스 이름부터 시작해야 할 것 같습니다.Oncreate에서 호출할 수 있는 함수가 작성되었습니다.
{ }
procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: string);
var
h: HWND;
buf: array[0..255] of Char;
begin
h := ACurrentWindow;
while h > 0 do
begin
h := GetWindow(h, GW_HWNDNEXT);
GetClassName(h, buf, Length(buf));
if buf = AClassName then
begin
SendMessage(h, WM_CLOSE, 0, 0);
Break;
end;
end;
end;
{ }
procedure TForm1.FormCreate(Sender: TObject);
begin
CloseSameClassNameWindow(Handle, ClassName);
end;
프로그램 파일에서 제어하는 것은 한 마디로 간단합니다.
program Project1;
uses
Forms, Windows, Messages,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
SendMessage(FindWindow('TForm1', nil), WM_CLOSE, 0, 0); // TForm1
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
마우스를 멈추고 밝게 보이기 - 각각 gridview와 데이터 grid에서데이터grid의 ItemDataBound 이벤트에 다음 코드를 씁니다. girdview의 RowDataBound 이벤트에 다음 코드를 입력합니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.