VC 重启、关闭机、枚举系统字体和获取程序图标
来源:互联网 发布:三维模型设计软件 mac 编辑:程序博客网 时间:2024/06/06 06:41
一、重启计算机
typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针HINSTANCE hInst = LoadLibrary("shell32.dll"); //装入shell32.dllSHUTDOWNDLG ShutDownDialog; //指向shell32.dll库中显示关机对话框函数的指针if(hInst != NULL){ //获得函数的地址并调用之 ShutDownDialog = (SHUTDOWNDLG)GetProcAddress(hInst,(LPSTR)60); (*ShutDownDialog)(0);}二、关闭计算机
OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);GetVersionEx(&OsVersionInfo); //获取操作系统版本信息if(OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS){ //Windows98,调用ExitWindowsEx()函数重新启动计算机 DWORD dwReserved; ExitWindowsEx(EWX_REBOOT,dwReserved); //可以改变第一个参数,实现注销用户、 //关机、关闭电源等操作 // 退出前的一些处理程序}三、打开CD-ROM
mciSendString("Set cdAudio door open wait",NULL,0,NULL);四、关闭CD_ROM
mciSendString("Set cdAudio door closed wait",NULL,0,NULL);
五、枚举所有字体
方法一:
LOGFONT lf;lf.lfCharSet = DEFAULT_CHARSET; // Initialize the LOGFONT structurestrcpy(lf.lfFaceName,"");CClientDC dc (this);// Enumerate the font families::EnumFontFamiliesEx((HDC) dc,&lf, (FONTENUMPROC) EnumFontFamProc,(LPARAM) this,0);//枚举函数int CALLBACK EnumFontFamProc(LPENUMLOGFONT lpelf, LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lparam) { // Create a pointer to the dialog window CDay7Dlg* pWnd = (CDay7Dlg*) lparam; // add the font name to the list box pWnd ->m_ctlFontList.AddString(lpelf ->elfLogFont.lfFaceName); // Return 1 to continue font enumeration return 1;}//其中m_ctlFontList是一个列表控件变量
方法二:
使用GDIPlus获取系统已经安装的字体,与方法一的结果有一些区别,其字体类型数量可能较少。
InstalledFontCollection InstalledFont; int iFontCount = InstalledFont.GetFamilyCount();FontFamily* pInstalledFontFamilies = new FontFamily[iFontCount];int numFamilies = 0;InstalledFont.GetFamilies(iFontCount, pInstalledFontFamilies, &numFamilies);ASSERT(iFontCount == numFamilies);FontFamily* pFontFamilies = pInstalledFontFamilies;for(int i = 0;i < iFontCount; ++i) { TCHAR wcsFontName[ARRAY_MAX] = {0}; if(pFontFamilies != NULL) { pFontFamilies->GetFamilyName(wcsFontName); } if(wcsFontName[0] != NULL) { //添加字体到控件 m_ctlFontList.AddString(wcsFontName); } ++pFontFamilies;} delete []pInstalledFontFamilies;
六、得到当前鼠标所在位置
CPoint pt;GetCursorPos(&pt); //得到位置
七、获取可执行文件的图标
HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(),_T("NotePad.exe"),0);if (hIcon &&hIcon!=(HICON)-1){ pDC->DrawIcon(10,10,hIcon);}DestroyIcon(hIcon);
八、改变应用程序图标的方法
静态更改:
修改图标资源IDR_MAINFRAME。它有两个图标,一个是16*16的,另一个是32*32的,注意要一起修改。
动态更改:
向主窗口发送WM_SETICON消息.代码如下:
HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON); ASSERT(hIcon); AfxGetMainWnd()->SendMessage(WM_SETICON,TRUE,(LPARAM)hIcon);
九、一种改变窗口标题的方法
使用语句 CWnd* m_pCWnd = AfxGetMainWnd( ),然后,再以如下形式调用SetWindowText()函数:
//m_WindowText可以是一个CString类的变量。SetWindowText( *m_pCWnd,(LPCTSTR)m_WindowText);
- VC 重启、关闭机、枚举系统字体和获取程序图标
- 打开,关闭 CD_ROM,关机,重启,系统字体枚举 ,显示和隐藏程序菜单,获取可执行文件的图标,窗口自动靠边程序演示,给系统菜单添加菜单项,得到屏幕的尺寸大小
- 重启、关闭计算机 打开/关闭CD-ROM获取本机已安装的字体修改执行文件图标
- VC枚举系统所有字体
- VC 注销、关闭、重启系统
- VC++操作关闭,注销,重启系统
- 系统重启关闭和程序随机启动
- C++ 32位程序枚举64位系统注册表子项,含关闭重定向和提权
- C++ 32位程序枚举64位系统注册表子项,含关闭重定向和提权
- vc 获取系统关联图标
- VC 快速枚举系统所有字体。
- VC 快速枚举系统所有字体
- net cf重启和关闭系统
- 关闭和重启Linux系统
- linux重启和关闭系统命令
- linux重启和关闭系统命令
- linux重启和关闭系统命令
- linux重启和关闭系统命令
- Sleep和WaitForSingleObject区别
- C语言程序书写规范
- 自己搜集编写的Delphi 通用函数
- oracle双机热备份方法
- JAVA中List、Map、Set的区别与选用
- VC 重启、关闭机、枚举系统字体和获取程序图标
- VC读取word
- Java的Jni编写
- Delphi 实现传送文件 <TServerSocket/TClientSocket>
- 【Delphi】Stream 介绍
- DELPHI MODEM拨号放音
- 三种《谁能坚持50秒》的智能闪避算法,让电脑玩高难度游戏
- PHP 对时间的处理
- 用Indy组件开发Socket应用程序