- 博客(59)
- 收藏
- 关注
原创 windows 服务的安装、启动、状态查询 c++实现
/LOG_INFO << "打开服务管理器失败 (" << ::GetLastError() << ")\r\n";//LOG_INFO << "不能安装服务 (" << ::GetLastError() << ")\r\n";//LOG_INFO << "创建服务失败 (" << ::GetLastError() << ")\r\n";//LOG_INFO << "创建服务成功\r\n";@根据服务名查询服务状态。@ 根据服务名 安装服务。@ 根据服务名启动服务。@根据服务名停止服务。
2023-11-28 14:29:09 401
原创 C++/MFC学习书籍
C++ Primeeffective c++Programming Windows with MFC深入浅出MFC 第二版VC++技术内幕
2013-11-24 21:46:55 1243 1
转载 CFileDialog 的unhandled exception at
CfileDialog 为何抛出异常与一个mfc的宏定义有关如果_WIN32_WINNT 0x0500 这个宏被定义那么就不能再用cfiledialg 了,把这个宏定义去掉则OK 如果程序中确实需要这个宏经过我自己的摸索,下面给出三个解决的方案:1.不要使用CFileDialog,而是使用GetOpenFileName来实现2.在stdafx.h中,你肯定已经添加了#defin
2013-01-29 09:10:00 2402 2
转载 C++中delete 与 delete[]
1.从反汇编的结果看,两者都是一样的。只不过对于对象数组(非编译器定义的类型),delete[]调用全部的析构函数,而delete只调用一次析构。编译器定义的类型,如int,char,string,byte等都是可以正确释放的。2.规范化编程为好,delete与new配套,delete[]与new []配套使用。3.最好是自己定制delete与new,因为可以在里面加入一些条件,比如防止删
2013-01-28 16:12:52 741 1
转载 获得所有打印机
//得到所有打印机 DWORD dwSize,dwPrinters; ::EnumPrinters(PRINTER_ENUM_CONNECTIONS | PRINTER_ENUM_LOCAL,NULL,5,NULL,0,&dwSize,&dwPrinters); BYTE *pBuffer=new BYTE[dwSize]; ::EnumPrinters(PRINTER_ENUM_
2013-01-28 15:09:52 474
转载 postgresql 热备份和恢复
作为现今最强大的开源数据库,PostgreSQL拥有一切商业数据库所拥有的功能。在以前的版本中,它在数据恢复,可靠性方面虽然做的差强人意,但经过近几年的稳步发展,现在的PostgreSQL已经可以和Oracle并驾齐驱了。在PostgreSQL7的时候就引入了WAL(Write Ahead Logging)的概念,即预写日志,所有对数据库的更改,在更改之前必须写到该LOG中,这样,就算机器
2012-12-26 09:52:02 1253
转载 WS_CLIPCHILDREN与WS_CLIPSIBLINGS
英文单词解释clip:夹子、子弹夹、回形针;夹住,修剪sibling:同胞兄弟或姐妹overlapped:重叠这两个Window Stype的特性与异同素来不太清楚,今日作一笔记:MSDN的解释为:WS_CLIPCHILDREN Excludes the area occupied by child windows when you draw within th
2012-12-26 09:36:52 427
原创 改变视图背景颜色
要想改变窗口的背景颜色有不同的方法,不同方法结果可能都是改变了背景的颜色。但实际中,有些方法是不可取的,比如有人说的在OnDraw中去改变背景颜色,在应用中常会出现闪烁效果,非常不好。一般来说,采取下面的两种方法比较好些。1、在窗口创建之前想改变视图背景色,方法:BOOL CCarPlatView::PreCreateWindow(CREATESTRUCT& cs){
2012-12-18 19:43:01 476
转载 VC 鼠标消息WM_SETCURSOR
VC 鼠标消息WM_SETCURSOR OnSetCursor由消息 WM_SETCURSOR 触发 The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a w
2012-12-10 22:26:38 2664
原创 PostgreSQL增量备份
首先了解下什么是增量备份,按照百度百科Copy如下:增量备份 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。 (增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存档属性。)说白了就是:只备份当天有变化的数据,并且是带标记的数据,当备份完后还要清除标记,总之他占用空间小,恢复起来麻烦。
2012-09-20 16:27:08 4193 1
转载 VC多线程编程
VC多线程编程(转载)VC多线程编程(一)一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDl
2012-08-30 16:01:33 684
转载 VC重绘如何防止控件闪烁
用MFC如何高效地绘图 TouchMe 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单, 只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈
2012-07-27 15:51:42 616
转载 关于CString::IsEmpty()的返回值
明显是你的CString当字符串数组用来当参数传递进去后返回了。这个例子很容易重现。找个winapi函数,这个函数必须是传递buf进去,然后用CString作为参数传递进去。然后查看CString的长度。举例如下C/C++ code方式一:CString szFileName;::GetModuleFileName(NULL, szFileName.GetBuffer(0)
2012-05-26 16:46:37 5216
原创 install shield 导入注册表文件
resource tab page -> Registry Sets -> 右键 -> New Registry Sets -> 右键 -> Import Registry File 即可 帮朋友做一个安装盘,需要往注册表里面写东东,使用了一下InstallShield的注册表操作,感觉还是满强大的首先,我要设置一下操作的注册表项都在哪个目录下,比如都在HKEY_LOCAL_M
2012-05-22 22:59:11 1360
转载 PostgreSQL触发器2
1 触发器概述 触发器的功能就是为了解决这类问题而设计的,当你更新或查询某个资料表时会触动触发器,触发器就会照您所设计的流程,同步去插入、更新、删除其他资料,你不再需要重复下达多次的SQL命令就能达成一连串资料的同步处理。 触发器是某个数据库操作发生时被自动调用的函数。可以在INSERT、UPDATE或DELETE操作之前或之后调用触发器。PostgreSQL支持
2012-05-11 10:49:18 792
转载 postgresql触发器
一个触发器函数可以再一个INSERT,UPDATE, 或者 DELETE 命令之前或者之后执行,要么是对每个被修改的行一次, 要么是每条 SQL 一次。 如果发生触发器事件,那么将在合适的时刻调用触发器的函数以处理该事件。 触发器函数必须在创建触发器之前,作为一个没有参数并且返回trigger类型的函数定义。 (触发器函数通过特殊的 TriggerData 结构接收其输入,而不是用普通函
2012-05-11 10:28:30 1858
转载 vector中删除一个元素
例如:class classA{public:int e;}vector; class_vector;如果要删除第三个,似乎只能按着下面这个方式进行class_vector.erase(&class_vector[2]);这种方法太麻烦了比如我要删最后一个class_vector.erase(&class_vector[class_vector.size
2012-05-11 10:23:17 15483
原创 如何让程序在win7下获得管理员权限
VS2010编写的程序可以运行时获取管理员权限;但是如果是VS2010以前的程序呢?方法1:移植到VS2010上了;方法2::(1)按照《VS2010与Win7共舞:UAC与数据重定向》上述方法,随便写一个VS2010工程,编译,在这个工程的Debug目录下会有两个文件: *.exe.embed.manifest 和 *.exe.intermediate.manifest ;
2012-05-02 15:56:56 3929
转载 VS2005 试用过期 破解
試試下面的方法,我用過。暫時沒有出現任何問題,但是有問題我不負責,我也是網上找的。Professional Edition: http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=zh-cn&SrcCategoryId=&SrcFamilyId=b2c27a7f-d875-47d5-b226-e2
2012-03-25 23:01:59 3130
转载 windows 7 运行批处理命令提示拒绝访问
windows 7 运行批处理命令提示拒绝访问?请帮我看看为什么拒绝,是不是C:\windows\system32目录权限问题?2011-9-16 17:26 提问者:li_zhi927| 悬赏分:5 | 浏览次数:155次echo offecho %CD%\Rockey4ND.dllecho %windir%\system32copy "%CD%\Roc
2011-11-24 23:46:47 20848
转载 实现软件的自动启动和取消自动启动
自动启动代码:void CServerApp::SetAutoRun(){ HKEY hKey; char* szRegpath = "Software//Microsoft//Windows//CurrentVersion//Run"; long lRet; // 打开注册表 lRet = RegO
2011-11-13 21:48:17 545
转载 关于 PostgreSQL 备份恢复的心得
这段时间对 PostgreSQL 的备份恢复进行了一些研究, 有一些心得和大家分享一下.我们知道, PostgreSQL 拥有 WAL(预写式日志) 已经有一段时间了.WAL 的一个重要好处就是能在系统崩溃(数据库崩溃甚至操作系统崩溃)的情况下,仍然能够保证数据的安全. 理想情况
2011-07-26 09:28:04 447
转载 帧与场
电视信号是通过摄像机对自然景物的扫描并经光电转换形成的。扫描方式分为“逐行扫描”和“隔行扫描”。“逐行扫描”指每幅图像均是由电子束顺序地一行接一行连续地扫描。这样扫描的一幅画面称为一帧。如果要运动画面不出现闪烁的话,则画面扫描的频率需要超过人眼的临界闪烁频率45.8Hz,即每秒不
2011-07-21 22:47:18 1975
原创 isql和osql
使用isql和osql建立脚本文件 isql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件;并且使用 DB-Library 与 Microsoft® SQL Server™ 2000 进行通讯。 osql 实用工具使您得以输入 Transact-SQL 语句、系统过程和脚本文件。该实用工具通过 ODBC 与服务器通讯。两者的语法类似如下: isql -
2011-06-23 22:01:00 1197
原创 bat文件执行SQL语句
一1:osql -E -S -i update.sql(update.sql这个位置是要执行的sql文件的路径,当然也可是其它文件)保存成bat文件2:update.sql建立.其实就是在查询分析器中可以执行的SQL语句.以下是我的SQL语句use jycmisalter table rduty add isday bit ------------修改RDUTY
2011-06-23 21:14:00 10944
原创 WPARAM 和 LPARAM
WPARAM 和 LPARAM,消息响应机制wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。 到了Win32API中,原来的16位变量也被扩展为
2011-06-19 23:28:00 648
原创 MFC 自定义消息
MFC 自定义消息四步曲1. 定义全局变量或宏#define WM_MyMessage (WM_USER + n) n为数字到少大于100或者用 const UINT WM_MYMESSAGE = WM_USER + n一般可以加在stdafx.h 或resource.h 或*.app.h中。他们都是全局变量头文件所以都可以.2. 在所在类的*.H文件增加消息函
2011-06-19 18:01:00 1139
原创 SendMessage和PostMessage的区别
SendMessage和PostMessage的区别 SendMessage会直接发送给那个对应的窗口,然后窗口就会马上处理发送过来的消息,但是注意,对于GUI程序,你必须显式调用Invalidate和UpdateWindow,否则界面不会变化,但是其实消息已经处理了。 但是PostMessage发送的消息是放入到对应窗口的消息队列中,然后就直接返回,不管消息如何执行而消
2011-06-16 22:27:00 460
原创 VC中常用的文档类,视图类,框架类,应用程序类获取句柄的方法
<br />VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的 <br />方法 <br />A: <br />GET App <br /> AfxGetInstanceHandle() <br /> AfxGetApp() <br />GET Frame->View->Document <br /> SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument() <br /> MDI AfxGetMai
2011-05-29 11:33:00 484
原创 WebService 类中构造函数不能重载为带参数
<br /> 确切的是说重载了带参构造函数也无效,不会起作用。且如果重载了带参构造函数,必要要有个无参构造函数。<br /> 在.net当中webservice客户端只是在本地生成了一个代理类,这个代理类封装并维护与服务器端的通信。当你在本地创建一个webservice类实例的时候,创建的其实是本地的代理类的实例,这个时候并没有跟服务器端进行通信,无法将参数传送到服务器端,并且只有你在真正调用web service方法的时候,才与服务器端进行了通信。<br /> 所以当你
2011-04-03 16:08:00 2507
原创 checkTwoDate
<br />function checkTwoDate(date1,date2)<br />{<br />debugger;<br /> if(date1.value!="" && date2.value!="")<br /> {<br /> var d1 = new Date(date1.value);<br /> var d2 = new Date(date2.value);<br /> if(Date.parse
2011-03-18 16:01:00 403
原创 ExcelToDataSet
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;using
2011-03-10 15:47:00 742
原创 JQuery 弹出窗口效果
// JScript 檔function showWin(o){ // debugger; /*找到div节点并返回*/ var meaning=""; if(o.value=="A+") { meaning="已經完全可以達到正式主管的要求"; } else if (o.value=="A") { meaning="基本可
2010-05-13 17:11:00 1260
原创 js获取各种窗口的大小和鼠标坐标
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文
2010-05-13 17:10:00 823
原创 委托
委托 在《C#编程指南》 中定义为:委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。您可以通过委托调用方法。委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。 委托声明:public delegate int Perfor
2010-04-15 15:51:00 450
原创 清除select中的options
具体操作是:obj.options[i] = null; 具体循环删除时应该注意,应该采取倒序循环删除,这个数组中删除一样。 var ddlLeaveName=document.getElementById("ddlLeaveName"); for(var i=0;i {
2010-04-02 16:15:00 510
原创 Using Timer to get history values from EDNA database, an error is prompted in the page : "Sys.WebForms.PageRequestManagerTimeout
Using Timer to get history values from EDNA database, an error is prompted in the page : "Sys.WebForms.PageRequestManagerTimeoutException: The Server request tiemd out ".To solve this problem we
2010-03-24 15:52:00 606 1
转载 C#异步调用
异步回调,是异步操作里面的重要方法,也是异步操作较高级、较难的概念。1、明确概念我们为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不
2010-03-22 17:22:00 574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人