论坛有会员用到了.,今天给大家说说CSring如何在非mfc下的调用第一:先要包含 #include "afx.h" 包含之后会报windows.h重复定义我们需要把这个头文件包含在windows.h的前面 第二:alt+f7 快捷键 设置---或者菜单--工程--设置---点击常规--使用MFC作为静态的   或者可以设置MFC为共享的DLL 第三:alt+f7 快捷键 设置---或者菜单--工程--设置---切换到C\C++ 点击Code Generation --use-run-…
CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论. 为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩…
转载学习收藏,原文地址http://www.cnblogs.com/mywebname/articles/2291876.html 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用.本篇文章将引导你快速理解这个调用的过程. 步骤 1. 创建一个CSharpInvokeCPP的解决方案: 2. 创建一个C++的动态库项目: 3. 在应用程序设置中,选择“DLL”,其他按照默认选项:…
消息循环 Win32窗体程序基于消息驱动的,程序的模型就是一个用户触发事件消息->系统分发事件消息->程序处理事件的循环过程. .NET Win Form程序对消息循环进行了封装,可以看到Application.Run方法其实就是在当前UI线程启动一个消息循环. 工作线程 每个Win Form进程默认会开启两个线程: 一个是主线程,即我们熟知的UI线程,所有的程序处理默认都在此线程上运行. 另外一个线程是用于监听处理系统级事件的,如系统注销等,详细的系统事件列表可见SystemEvents类的…
使用C#调用Win 32 Api大部分情况下基本只涉及到参数类型的转变,但在遇到Win 32 Api返回LPVOID *lpBuff 时会遇到一些解析遍历难题.lpBuff为二维指针,*lpBuff是指向其内容的数组的首地址,在C/C++中可直接通过数组下标进行访问.但在C#中会有如下问题: 无法像C/C++那样进行结构体指针强制转变: 无法进行(*lpBuff)[0]这样的直接取值操作: 无法执行lptemp++这样的指针累加/累减遍历操作: 在相关文档中,可以看到C#使用IntPtr封装了指…
✍  Windows编程基础 1.Win 32应用程序基本类型 1)  控制台程序 不需要完善的windows窗口,可以使用DOS窗口方式显示 2)  Win 32窗口程序 包含窗口的程序,可以通过窗口与程序进行交互 3)  Win 32库程序 提供已有的代码,供其他程序使用 动态库(DLL):是在执行的时候可以加载的. 静态库(LIB):是在编译链接是使用的程序,成为当前程序的一部分. 2.头文件和库 头文件 基本的头文件windows.h包含了windows常用的定义等,其他,还包含了一些其…
文/嶽永鹏 WPF 数据绑定中绑定到ENTITY,如果把数据文件做成一个类库,在UI文件中去应用它,可能遇到下面这种情况. 指定的命名连接在配置中找不到.非计划用于 EntityClient 提供程序或者无效. 解决方法: 将DataSource中的App.Config 复制一份到EFDome1中就OK!…
作者:黄山松,发表于cnblogs:http://www.cnblogs.com/tomview/ 对于一个 win 的程序员,要把在 win 下的程序移植到 linux 下,需要把一些平台相关的功能代码封装一下,这样在使用这些功能的时候,可以简单调用封装好的代码,方便在不同平台下使用.本文是一个非常简单的互斥类,通过使用这个互斥类,源代码在 linux 下和 win 下保持一致. 在 win 下,互斥的代码是这几个函数: InitializeCriticalSection EnterCriti…
用MFC时,如果程序崩溃,检查内存,然后注意GDI数量,在任务管理器里选项-查看列-GDI数量…
MFC单文档程序结构三方面: Doc MainFrame View…