- 博客(45)
- 资源 (19)
- 收藏
- 关注
原创 nodejs使用log4js模块注意事项
做个记录如果pm2启动的nodejs程序,想让程序的日志输出到文件中,则可以进行如下配置:const log4js = require('log4js');log4js.configure({ replaceConsole: true, pm2: true, appenders: { stdout: {//控制台输出 type: 'console' }, info: { ty
2020-11-30 14:17:14
337
原创 Windows环境,C++设置程序开机自启动
开启开机自动功能:CHAR szFilePath[MAX_PATH];memset(szFilePath, 0, MAX_PATH);if (GetModuleFileNameA(NULL, szFilePath, MAX_PATH)){ HKEY hKey; CStringA strRegPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, str
2020-11-24 13:58:48
2259
原创 centos环境下redis的下载安装和使用
1、下载和编译:$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.17$ make2、编译之后,redis-2.8.17目录下会出现redis服务程序和客户端程序,这两个程序都位于src目录下,要启动服务需要输入以下命令:$ cd src$ ./redis-server3、服务启动之后,我们可以启动客户端程序来进行交互测试啦
2020-11-24 11:56:25
206
原创 linux环境下设置启动脚本自动启动
1、首先输入命令crontab -e2、在打开的文件中输入以下内容:@reboot ( sleep 10; sh \脚本所在的绝对路径\启动脚本的名字.sh )注:sleep10是指10秒后执行脚本
2020-11-24 11:36:39
343
原创 如何定位并高亮显示在列表控件中找到的行
我们在应用中有时候需要在列表控件中找到一条记录,而这条记录可能不再当前页,而我们需要把这条记录找到并高亮显示到当前页中,那么如何实现呢代码如下: CString s1 = "要查找的内容"; for( int Item=0;Item<"列表控件的总行数";Item++ ) { //逐行查询,获取该行子项内容 CString s2 = ((CListCtrl*)GetDlgItem(IDC_LIST1))->GetItemText( Item, "查找内容相匹配的列号"
2020-11-24 11:27:44
449
原创 解决MFC编程中对话框中个别字符无法输入的问题
检查PreTranslateMessage(MSG* pMsg)消息预处理函数中是否屏蔽了那些按键的输入,如果没有指定屏蔽的话,需要检查下该函数中是否有如下代码:if(pMsg->wParam==VK_F4)//屏蔽ALT+F4键 return TRUE;如果有的话,需要改成如下的方式: if (WM_SYSKEYDOWN == pMsg->message )// WM_SYSKEYDOWN 表示ALT键按下 { if (VK_F4 == pMsg->wPa
2020-11-24 11:11:08
614
原创 linux环境下启动MariaDB,并设置开机启动
在CentOS7下,安装MariaDB安装:yum install mariadb-server -y启动systemctl start mariadb //启动数据库设置开机启动systemctl enable mariadb //设置开机自启
2020-11-24 10:48:38
5429
1
原创 linux环境下如何修改Mysql数据库的远程访问权限
如何修改数据库的远程访问权限,首先进入mysql中1、grant all privileges on *.* to '数据库用户名'@'你主机地址' identified by '你的密码';2.刷新权限:FLUSH PRIVILEGES;3.查看权限:select user,host from mysql.user;...
2020-11-24 10:44:20
939
原创 linux环境下nignx安装出现 make[1]: *** [/usr/local/wotrus_ssl/.openssl/include/openssl/ssl.h] Error 127错误
如果在linux环境下nignx安装出现 make[1]: *** [/usr/local/wotrus_ssl/.openssl/include/openssl/ssl.h] Error 127错误,则需要进入 nginx-1.18.0/auto/lib/openssl 目录下编辑 conf 文件。需修改如下内容:CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/inclu
2020-11-24 10:35:08
6465
1
原创 linux环境下nignx安装和配置
step 1:下载所需包openssl-fips-2.0.2.tar.gzzlib-1.2.7.tar.gzpcre-8.21.tar.gznginx-1.18.0.tar.gz以上安装包需要自己找到相应的下载路径下载下来,首先在usr目录下创建一个soft文件夹,然后切换到该文件夹下,将下载的文件放到该文件夹下即:/usr/soft文件夹如nginx-1.18.0.tar.gz的下载路径是http://nginx.org/download/nginx-1.18.0.tar.gz,那么下
2020-11-24 10:26:02
225
原创 解决MFC程序无法通过类向导添加控件变量和事件处理函数的问题
我们在用VS创建MFC项目,在对控件添加控件变量或者事件处理函数时,有时候会遇到进行这些操作时没有任何反应,添加完控件变量或者事件处理函数时,不会自动添加变量或者事件处理程序。在遇到这类问题时可以尝试以下操作:在使用VS进行MFC编程时,相信很多朋友都遇到过无法添加事件处理程序的问题,点击添加,没有任何反应,也不自动跳转到映射代码处,或者报属性参数无效,下面给出解决办法:依次点击"工具"->"选项"->"文本编辑"->"C/C++"->高级,找到下图6标识的选项,把禁用解
2020-11-24 09:38:52
5154
1
原创 GetLastError错误码信息收集
GetLastError的返回值的含义:(0)-操作成功完成。(1)-功能错误。(2)- 系统找不到指定的文件。(3)-系统找不到指定的路径。(4)-系统无法打开文件。(5)-拒绝访问。(6)-句柄无 效。(7)-存储控制块被损坏。(8)-存储空间不足,无法处理此命令。(9)-存储控制块地址无效。(10)-环境错 误。(11)-试图加载格式错误的程序
2017-06-03 14:44:59
998
转载 dump文件分析
转自:http://www.cnit.net.cn/?id=225网维大师目前能够收集32位客户机系统(XP和win7 32位)产生的蓝屏DMP文件到服务端DUMP文件夹,我们可以通过分析蓝屏曰志来确定到底是什么导致了客户机蓝屏。一、WinDbg是什么?它能做什么? WinDbg是在windows平台下,强大的用户态和内核态调试工具。它能够通过dmp文件轻松的定位到问题根源,可用于分
2016-12-16 14:25:01
7321
转载 通过注册表配置弹出窗口阻止程序
转自:http://hejianlong.123.blog.163.com/blog/static/2671583920098411142467/注册表位置:[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows]Windows Registry"PopupMgr"="yes""PlaySound"
2016-10-31 15:48:29
5145
原创 设置创建进程的父进程
/* 根据进程名获取任意进程Id */ DWORD pid = GetProcessIDFromName("services.exe");//遍历进程快照获取进程ID/* 已全部权限打开services.exe 进程 */HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);/* 创建启动信息结构体 */STARTUPINFOEX
2016-10-24 11:23:43
4203
转载 C++生成dump文件
转自:http://www.cnblogs.com/sz-leez/p/5942692.htmlC++代码中,使用DbgHelp模块的MINIDUMP编程生成123456789101112131415161718
2016-10-22 11:28:02
1500
转载 进程间通信 - 匿名管道实现
转自:http://www.cnblogs.com/BoyXiao/archive/2011/01/01/1923828.html引子前面的两篇博文分别介绍了通过剪贴板和通过邮槽来实现进程之间的通信,其中剪贴板呢,是用来实现本地两个进程之间的通信,而邮槽则既可以实现本地两个进程之间的通信,也可以实现本地进程和服务器进程的通信,当然,上面这两种方式都是有局
2016-10-21 17:53:09
434
转载 进程间通信 - 动态链接库实现
转自:http://www.cnblogs.com/BoyXiao/archive/2011/01/03/1924660.html引子前面介绍的几种用于实现进程之间通信的方法都是比较正统的方式,像剪贴板,命名管道这些都还是用得比较多的,而这里将介绍的是一种比较偏门的方法来实现进程间的通信,所谓偏门呢,自然就是用的少,能够不用就不要使用。其实这种方
2016-10-21 17:48:44
802
转载 进程间通信 - 匿名管道实现
转自:http://www.cnblogs.com/BoyXiao/archive/2011/01/01/1923828.html引子前面的两篇博文分别介绍了通过剪贴板和通过邮槽来实现进程之间的通信,其中剪贴板呢,是用来实现本地两个进程之间的通信,而邮槽则既可以实现本地两个进程之间的通信,也可以实现本地进程和服务器进程的通信,当然,上面这两种方式都是有局
2016-10-21 17:46:56
494
转载 进程间通信 - 剪贴板实现
转自:http://www.cnblogs.com/BoyXiao/archive/2010/12/25/1916677.html引子由于在启动一个进程后,操作系统会给这个进程分配 4GB 的私有地址空间,至于为何有 4GB 这么大,那得考虑进程的私有地址空间和实际物理内存地址空间之间的映射以及页交换等等细节问题了,这里不予讨论,从名字就可以知道,既然操作系统给
2016-10-21 17:39:54
662
转载 进程间通信 - 邮槽实现
转自:http://www.cnblogs.com/BoyXiao/archive/2010/12/31/1923462.html引子前面的一篇博文介绍了进程之间通信的一种最为简单的方式,也就是在本地进程之间通过剪贴板来实现进程间通信,而剪贴板自有其缺陷,很显然的是,剪贴板只能在本地机器上实现,无法实现本地进程与远程服务器上的进程之间的通信,那么有没
2016-10-21 17:37:07
312
转载 进程间通信 - 命名管道实现
转自:http://www.cnblogs.com/BoyXiao/archive/2011/01/02/1924188.html引子好,到这里呢,就需要介绍实现进程间通信的第四种方式了,也就是通过命名管道来实现,前面介绍的那三种方式呢,都是有缺陷或者说局限性太强,而这里介绍的命名管道相对来说,在这方面就做得好很多了,比如,剪贴板的话只能实现本机上进程之
2016-10-21 17:34:03
357
转载 VS2008环境编译驱动
转自:http://www.cnblogs.com/qintangtao/archive/2013/03/09/2951598.htmlA、VC9驱动编译配置 B、VC9集成环境下编译驱动一、新建一个空的 win32控制台程序 1、选(文件→新建→项目→Visual C++项目→win32→win32控制台项目)创建一个 填写上名称eve
2016-09-18 20:07:10
396
转载 C++开源库大全
转自:http://www.cnblogs.com/chengyuanchun/p/5107978.html程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准
2016-09-10 17:16:30
694
转载 mangos源码分析
mangos源码分析转自:http://eric-weitm.iteye.com/blog/1457395mangos 的执行模型 一、线程分布: 1、主线程 main---- Master::Run() ,主要功能:初始化world、创建子线程、回收资源 2、WorldRunnable -------GS主线程 3、CliRunnable -----后台调
2016-09-10 16:58:27
416
转载 使用blitter进行内存填充
前面的内存填充都是利用memset()或memcpy()进行的。主要是用cpu进行的,有点慢。特别是当表面非线性时,就得一行一行的填充,就更慢了。利用blitter我们可以直接填充或移动大块VRAM和DDraw表面,速度比较快。有两个函数如下:IDIRECTDRAWSURFACE7::Blt()IDIRECTDRAWSURFACE7::BltFast()Blt原
2012-08-24 12:51:25
1385
转载 双缓冲和后备缓冲
前面的例子都是,直接在主表面上绘东西。对于动画,直接在主表面上绘,会产生很严重的闪烁。解决的办法是采用双缓冲或后备缓冲。双缓冲双缓冲:在离屏缓冲中绘制图像,然后将其拷贝到显示表面。 见下面代码,先把数据放到double_buffer,最后再拷贝到主表面上。下面Sleep(300);睡眠了0.3秒这么长的时间是为了更为明显的看到画面的变化。代码下载 int G
2012-08-24 12:50:30
814
转载 高彩模式
除了8位的,还有16位、24位、32位等。高于8位的模式都不再采用调色板模式。下面介绍几种编码模式。16位模式下有几种编码方案Alpha.5.5.5:这种模式用D15位存储一个Alpha(透明度),其余15位均匀分配给红色5位,绿色5位,蓝色5位。X5.5.5:与Alpha.5.5.5类似,只是最高位没有使用。5.6.5:这个是16色彩最常用的模式。5位分配给红,6位分配给绿,5位
2012-08-24 12:49:33
4544
转载 Ddraw 创建表面
转载于:http://www.cnblogs.com/fangyukuan/archive/2011/05/21/2052728.html创建DDraw对象和设置协作级别请看《一个简单的DDraw应用程序》设置模式SetDisplayMode为设置视频模式的函数HRESULT SetDisplayMode(DWORD dwWidth, // 屏幕宽
2012-08-24 12:48:13
876
转载 批处理删除vc临时文件
@echo onecho 删除VC编译产生的临时文件echo 删除开始...for /r . %%c in (.) do @if exist "%%c\Debug" rd /S /Q "%%c\Debug"for /r . %%c in (.) do @if exist "%%c\Release" rd /S /Q "%%c\Release"for /r . %%c in (*
2012-08-24 12:44:23
577
转载 一个简单的DDraw应用程序
此文章转载于:http://www.cnblogs.com/fangyukuan/archive/2011/05/13/2045951.htmlDDraw总共由五个接口组成: IUnknown:所有com接口都必须从这里继承的。(请看相关文章COM笔记-QueryInterface函数)IDirectDraw:使用DDraw必须创建的主接口对象。IDirectDrawSurface
2012-08-24 12:43:01
723
转载 《高效程序员的45个习惯》
1 做事 “出了问题,第一重要的是确定元凶,找到那个人!一旦证实了是他的错误,就可以保证这样的问题永远也不会再发生了。”指责不会修复bug,把矛头对准问题的解决办法,而不是人。这是真正有用处的正面效应。 也许你不相信,但确实有些人常常不把解决问题放在最高优先级上。也许你也没有。先自我反省一下,当有问题出现时,“第一”反应究竟是什么?一个重大的错误应该被当作是一次学习而不是指
2012-07-12 13:17:46
3064
原创 7zip压缩与解压缩在vc++中的调用方法例子
最近在做关于压缩与解压缩的程序,在网上找了很长时间,很多的文章都很难理解,经过大半天的尝试终于找到一种解决办法,现在以其中的一种压缩和解压缩的方式的例子给大家呈现: 首先要有7zip的可执行文件7z.exe,假设已经将该可执行文件放自己的项目目录下,即和自己的可执行文件放在同一目录下, // 压缩程序 CString sParm; CString sSaveTemp; CString se
2012-03-02 10:27:24
4254
转载 面向对象编程思想(网上看到的一篇不错的文章和大家共享)
转至:http://bbs.jcwcn.com/thread-90571-1-1.html 前言: 整理这份资料的目的是为了帮助朋友们能够更直观的理解面向对象的编程。让后来者能够少走一些弯路。但其中不免有许多漏洞及错误,也还请前辈提出宝贵的更改意见,毕竟交流会让我们不断的进步。 技术是日新月异的,他不会等待你的成长。技术要拿出来于别人交流,自己学是自己主观意识上的理解,有对有错
2012-02-27 10:44:47
718
转载 vc剪贴板
VC 剪切板操作<br /> <br /> 下边的源代码演示了如何将文本(包含在CString对象“source”中)拷贝到剪贴板上。 <br /> <br /> CString source; <br /> //put your text in source <br /> if(OpenClipboard()) <br /> { <br />HGLOBAL clipbuffer; <br /> char * buff
2011-01-04 14:30:00
532
转载 为ListBox控件添加水平滚动条
<br />Win32的标准控件之中,列表控件(ListBox)并没有和列表视图(ListView)一样提供水平滚动条,所以如果列表项的长度超过列表的宽度的话,那么超出的部分将无法显示。在本文中我将以一个简单的例子来说明如何使用SDK来解决这一问题,在这个例子中,我将为一个列表控件添加100行如下格式的文本:<br />case WM_INITDIALOG:<br />{<br /> int i;<br /> TCHAR str[100];<br /> for(i = 0; i < 100; i++)<br
2010-10-26 14:34:00
2722
转载 VC实现滚动条的详解
显示区域大小:<br />我们曾经使用过 GetClientRect 函数来获取显示区域的大小,使用这个函数没有什么不好,只是效率太低,确定显示区域更好的方法是在窗口消息处理程序中处理 WM_SIZE消息。传递给窗口消息处理程序的lParam 参数的低字节包含显示区域的宽度,高字节包含高度。<br />static int nxClient, nyClient;<br />case WM_SIZE:<br />nxClient = LOWORD(lParam);<br />nyClient = HIWORD
2010-10-26 12:21:00
2206
转载 用好模糊查询指令LIKE
查询是SQL 中重要的功能,而在查询中将Like用上,可以搜索到一些意想不到的结果和效果,like的神奇之处在于其提供的模糊查询功能,通过与它相匹配的四大类通配符,like放在条件中起到画龙点睛的作用。 <br />一、一般搜索条件中用Like <br />可与LIKE配对的数据类型主要是字符串、日期或时间值。LIKE 关键字可以使用常规表达式包含上面三种类型数据,这些数据字符串中可包含下面四种通配符的任意组合。 <br /> <br />通配符 含义 <br />% 包含零个或更多字符的任意字符串。 <b
2010-10-23 16:40:00
1090
转载 让CListCtrl的SubItem也具有编辑功能:
<br /><br />要重载一个文本框,然后在LVN_BEGINLABELEDIT时改变文本框位置。<br />CInEdit m_InEdit;<br /> if( ( GetStyle() & LVS_TYPEMASK ) == LVS_REPORT && ( m_nEditSubItem != 0 ) )<br /> {<br /> HWND hwndEdit;<br /> CRect rtBound;<br /> CString s
2010-10-23 09:28:00
491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人