首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
静态MFC 标准windows
2024-09-07
MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC(转)
原文转自 https://blog.csdn.net/albertsh/article/details/52838419 1.使用标准Windows库 使用WINDOWS SDK API库,不使用MFC类.话说一个MFC应用程序不使用MFC类是个什么情况,一开始我也想不通,后来我新建了一个MFC应用程序的工程,然后把这这项参数填成这一种,然后程序编译失败,这就说明问题了,如果是MFC工程必须选择第二项或者第三项,而第一项“使用标准Windows库”是为非MFC工程准备的(不知理解是否正确,请大神
c++MFC工程修改在共享DLL中使用MFC为使用标准Windows库的解决办法
由于创建MFC工程时,默认是在共享DLL中使用MFC,如果将此选项改成使用标准Windows库,会报如下错误 c:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Plea
MFC如何使用静态MFC库
大部分MFC程序都是使用 在共享DLL中使用MFC ,但是VS每一个版本都需要一个 MFC运行库,实在是有点烦人. 所以我选择了使用静态MFC库,虽然文件会大一些,但是至少不麻烦了. VS这个做的不够好,默认情况下居然报错: VC编译错误: >uafxcw.lib(afxmem.obj) : error LNK2005: @YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义 >uafxcw.lib(afxmem.obj) : error LNK2005: @YAXPAX
Win32++:可替代MFC的Windows桌面应用开发框架
写在前面 有过Win32编程经验的朋友都知道,使用Windows提供的API开发桌面应用是相当繁琐的,创建一个功能简单能接收并处理消息的窗口至少也得几百行代码.创建一个可视化的窗口一般要以下几个步骤: 第一步:定义入口函数WinMain 第二步:注册窗口类,在这一步你可以指定窗口类的菜单.光标.窗口过程函数等属性. 第三步:定义窗口过程函数. 第四步:创建窗口.显示窗口.更新窗口. 第五步:消息循环. 虽然这些步骤向导会为我们完成,但是由于windows系统是基于消息的,而且消息种类繁多,我们不
API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别
[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface.Windows操作系统提供给应用程序编程的接口, 简称 为API函数. Win32 SDK:SDK(Software Development Kit)中文是软件开发包.则Win32 SDK是Windows 32位平台下的软件开发包,包括了API函数.帮助文档.微软 提供的一些辅助开发工具. Win3
工作自动化,替代手工操作,使用python操作MFC、windows程序
目录 背景--为什么要自动化操作? 方法--怎么实现自动化操作? 查找窗体 发送消息 获取文本 总结 背景--为什么要自动化操作? 工作中总是遇到反复重复性的工作?怎么用程序把它变成自动化操作?将程序挂在一旁,执行自动化操作的同时,还能处理其他的任务?提高工作效率,让自己的时间变得可控? 只能运用于 MFC 和 windows 消息机制下 最近的工作中,遇到了需要比对c++程序的运行结果与matlab运行结果的事项. 目前需要校验的c++程序并没用引入软件测试这一步骤,需要手动去操作程序获取数据
mfc 调用Windows的API函数实现同步异步串口通信(源码)
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点.每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答. 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活.其二是调用Window
c/c++:动态库 静态库 linux/windows 例子 (转)
作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). C++静态库与动态库 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自我修养——链接.装载与库>. 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每
MFC使用Windows media player播放声音文件
一.在需要播放声音的资源上添加控件 资源视图 . 选择添加控件的资源(如对话框).右键单击.插入ActiveX控件.调整你需要的控件属性并记录ID 二.在项目中添加播放声音的类 点击菜单中的项目.添加类.ActiveX控件中的MFC类.可用的ActiveX控件下拉框选择Windows media player.在右边框选择IWMPPlayer4然后单击箭头选中到左边,点击完成会生成CWMPPlayer4类 三.在数据交换函数中添加控件关联 在需要播放声音的类中声明成员变量CWMPPlayer4
phan—php语法静态检查在windows下的配置
php7推出了语法树,于是静态语法分析更方便了.(可以直接下载我配置好的,传送门百度网盘) 1.先安装php7,到http://windows.php.net/下载php7带openssl的. 2.修改php.ini, extension=php_openssl.dllextension=php_sockets.dllextension=php_sqlite3.dllextension=php_pdo_sqlite.dll 前面的分号去掉,这一步是为了安装composer. 3.安装compos
如何在Qt中处理(接收/发送)MFC或Windows消息(直接覆盖MainDialog::nativeEvent,或者QApplication::installNativeEventFilter安装过滤器,或者直接改写QApplication::nativeEventFilter)
关于接收: Receive WM_COPYDATA messages in a Qt app. 还有个中文网站: 提问: 如何在Qt中模拟MFC的消息机制 关于发送: 用Qt在Windows下编程,如何调用Windows系统的API? 稍后会把内容补上 后来,Qt5把winEvent函数废弃掉了,换成bool QWidget::nativeEvent(const QByteArray & eventType, void * message, long * result)函数了: 这里有个举例子
CentOS7设置静态IP以及windows下ping不通虚拟机、虚拟机ping不通外网解决方案
问题:CentOS7安装完成后默认使用的是动态IP,当你每次重新启动CentOS7后,它的IP地址都不一样.一般我们都是使用远程连接工具连接CentOS7进行操作,如果每次IP都不一样,系统启动后,每次连接时都需要修改.针对这种情况我们一般都设置一个静态的IP.具体操作如下 1.查看网卡文件 如果你不知道网卡文件名,可以输入如下命令查看 ll /etc/sysconfig/network-scripts/ | grep ifcfg-en IP的设置是在网卡文件中,使用vi编辑器打开网卡文件 vi
工作总结:MFC使用Windows自带打开对话框
代码: ; //Win98 as default LPARAM lModuleParam = ; TV_INSERTSTRUCT tvItem; CString sPathNameSel; ];//1K ::GetModuleFileName(NULL, lpszCurrentDir, ); //Get current directory int n = CString(lpszCurrentDir).ReverseFind('\\'); CString sTemp = CString(lpsz
(转)MFC:Windows如何区分鼠标双击和两次单击
在Windows平台上,鼠标左键的按下.松开.快速的两次点击会产生WM_LBUTTONDOWN.WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作,是两次独立的单击,还是一次双击呢?最近在解决一个问题时,通过使用Spy++和查阅MSDN,弄清楚了这个问题.简单总结如下: Windows根据两个条件来做这个区分:(1)双击的时间间隔 这是很容易想到的.更准确的说法是这样的,两次单击会产生四个鼠标点击消息,如果第三个消息(第二
MFC获取Windows启动状态(正常启动、安全模式启动、网络安全模式启动)
UINT nFlags = GetSystemMetrics(SM_CLEANBOOT); switch(nFlags) { : AfxMessageBox(TEXT("正常启动")); break; : AfxMessageBox(TEXT("安全模式启动")); break; : AfxMessageBox(TEXT("网络安全模式启动")); break; }
模仿MFC封装Windows API
.... 最后添加了两个按钮,分别处理每个按钮的单击事件时,走了弯路,本来想的是在QButton中重写OnLButtonDown方法,但是,无法区分是那个按钮.参考这篇文章: http://zhidao.baidu.com/link?url=hsXHcC9q_tfdf4Ztz_juQR4fxY63UU7Ujsj1Tz1rDPKi2xk8JlnzqX4rfCPNyh-SRK-zeIFgECm9H4PuMn4GoK 在按钮的父窗体的WindowProc中处理WM_COMMAND消息,消息的LOWOR
工作总结:MFC调用Windows自带新建、保存对话框代码
保存: void CExample17Dlg::OnBnClickedSaveButton() { // TODO: Add your control notification handler code here // 设置过滤器 TCHAR szFilter[] = _T("文本文件(*.txt)|*.txt|Word文件(*.doc)|*.doc|所有文件(*.*)|*.*||"); // 构造保存文件对话框 CFileDialog fileDlg(FALSE, _T("
MFC屏蔽 WindowS按键
LRESULT CALLBACK LowLevelKeyboardPorc(int nCode,WPARAM wParam,LPARAM lParam)//屏蔽按键的真正实现方法{ BOOL fEatKeystrole = FALSE; if (nCode == HC_ACTION) { switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: { PKBDLLHOOKSTRUC
在共享DLL中使用MFC 和在静态库中使用MFC的区别
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义. 第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件. 第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行. 同时,如果程序本来是第二种方式,发给同事,在
MFC的静态链接、动态链接
项目属性页面可以查看更改编译方式,推荐使用静态编译.也可以在创建MFC项目时选择静态编译. 标准Windows库,使用的是系统API,Win32是面向API的编程平台.Win32项目使用的是此编译方式. MFC使用静态.动态这两种编译方式.静态编译的exe虽然体积大,但是不再需要dll文件,避免了dll丢失或更新产生的问题.
热门专题
android 重载button
nodejs 设置代理
idea-2019.1 百度云
css body水平居中失败
01交错串 最少交换次数
docker 容器启动顺序
qml tabview动态
xcode13 控制台打印内容不全
archlinux 打印机安装
虚拟机立即适应窗口灰色
牛客python笔试题
allowReferers设置模糊站点
js删除某个class样式
php 获取地理位置
全局moran指数Ⅰ的计算公式
flutter 多列商品列表
go什么类型不能转json
vue-cli-service ENV变量的区别
fetch ts封装请求
xshell 上传的文件为什么没有更新