以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 20个VC开发小技巧(1) (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=37737) |
-- 作者:longshentailang -- 发布时间:9/8/2006 5:37:00 PM -- 20个VC开发小技巧(1) 中华网络安全联盟 作者:佚名 来源:网络转载 时间:2006-3-22 20个VC开发小技巧(1) //一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); //二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); //三、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 //四、重启计算机 typedef int (CALLBACK *SHUTDOWNDLG)(int); //显示关机对话框函数的指针 //五、枚举所有字体 LOGFONT lf; //其中m_ctlFontList是一个列表控件变量 //六、一次只运行一个程序实例,如果已运行则退出 if( FindWindow(NULL,"程序标题")) exit(0); //七、得到当前鼠标所在位置 CPoint pt; //八、上下文菜单事件触发事件:OnContextMenu事件 //九、显示和隐藏程序菜单 CWnd *pWnd=AfxGetMainWnd(); //十、获取可执行文件的图标 HICON hIcon=::ExtractIcon(AfxGetInstanceHandle(),_T("NotePad.exe"),0); |
-- 作者:longshentailang -- 发布时间:9/8/2006 5:39:00 PM -- 不好意思,上面最后一个代码少了一句,加上如下代码: DestroyIcon(hIcon); |
-- 作者:卷积内核 -- 发布时间:9/9/2006 9:18:00 AM -- 第六条 一次只运行一个程序实例最好还是用这个吧 CreateMutex(NULL,TRUE,_T("DlgMutex")); BOOL bAlreadyRunning = (GetLastError() == ERROR_ALREADY_EXISTS); if(bAlreadyRunning) return FALSE; 上面那个对于某些程序不好用,比如说:没有标题栏的程序。 |
-- 作者:longshentailang -- 发布时间:9/10/2006 5:28:00 PM -- 多谢卷积内核版主的指点,实际编程中第6条的确对有些程序不太有用. |
-- 作者:lxhong1979 -- 发布时间:9/15/2006 2:23:00 PM -- 谢谢了,很不错了 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
89.844ms |