S
snowdeep
Unregistered / Unconfirmed
GUEST, unregistred user!
下面是一段定时器响应程序。目的是要每次进来都将为Applicon换一个ICON。
这是在别人的例子之上加改的。运行后能正常更换图标。起到程序ICON闪动的
效果。可是过了一段时间之后就会报一个错误信息:
out of system resource。
不知道是什么原因?是不是我在换Applicon 的Icon的时候应该释放掉前一个
icon的资源?如果是,我怎么才能释放掉前一个ICON资源?因为Applicon的
ICON属性不是我创建的,我能去释放吗?
谢谢!
bool display = false;
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
MEMORYSTATUS memory ;
memory.dwLength = sizeof (memory) ;
GlobalMemoryStatus (&memory) ;
NOTIFYICONDATA icondata ;
memset (&icondata, 0, sizeof (icondata)) ;
icondata.cbSize = sizeof (icondata) ;
icondata.hWnd = Handle ;
String freemem = String ((int) (memory.dwAvailPhys / 1024)) + " K Free" ;
strncpy (icondata.szTip, freemem.c_str (), sizeof (icondata.szTip)) ;
Application->Icon->free;
if( display ){
Application->Icon->LoadFromFile("key.ico");
}
else
Application->Icon->LoadFromFile( "face.ico");
display = !display;
icondata.hIcon = Application->Icon->Handle ;
icondata.uFlags = NIF_ICON | NIF_TIP ;
Shell_NotifyIcon (NIM_MODIFY, &icondata) ;
}
这是在别人的例子之上加改的。运行后能正常更换图标。起到程序ICON闪动的
效果。可是过了一段时间之后就会报一个错误信息:
out of system resource。
不知道是什么原因?是不是我在换Applicon 的Icon的时候应该释放掉前一个
icon的资源?如果是,我怎么才能释放掉前一个ICON资源?因为Applicon的
ICON属性不是我创建的,我能去释放吗?
谢谢!
bool display = false;
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
MEMORYSTATUS memory ;
memory.dwLength = sizeof (memory) ;
GlobalMemoryStatus (&memory) ;
NOTIFYICONDATA icondata ;
memset (&icondata, 0, sizeof (icondata)) ;
icondata.cbSize = sizeof (icondata) ;
icondata.hWnd = Handle ;
String freemem = String ((int) (memory.dwAvailPhys / 1024)) + " K Free" ;
strncpy (icondata.szTip, freemem.c_str (), sizeof (icondata.szTip)) ;
Application->Icon->free;
if( display ){
Application->Icon->LoadFromFile("key.ico");
}
else
Application->Icon->LoadFromFile( "face.ico");
display = !display;
icondata.hIcon = Application->Icon->Handle ;
icondata.uFlags = NIF_ICON | NIF_TIP ;
Shell_NotifyIcon (NIM_MODIFY, &icondata) ;
}