며칠전 아는 사람의 몇가지 질문을 보고 적은 내용입니다.
시작할때 메인폼을 화면에 나타내지 않기.
begin Application.Initialize; Application.ShowMainForm:=False; Application.CreateForm(TForm1, Form1); Application.Run; end.
부팅 오직 한번만 프로그램을 실행하기….
도대체 무엇 때문에 이런용도를 쓰는지 알수 없습니다만, 필요하대서 찾아 봤습니다.
procedure TForm1.FormShow(Sender: TObject);
begin
if GlobalFindAtom('THIS_IS_SOME_OBSCURE_TEXT')=0 then
GlobalAddAtom('THIS_IS_SOME_OBSCURE_TEXT')
else
begin
ShowMessage('한번만 실행됩니다. 다시 실행하시려면 재부팅후 사용해 주십시요.');
Close;
end;
end;
현재 프로그램의 아이콘을 Tray Icon으로 가져오기…
uses
ShellAPI;
...
var
MyIcon: TNOTIFYICONDATA;
....
procedure TForm1.FormCreate(Sender: TObject);
begin
MyIcon.cbSize:=SizeOf(MyIcon);
with MyIcon do
begin
Wnd:=Form1.Handle;
uID:=0;
uFlags:=NIF_ICON+NIF_TIP;
hIcon:=CopyIcon(Application.Icon.Handle);
end;
Shell_NotifyIcon(NIM_ADD, @MyIcon);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE, @MyIcon);
end;

최신 댓글