背景 最近在写一个窗口程序,想在Windows XP上也能跑.先用vs 2015的App Wizard生成了一个实例窗口程序,按照网上大部分攻略,将 "Properties - General - Platform Toolset" 改为 “Visual Studio 2015 - Windows XP (v140_xp)” 后,编译并放到XP机上,可以运行.然而,自己从零新建一个空项目,写好了WinMain,也进行了上述步骤,却不能在XP机上运行,会提示 “不是有效的Win32应用程…
一.win7 32位电脑: vs2012编译的64位程序是没有问题的.但编译的32位程序在别的电脑(虚拟机模拟)出错: 感觉很无语,vs这么牛逼的东西,在设计时候都不考虑这些吗? 在自己电脑C:\Windows\SysWOW64目录下找到msvcr110.dll,放到程序同级目录之后不再报错. 二.win xp电脑 xp系统要比win 7 32位麻烦. 直接编译后运行,弹出提示框:不是有效的win32应用程序 像之前那样把msvcr110.dll复制过去依然报错: 这是因为vs2012编译的wi…
直接编译后运行,弹出提示框:不是有效的win32应用程序 像之前那样把msvcr110.dll复制过去依然报错: 这是因为vs2012编译的win32程序用到的系统函数在xp环境上对应不上.之前转载的这篇文章讲的这个问题:http://www.cnblogs.com/rixiang/p/7918825.html 需要使用对应的平台工具集.项目右键属性,配置属性-常规-平台工具集  结果发现,只有Visual Studio 2012 (v110)这一个工具集,没有xp的工具集. 在网上查资料,发现…
写了个控制台,放到服务器上面运行,运行失败,出现"不是有效win32程序" 不知道原因. 猜测: 1.程序只支持64位的处理器,修改了项目的属性,发现支持any cpu.排除 2.注册表里面的文件类型删除掉了.解决办法:http://www.cnblogs.com/xiaozhu520/articles/4645433.html 3.病毒.查杀之后还是不行. 最后发现系统是xp!!!.... 原因是:xp最高只支持framework 4.0.程序是4.5的.... 解决办法:设置项目属…
2013-09-17   作者:佚名   来源:本站整理   浏览:2001   评论:1   一直以来倍受此事困拢,vc2010以上版本编译出的exe或dll总是会引用kernel32.dll的EncodePointer和DecodePointer两个api,这两个api在xp sp2以下版本上找不到,虽然这种版本用户较少,但总有人在用,微软这贱人又不考虑这种低端用,无奈之下,我用过3种方法,记录如下. 1.使用vc2008的库,用2010的编译器.这种方法需要先找一份vc2008的库,而且在…
公司现在在研发基于.Net中WPF技术的产品,由于要兼容旧有产品,比如一些旧有的Win32程序.第三方的Win32程序等等,还要实现自动登录这些外部Win32程序,因此必须能够将这些程序整合到我们的系统中来,让使用者看起来它们好像是一个程序. 在MSDN中有专门的章节提到了在WPF中嵌入Win32控件的办法,那就是使用 HwndHost ,只要把 Win32控件的句柄传递给 HwndHost 就可以了.MSDN中的例子演示的都是在同一个进程内创建的 Win32控件,我一开始认为只要通过FindW…
转自 http://blog.csdn.net/wangshubo1989/article/details/50180413 现在就来讲讲如何在自己的win32程序中搭建libcef运行环境. 首先就是建一个空的win32项目,例如名字为TestLibCef. 1. cefsimple目录(注意是拷贝文件夹)拷贝到新工程下并包含在项目中(注意,是TestLibCef\TestLibCef文件夹下) 2. 并在TestLibCef\TestLibCef文件夹下,新建一个dll文件夹 源码把Debu…
目录 一.如何构建Win32程序 二.如何构建UWP工程? 三.Samples 一.如何构建Win32程序 打开csproj文件,使用如下代码添加引用(Reference).注意,如果指定位置不存在,请查找正确的位置后添加引用,目前已知安装VS如果不是默认C盘,会出现类似报错. <Reference Include="Windows"> <HintPath>$(SystemDrive)\Program Files (x86)\Windows Kits\10\Un…
学习<Windows程序设计>记录 概念贴士: 1. 每个进程都有赋予它自己的私有地址空间.当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不能被该线程访问. PS:进程A在其地址空间的0x12345678地址处能够有一个数据结构,而进程B能够在其地址空间的0x12345678处存储一个完全不同的数据.彼此不能访问. 2. 在大多数系统中,Windows将地址空间的一半(4GB的前一半,0x00000000-0x7FFFFFFF)留给进程作为私有存…
今日写程序在win32中用CRect发现报错,突然想起来.要引入mfc库.想重新建立一个工程添加对mfc的支持.发现选项不能选.查资料后发现. 在win32程序中简单应用mfc库,只需要简单的引入<afx.h>就好了.注意这个时候如果出来 #ifdef _DLL #ifndef _AFXDLL #error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please…