2013年6月9日

【C# RDLC】 RDLC报表的部署问题

摘要: 开发工具: VS2010, .NET FRAMEWORK 4.0, WIN7, WPF程序在部署RDLC报表的时候遇到了一个问题:在客户机器上报表运行报错,经查发现是缺少DLL,如下:Microsoft.ReportViewer.Common.dllMicrosoft.ReportViewer.ProcessingObjectModel.dllMicrosoft.ReportViewer.WebForms.dllMicrosoft.ReportViewer.WinForms.dllMicrosoft.ReportViewer.DataVisualization.dll解决此问题也可以去MSDN 阅读全文

posted @ 2013-06-09 13:54 崔好好 阅读(464) 评论(0) 推荐(0)

2013年5月26日

【windows核心编程】 第四章(3) 进程

摘要: 9 管理员以标准用户权限运行时Windows vista之前的windows版本采用一刀切的方式,所有资源管理器的子进程都会得到由资源管理器进程授予关联的令牌环,这样不安全。Windows vista中,如果用户使用管理员这样的搞特权账户登录,除了与这个账户对应的的安全令牌之外,还有一个经过筛选的令牌(filtered token)。 以后从包括windows资源管理器在内的第一个进程开始,这个筛选后的令牌会与系统代表最终用户启动更多所有新进程关联, 权限受限的进程无法访问需要高权限的资源。怎么提升权限呢,权限的提升只能在进程的边界上提升,边界也就是进程创建的时候,可以右键:【以管理员身份运行 阅读全文

posted @ 2013-05-26 13:10 崔好好 阅读(856) 评论(0) 推荐(0)

【windows核心编程】 第四章(2) 进程

摘要: windows核心编程 第四章(2) 进程6、系统版本BOOL GetVersionEx(POSVERSIONINFOEX pVersionInformation);在win7 + VS2010环境下,如果传POSVERSIONINFOEX 类型指针会报错,不能把这个类型转换为POSVERSIONINFOW类型,解决办法是传入POSVERSIONINFOEX后强转为POSVERSIONINFOW类型。 1 #include "stdafx.h" 2 3 #include "windows.h" 4 5 #include <iostream> 阅读全文

posted @ 2013-05-26 13:01 崔好好 阅读(587) 评论(0) 推荐(0)

【windows核心编程】 第四章(1) 进程

摘要: 第四章 进程1、windows支持两种应用程序:GUI程序和CUI程序,即图形用户界面程序和控制台应用程序。在Visual Studio中,可以使用项目属性的连接器开关设置选择哪种程序,/SUBSYSTEM:CONSOLE和/SUBSYSTEM:WINDOWS当运行应用程序时操作系统会的加载程序会检查这个可执行文件的头,并获取这个子系统值。我们知道,main函数之前的全局变量和全局对象会在进入main函数之前被初始化,这是因为在进入main函数之前还有一个真正的更早的入口点,这个入口函数由两个因素决定:①CUI还是GUI, ②Unicode还是ANSI字符ANSI+GUI--_tWinMain 阅读全文

posted @ 2013-05-26 12:35 崔好好 阅读(581) 评论(0) 推荐(0)

2013年5月15日

【windows核心编程】 第三章 内核对象

摘要: 第三章 内核对象1、 内核对象用来管理进程、线程、和文件等许多类的大量资源。用到内核对象的地方:访问令牌环(acess token)对象、事件对象、文件对象、文件映射对象、I/O完成端口对象、作业对象、邮件槽(mailslot)对象、互斥量(mutex)对象、管道(pipe)对象、进程对象、线程对象、信号量(semaphore)对象、可等待的计时器(waitable timer)对象、线程池工厂(thread pool worker factory)对象等。每个内核对象都是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,其成员维护着内核对象的相关信息,少数 阅读全文

posted @ 2013-05-15 23:40 崔好好 阅读(1759) 评论(0) 推荐(0)

2013年5月6日

