社区
Windows Server
帖子详情
mmsystem内存不够是怎么回事?
xinghui
2000-07-26 10:06:00
我在刚开机后启动winamp会出现这个错误提示(
后面还接有几个数字好象是007)
需要重起一次(或几次)后恢复正常,我的系统资源
绝对足够。96mb内存,76%系统资源可用
...全文
166
6
打赏
收藏
mmsystem内存不够是怎么回事?
我在刚开机后启动winamp会出现这个错误提示( 后面还接有几个数字好象是007) 需要重起一次(或几次)后恢复正常,我的系统资源 绝对足够。96mb内存,76%系统资源可用
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sundayboys
2000-12-24
打赏
举报
回复
很奇怪,我怀疑内存有问题,不是说内存坏了,而是内存稳定性差。
sundayboys
2000-12-24
打赏
举报
回复
楼上的,不会吧,重起几次就正常了,如果winamp有毛病的话,再怎么重起也没用,同样,如果是声卡驱动问题,重起N次也不会正常的。
happylaodu
2000-12-24
打赏
举报
回复
放心吧,不是内存的毛病。
两种可能性:winamp本身的毛病(如果你用其它用到声卡的程序没有出现这样的事,那就肯定是Winamp的毛病了);
还有就是声卡的驱动有问题,请确认声卡工作稳定,可重装驱动或下载最新的驱动。
monkey79
2000-12-23
打赏
举报
回复
关注(E-mail to me )
monkey5258@china.com
OICQ:2385624
xinghui
2000-07-28
打赏
举报
回复
大概都是在每天第一次开机时,想打开winamp播放mp3音乐,
就会出现这个提示:MMSYSTEM007内存不够,关闭一些
任务后再试。但怎么试都一样,重新启动一次就好了。
请指教
ffb
2000-07-26
打赏
举报
回复
什么错误提示?说详细点
PlaySound播放器 实现wav文件的播放
PlaySound播放器 实现wav文件的播放 BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 参数pszSound是指定了要播放声音的字符串,该参数可以是WAVE文件的名字,或是WAV资源的名字,或是
内存
中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL则停止正在播放的声音。 参数hmod是应用程序的实例句柄,除非pszSound的指向一个资源标识符(即fdwSound被定义为SND_RESOURCE),否则必须设置为NULL。 参数fdwSound是标志的组合,如下表所示。若成功则函数返回TRUE,否则返回FALSE。 使用PlaySound函数时需要在#include后面加上(注意:不能加在前面): #include #pragma comment(lib, "WINMM.LIB")
仿windows关机功能界面
转载同事的测试例子,也许大家可以看看 // MyFade.cpp : implementation file // #include "stdafx.h" #include "MyFade.h" #pragma warning(disable: 4201) #include <
mms
ystem
.h> #pragma comment(lib,"winmm.lib") #pragma warning(default: 4201) #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #define WC_FADEWND _T("FadeWnd") ///////////////////////////////////////////////////////////////////////////// // CMyFade CMyFade::CMyFade(CWnd* pParent) { // register the window WNDCLASS wndcls; HINSTANCE hInst = AfxGetInstanceHandle(); if (!(::GetClassInfo(hInst, WC_FADEWND, &wndcls))) { // otherwise we need to register a new class wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW; wndcls.lpfnWndProc = ::DefWindowProc; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hInstance = hInst; wndcls.hIcon = NULL; // no application icon wndcls.hCursor = AfxGetApp()->LoadStandardCursor(IDC_ARROW); wndcls.hbrBackground = NULL; // no background wndcls.lpszMenuName = NULL; // no manu application wndcls.lpszClassName = WC_FADEWND; if (!AfxRegisterClass(&wndcls)) AfxThrowResourceException(); } m_hBitmap = NULL; m_hNewBitmap = NULL; m_pWndLock = NULL; } CMyFade::~CMyFade() { if (m_hBitmap) { DeleteObject(m_hBitmap); m_hBitmap = NULL; } if (m_hNewBitmap) { DeleteObject(m_hNewBitmap); m_hNewBitmap = NULL; } if (m_pWndLock) { m_pWndLock->SetFocus(); } } BEGIN_MESSAGE_MAP(CMyFade, CWnd) //{{AFX_MSG_MAP(CMyFade) ON_WM_PAINT() ON_WM_TIMER() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyFade message handlers void CMyFade::FadeScreen(CWnd *pParent) { if(pParent) { CMyFade *pFade=new CMyFade(pParent); if(pFade) { pFade->Create(pParent, CRect(0, 0, 0, 0)); } } } void CMyFade::OnDraw(CDC* pDC) { CRect rc; GetWindowRect(rc); HDC hbmDC=CreateCompatibleDC(pDC->GetSafeHdc()); HBITMAP hOldbmp=(HBITMAP)::SelectObject(hbmDC, m_hNewBitmap); // 将屏幕位图再输入到屏幕上去 BitBlt(pDC->GetSafeHdc(), 0, 0, rc.Width(), rc.Height(), hbmDC, 0, 0, SRCCOPY); SelectObject(hbmDC, hOldbmp); DeleteObject(hbmDC); } void CMyFade::OnPaint() { CPaintDC dc(this); OnDraw(&dc); } HBITMAP CMyFade::CopyScreenToBitmap(LPRECT lpRect) { HDC hScrDC, hMemDC; // screen DC and memory DC int nX, nY, nX2, nY2; // coordinates of rectangle to grab int nWidth, nHeight; // DIB width and height int xScrn, yScrn; // screen resolution HGDIOBJ hOldBitmap, hBitmap; if (IsRectEmpty(lpRect)) return NULL; hScrDC = CreateDC("DISPLAY", NULL, NULL, NULL); hMemDC = CreateCompatibleDC(hScrDC); xScrn = GetDeviceCaps(hScrDC, HORZRES); yScrn = GetDeviceCaps(hScrDC, VERTRES); nX = lpRect->left; nY = lpRect->top; nX2 = lpRect->right; nY2 = lpRect->bottom; if (nX < 0) nX = 0; if (nY < 0) nY = 0; if (nX2 > xScrn) nX2 = xScrn; if (nY2 > yScrn) nY2 = yScrn; nWidth = nX2 - nX; nHeight = nY2 - nY; hBitmap = CreateCompatibleBitmap(hScrDC, nWidth, nHeight); hOldBitmap = SelectObject(hMemDC, hBitmap); // 将屏幕输入到
内存
DC里面去,再通过SelectObject到位图句柄里面 BitBlt(hMemDC, 0, 0, nWidth, nHeight, hScrDC, nX, nY, SRCCOPY); // 将刚刚得到到的屏幕位图置换出句柄 hBitmap=SelectObject(hMemDC, hOldBitmap); DeleteDC(hScrDC); DeleteDC(hMemDC); return (HBITMAP)hBitmap; } BOOL CMyFade::Create(CWnd *pParent, CRect rc) { if (!pParent || !IsWindow(pParent->GetSafeHwnd())) { MessageBox("error1"); return false; } CClientDC dcParent(pParent); if (dcParent.GetDeviceCaps(RASTERCAPS) & RC_PALETTE) { MessageBox("error2"); return FALSE; } GetDesktopWindow()->GetWindowRect(rc); CString szText; GetDesktopWindow()->GetWindowText(szText); if (!CWnd::CreateEx( 0, WC_FADEWND, szText, WS_POPUP | WS_CHILD | WS_VISIBLE, rc, pParent, NULL, NULL)) { MessageBox("error3"); return FALSE; } /* if(pParent!=GetDesktopWindow()) { m_pWndLock=pParent; m_pWndLock->EnableWindow(false); HRGN hRgn=CreateRectRgn(0, 0, 0, 0); int regiontype=m_pWndLock->GetWindowRgn(hRgn); if(regiontype!=ERROR) { MessageBox("error4"); SetWindowRgn(hRgn, false); } DeleteObject(hRgn); } */ m_hBitmap = CopyScreenToBitmap(rc); SetTimer(1, 2000, NULL); } ////////////////////////////////////////////////////////////////////////// // 核心函数,将屏幕变暗 HBITMAP CMyFade::FadeBitmap(HBITMAP hBmp, double dfTrans) { HBITMAP hRetBmp = NULL; if (hBmp) { HDC hBufferDC = CreateCompatibleDC(NULL); HGDIOBJ hPrevBufObject = SelectObject(hBufferDC, hBmp); HDC hDirectDC = CreateCompatibleDC(NULL); // DC for working if (hDirectDC) { BITMAP bm; GetObject(hBmp, sizeof(bm), &bm); BITMAPINFO bmInfo; ZeroMemory(&bmInfo,sizeof(bmInfo)); bmInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmInfo.bmiHeader.biWidth = bm.bmWidth; bmInfo.bmiHeader.biHeight = bm.bmHeight; bmInfo.bmiHeader.biPlanes = 1; bmInfo.bmiHeader.biBitCount = 32; UINT* ptPixels; HBITMAP hDirectBitmap = CreateDIBSection(hDirectDC, (BITMAPINFO*)&bmInfo, DIB_RGB_COLORS,(void**)&ptPixels, NULL, 0); if (hDirectBitmap) { // 将hDirectBitmap放入hDirectDC中处理 HGDIOBJ hPrevBufDirObject = SelectObject(hDirectDC, hDirectBitmap); // 当前将原hBmp即屏幕的所有像素写入到hDirectDC // 即需要对像素灰度处理的DC中 BitBlt(hDirectDC,0,0,bm.bmWidth,bm.bmHeight,hBufferDC,0,0,SRCCOPY); int iAlpha = (int)(255.0 * dfTrans / 100.0); int nSize = bm.bmWidth * bm.bmHeight; for (int i=0; i
> 16; int iSrcG = ptPixels[i] & 0x0000ff00 >> 8; int iSrcB = ptPixels[i] & 0x000000ff; int iGrey = (iSrcR * 54 + iSrcG * 182 + iSrcB * 19) >> 8; COLORREF Col =iGrey ; //RGB(iGrey, iGrey, iGrey) ; ptPixels[i] = RGB( (GetBValue( Col ) * iAlpha + iSrcB * (255 - iAlpha)) >> 8, (GetGValue( Col ) * iAlpha + iSrcG * (255 - iAlpha)) >> 8, (GetRValue( Col ) * iAlpha + iSrcR * (255 - iAlpha)) >> 8 ); } SelectObject(hDirectDC,hPrevBufDirObject); hRetBmp = hDirectBitmap; } DeleteDC(hDirectDC); } SelectObject(hBufferDC, hPrevBufObject); DeleteDC(hBufferDC); } return hRetBmp; } static i=0; void CMyFade::OnTimer(UINT nIDEvent) { CWnd::OnTimer(nIDEvent); CClientDC dc(this); i+=2; if(i>100) { KillTimer(1); return; } DWORD dwStartCount = timeGetTime(); if(m_hNewBitmap) { DeleteObject(m_hNewBitmap); m_hNewBitmap = NULL; } m_hNewBitmap = FadeBitmap(m_hBitmap,(double)i); OnDraw(&dc); DWORD dwEndCount = timeGetTime(); // tick counter in milliseconds }
一个函数PlaySound
使用这个函数时如果只在头文件中包含 include<
mms
ystem
.h>是
不够
的 还得单击 project-->setting-->link object/library 下加入Winmm.lib 或者用代码 #pragma comment(lib,"winmm.lib") PlaySound...
内存
拷贝优化(1)-小
内存
拷贝优化
相信大家代码里有很多地方用到memcpy这个函数,相信这个函数的占用是不小的,有时优化了memcpy,能使整个项目的运行效率提升。通过适当的编码技巧,让我们的
内存
拷贝速度超过memcpy两倍,是可以实现的。
有人说memcpy还能优化么?不就是rep movsd么?CPU和
内存
之间的带宽是固定的,怎么可能优化呢?其实是普通的
内存
拷贝并没有发挥全部的带宽,很多被浪费掉了,比如要等到数据完全读取成功后再去写入,然后要写入成功后再去读取新的。而优化本身就是使这两者尽量的并行。发
播放背景音乐
方法如下:首先需要在uses部分加入
mms
ystem
,接着写入下列语句,其中e:\1.mid为播放的文件,NN为自定义名称标志procedure TForm1.Button1Click(Sender: Tobject);begin//播放音乐MCISendString('OPEN e:\1.MID TYPE SEQUENCER ALIAS NN', '', 0, 0);MCISendString(...
Windows Server
6,849
社区成员
178,034
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章