|
빌더에서 않되면-원래 되지만 내가 못찾거나 알지 못하는 경우-를 제외하면
답은 하나죠 API로 가서 뒤지면 된답니다
그러나 만약 MS가 앙심을 품고 API를 공개하지 않았다면 - 윈도우의 핵심을 건드리는 혹은 상업적이로 아
주 중요한 것들 - 을 제외하고는 대부분 시스템과의 대화를 할수 있답니다
빌더 역시 그 API를 덮어 쓴거라고 할수 있죠
그러나 정말 원하는 기능이 공개되지 않았거나 어째든 API에 없다면
시스템을 해킹해서 만들어야 겠죠 - 에구 나두 해보고 싶지만 흑.흑 아직은 - MS의 비밀을 훔치는 거죠^^
항상 이곳에서 느끼는 거지만 이곳은 중급 혹은 중상까지의 레벨을 위한 곳이란 생각이 드네요
노하우를 공개하지 않는 우리나라 풍토상 어쩜 당연한거 겠구요 - 아주 고급은 공개를 않한답니다 -
역설적으로 말한다면 이곳은 고수가 되기 위해선 꼭 필요한 사이튼가 싶네요
고급 역시 이곳에 여기 저기 널려있는 자료들로 만들어 지니까요
^^ 그냥 이곳이 제게도 무척 고마웠다는 말을 하고 싶어서 ~~ 횡설 수설 하네요
님 힘네요
아참 그 아이콘 등록 않되면 API로 짜세요 ~~
밑에 코드는 저희 회사 프로젝트때 만든 움직이는 TrayIcon 이랍니다
참고 하시라구요 완전한 소스는 아니구요
보시면 대충 아실거에요
원하는 답인지 모르겠네요
void __fastcall TMainForm::TrayIcon()
{
Cot_TrayIcon = 0;
memset(&TrayIcon,0,sizeof(TrayIcon));
TrayIcon.cbSize = sizeof(TrayIcon);
TrayIcon.hWnd = Handle;
strncpy(TrayIcon.szTip, "원하는 명", sizeof(TrayIcon.szTip));
icon = new TIcon();
ImageList2->GetIcon(Cot_TrayIcon,icon);
TrayIcon.hIcon = icon->Handle;
TrayIcon.uCallbackMessage = IconMessage;
TrayIcon.uFlags = NIF_MESSAGE | NIF_TIP | NIF_ICON;
Shell_NotifyIcon( NIM_ADD,&TrayIcon );
}
void __fastcall TMainForm::DeleteIcon()
{
NOTIFYICONDATA Icon;
memset(&Icon,0,sizeof(Icon));
Icon.hWnd = Handle;
Icon.cbSize = sizeof(Icon);
Shell_NotifyIcon( NIM_DELETE,&Icon);
}
void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
if( Cot_TimerOn == 0 ) return;
ImageList2->GetIcon(Cot_TrayIcon,icon);
icon->Transparent = true;
TrayIcon.hIcon = icon->Handle;
Shell_NotifyIcon(NIM_MODIFY,&TrayIcon);
Cot_TrayIcon++;
if(Cot_TrayIcon > 4)
{
Cot_TrayIcon = 0;
Cot_TimerOn = 0;
}
}
추신 리플을 잘못 달았네요 처음 질문하신 분께 쓴건데 에고고 ~~ 이해 바래요
|