摘要: 1.停止服务 1.SetEvent(stopServiceEvent); 设置stopServiceEvent为有信号状态 2.monitor_sessions()中判断stopServiceEvent为有信号状态 将ToCont = FALSE; 退出循环并将hEvent(hEvent = CreateEvent(NULL, FALSE, FALSE, "Global\\SessionEventUltra");) 设置为有信号状态 3.创建进程的时候,创建了一个hShutdownEvent(hShutdownEvent = OpenEvent(EVE... 阅读全文
posted @ 2013-08-05 12:02 无语东流 阅读(575) 评论(0) 推荐(0)
摘要: 需要创建三个程序:1.Windows 服务程序 2.我们自己的应用程序 3.给服务发送信号的应用程序。当然其中的 1和3 可以合并在一起,而且 2 我们可以做成多个应用程序。这样只要是我们自己写的都可以以SYSTEM的权限运行了,比管理员更实用。这里需要注意的是第一次安装服务的时候必须以管理员的权限运行。好了,闲话少说,下面步入正题,我做了个简单的Demo,是以服务的方式启动系统自带的管理记事本程序(windows 7下面的,用VS2008编辑)。我们以函数CreateProcessAsUser 来开始讲解,我们所要做的动作就是把这个函数的各个参数都填对 就OK,只需把其中的几个关键参数填好, 阅读全文
posted @ 2013-07-18 11:00 无语东流 阅读(552) 评论(0) 推荐(0)
摘要: richedit 常见使用问题一.常见问题a.可以编译,不能执行的在需要在相应的对话框中加上InitInstance(void)函数中添加AfxInitRichEdit();b.升级默认的Riched版本(默认的有一些bug),如可在InitInstance中添加LoadLibrary("RICHED20.DLL")最后注意 FreeLibrary如果是CRichEditView基类的可用BOOL CXXXXXXView::PreCreateWindow(CREATESTRUCT& cs){//装入rich edit version 2.0if (LoadLibra 阅读全文
posted @ 2012-10-10 09:10 无语东流 阅读(3149) 评论(1) 推荐(0)
摘要: 用vc2008动态编译(/MD,/MDd)的程序,在进行发布或者部署时,经常会因为目标机器上没有相应的dll库版本而引发“应用程序配置不正确,程序无法启动”问题。而解决方法也不是将vc安装目录下对应的dll库拷贝到程序路径下这么简单,其中涉及到的一些细节还是够大家研究一番的。 首先我们需要很清楚地了解side-by-side、manifest文件等这些概念,可以参考我博客的文章详解“由于应用程序配置不正确,应用程序未能启动”。 知道问题产生的原由,我们就明确了解决vc2008程序发布问题的目标:将程序真正链接的dll库文件和程序一起打包,并保证程序的manifest配置能够正确链接到这些库。如 阅读全文
posted @ 2012-09-19 16:48 无语东流 阅读(323) 评论(0) 推荐(0)
摘要: 使用其自带的CTabView,在AddView后添加(几个不同的属性)this -> GetTabControl().SetLocation( CMFCTabCtrl:: LOCATION_TOP); //方向上顶this -> GetTabControl().ModifyTabStyle( CMFCTabCtrl:: STYLE_3D_ROUNDED_SCROLL); //风格this -> GetTabControl().EnableAutoColor( TRUE ); //自动着色this -> GetTabControl().SetTabBorderSize( 阅读全文
posted @ 2012-07-04 17:58 无语东流 阅读(832) 评论(0) 推荐(0)
摘要: Visual Studio 2010 MFC Ribbon用户界面 新增Windows7样式,操作方便,效果也很漂亮。但在透明图标的制作却让初学者头疼。使用普通的BMP位图做图标背景不透明,很难看。其实Ribbon上用的图标是32位的位图序列,包含Alpha通道。Visual Studio 2010 MFC自带的编辑器不好用,要配合一些图标制作软件,才能制作出32位包含Alpha通道的位图图标序列。1.准备好需要的32X32普通图标文件,可以从网上下载喜欢的,或是自己手动做。2.用图标合并工具将图标合并成一个位图序列。这里我用的是Visual Toolbar 1.5破解版。使用方法很简单我就不 阅读全文
posted @ 2012-06-25 15:02 无语东流 阅读(1888) 评论(0) 推荐(0)
摘要: 使用MultiByteToWideChar和WideCharToMultiByte写的4个ANSI <-> Unicode <-> UTF-8 相互转换的函数。使用C语言标准库mbstowcs和wcstombs写的w2m和m2w两个函数,分别对应ANSI <-> Unicode 相互转换。包装一下 ANSI <-> UTF-8 。#include <stdio.h>#include <windows.h>#include <locale.h>#define BUFF_SIZE 1024wchar_t * ANS 阅读全文
posted @ 2012-04-06 11:07 无语东流 阅读(396) 评论(0) 推荐(0)
摘要: 1. 当用户在对话框上按OK按钮或者Cancel按钮时,对话框都会发送WM_COMMAND,而OnOk与OnCancel是分别处理这两个WM_COMMAND的函数2.在点击OK按钮与Cancel按钮时,程序会关闭对话框,此时发送WM_CLOSE消息,而OnClose函数是响应这个消息的函数3.通常,程序会调用OnClose函数时, 调用DestroyWindow,这个函数会发送WM_DESTORY消息,而OnDestory是响应这个消息的函数4.在此之后,窗体就真正地消毁了。对于模态对话框而言,需要显示时,只需要定义一个对话框类,然后调用DoModal方式,就能显示。当要关闭对话框时,调用En 阅读全文
posted @ 2012-01-04 10:04 无语东流 阅读(778) 评论(0) 推荐(0)
摘要: 每次只能进入安全模式的过程中系统会加载很多驱动程序,然后配置下就只能进入安全模式。是驱动加载的问题,在安全模式下运行msconfig命令:常规 -启动选择 - 正常启动(加载所有驱动程序和服务),然后在引导选项里面把“安全引导”的复选框去除。重新启动。天啊,吓着偶了~~以后可不敢在打补丁的时候强制关机了,不过之前有做过这样的操作没出现问题,就这次出现问题。等会我查下到底是安装什么补丁才导致这样的问题。 阅读全文
posted @ 2012-01-03 08:57 无语东流 阅读(509) 评论(0) 推荐(0)
摘要: 重现:(1)新建Ribbon风格的MFC文档视图工程,加入OutlookBar导航条风格。(2)在CMainFrame::CreateOutlookBar中,注释下面的代码:// tree.Create(dwTreeStyle, rectDummy, &bar, 1200);// bNameValid = strTemp.LoadString(IDS_FOLDERS);// ASSERT(bNameValid);// pOutlookBar->AddControl(&tree, strTemp, 2, TRUE, dwStyle);//// calendar.Create 阅读全文
posted @ 2011-12-31 09:34 无语东流 阅读(1199) 评论(0) 推荐(0)