【windows核心编程】第二章 字符和字符串处理

摘要: 第二章 字符和字符串处理1、 几种字符集尽量使用Unicode来代替ANSI字符串关于双字节字符集 (double-byte character set, DBCS), 双字节字符集中,一个字符串中每个字符由一个或两个字节组成,处理起来不方便。关于UTF-8,UTF-8的编码规则是将一些字符编码为1字节,一些为2字节,一些为3字节,一些为4字节;非常流行,但对值为0x0800及以上的大量字符进行编码的时候不如UTF-16方便。关于UTF-16,在windows VISTA中,每个字符都使用UTF-16来编码, UTF-16为每个字符编码为2个字节,一般情况下unicode指的就是UTF-16编 阅读全文

posted @ 2013-05-06 23:41 崔好好 阅读(525) 评论(0) 推荐(0)

2013年5月5日

【windows核心编程】第一章 错误处理

摘要: 1、常见的windows函数返回类型 1 VOID //不返回任何类型,不会失败 2 3 BOOL //TRUE for FALSE, typedef int BOOL 4 5 HANDLE //句柄类型,函数失败返回NULL 或 INVALID_HANDLE_VALUE,后者INVALID_HANDLE_VALUE被定义为宏((HANDLE)(LONG_PTR)-1), 其中LONG_PTR被定义为 6 7 //Typedef _W64 long LONG_PTR, *PLONG_PTR, LONG_PTR在VC+... 阅读全文

posted @ 2013-05-05 15:57 崔好好 阅读(338) 评论(0) 推荐(0)

2013年4月24日

【windows核心编程】第十七章 内存映射文件之一

摘要: 1 映射到内存的可执行文件和DLL系统预定一块足够大的地址空间来容纳.exe文件,待预订的地址空间区域的具体位置已经在PE文件中(这里是exe)中指定了,默认情况下,.exe文件的基地址是0x00400000(对运行在64位windows下的64位程序来说,这个地址可能会有所不同。)但是,只需要在构建exe时使用/BASE链接器开关就可以为自己的应用程序指定一个不同的地址。系统会对地址空间区域进行标注,表明该区域的后备物理地址存储器来自磁盘上的exe文件而非来自系统的页交换文件。默认情况下,MS的连接器将X86平台的DLL的基地址设为0x10000000,将X64平台的DLL的基地址设为0x0 阅读全文

posted @ 2013-04-24 00:18 崔好好 阅读(381) 评论(0) 推荐(0)

2013年4月16日

【原创】 VC++各种字符串类型转换

摘要: 包括VC编程时常用的Unicode和Char互转,CString和std::string互转, 其他的转换可以由这个几个转化间接得到// convert.h 1 2 #include <string> 3 4 #ifndef _CONVERT_H_ 5 #define _CONVERT_H_ 6 7 8 class CConvert 9 {10 public:11 CConvert(void);12 virtual ~CConvert(void);13 14 static int Ansi2Unicode(__in const char* pSrc, ... 阅读全文

posted @ 2013-04-16 16:58 崔好好 阅读(380) 评论(0) 推荐(0)

2013年4月10日

【malloc原理】 内存分配函数malloc的原理

摘要: 今天在群里有个哥们问malloc是不是分配内存后内存指针的之前的4字节保存分配的内存大小,于是试了一下。Windows默认进程地址空间为2GB,也就是一个进程最多分配的内存接近2GB,但不可能达到。 不过应该有方法可以突破这个限制,在VC++2010里工程属性设置里有一个项貌似是来设置这个的,如下图:但是我设置了启用后用malloc申请大于等于2GB的内存时还是不成功,这个不知道怎么回事。接着说malloc的事,看其他文章(http://hi.baidu.com/cuihao0532/item/1f88ae69e4753998c5d2499b)时,里面提到分配内存后该地址的前面应该是一个结构体 阅读全文

posted @ 2013-04-10 17:59 崔好好 阅读(1071) 评论(0) 推荐(0)

导航