Visual C++ 2012 应用程序无法在 Windows XP 下运行 - 已更新
visual c++ 2012 application won't run under windows xp - updated
你好,欢迎每个人
我使用Visual C ++ 2012旗舰版更新3,我有一个项目应该在XP Pack 3环境中执行,我更改了工具集,如本博客中所述Windows XP Targeting with Visual Studio 2012
在我的Windows XP机器上,我安装了SVCedit.exe Visual 2012 Update 3,但问题是代码无法运行,并且根本没有显示任何错误。
我真的不知道问题是什么!!
示例 - 源文件
主.cpp
#include <WindowsX.h>
#include <Windows.h>
#include <tchar.h>
#include <stdio.h>
#include "resource1.h"
#define my_PROCESS_MESSAGE(hWnd, message, fn)
case(message):
return(
SetDlgMsgResult(hWnd, uMsg,
HANDLE_##message((hWnd), (wParam), (lParam), (fn)) ))
LRESULT CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
BOOL Cls_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
int WINAPI _tWinMain( HINSTANCE hInstance,
HINSTANCE,
LPTSTR,
int iCmdShow )
{
DialogBoxParam( hInstance,
MAKEINTRESOURCE(IDD_DLLINJECTOR),
NULL,
(DLGPROC) DlgProc,
NULL
);
return 0;
}
LRESULT CALLBACK DlgProc( HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam )
{
switch (uMsg)
{
my_PROCESS_MESSAGE(hWnd, WM_INITDIALOG, Cls_OnInitDialog);
my_PROCESS_MESSAGE(hWnd, WM_COMMAND, Cls_OnCommand);
default:
break;
}
return FALSE;
}
BOOL Cls_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
SetDlgItemText( hwnd,
IDC_DEBUG,
_T("Zirek: Some textrn")
);
return TRUE;
}
void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch (id)
{
case IDCANCEL:
EndDialog(hwnd, id);
break;
default:
break;
}
return;
}
资源1.h
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Resource.rc
//
#define IDCANCEL2 3
#define IDCANCEL3 4
#define IDD_DIALOG1 101
#define IDD_DLLINJECTOR 101
#define IDC_TREE1 1001
#define IDC_EDIT1 1002
#define IDC_DEBUG 1003
#define IDC_LIST1 1004
#define IDC_EDIT4 1005
#define IDC_EDIT3 1007
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1006
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
资源.rc
// Microsoft Visual C++ generated resource script.
//
#include "resource1.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource1.h "
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""rn"
" "
END
3 TEXTINCLUDE
BEGIN
"rn"
" "
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DLLINJECTOR DIALOGEX 0, 0, 559, 255
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "DLL Injector"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "&Close",IDCANCEL,494,54,50,14
CONTROL "",IDC_TREE1,"SysTreeView32",WS_BORDER | WS_HSCROLL | WS_TABSTOP,7,7,125,221,WS_EX_CLIENTEDGE
EDITTEXT IDC_EDIT1,7,234,125,14,ES_AUTOHSCROLL,WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE
EDITTEXT IDC_DEBUG,138,149,414,99,ES_MULTILINE | ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
CONTROL "",IDC_LIST1,"SysListView32",LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,138,7,125,137,WS_EX_CLIENTEDGE
CTEXT "ZirekrnAT4RErnDLL Injector",IDC_STATIC,486,23,66,26,0,WS_EX_CLIENTEDGE
EDITTEXT IDC_EDIT3,269,130,226,14,ES_AUTOHSCROLL,WS_EX_DLGMODALFRAME
PUSHBUTTON "&Inject",IDCANCEL2,494,74,50,29
EDITTEXT IDC_EDIT4,269,7,211,117,ES_AUTOHSCROLL,WS_EX_CLIENTEDGE
DEFPUSHBUTTON "&Open",IDCANCEL3,502,130,50,14
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_DLLINJECTOR, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 552
TOPMARGIN, 7
BOTTOMMARGIN, 248
END
END
#endif // APSTUDIO_INVOKED
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
代码在Windows 8和Windows 7上正常运行,但是在Windows XP中,当我单击该应用程序时,什么也没发生。
最好齐雷克
您需要在要运行应用程序的任何计算机上安装 VC++ 2012 可再发行组件。确保下载并安装与Visual Studio版本(包括更新)匹配的可再发行组件(例如,如果您有VS2012 Update 2,请分发该版本,而不是VS2013 Update 3的可再发行组件)。
我也不知道
问题是什么,但总的来说,使用依赖性walker是一个好的开始。它会告诉您您的应用程序是否依赖于 winxp 中不可用的功能,或者您是否忘记部署一些运行时 dll。
相关文章:
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何在运行中期切换GTK CSS style_context
- 在Windows上运行C 应用程序的必要条件,并从VS 2012中获取XP定位
- 为 Windows XP 编译的应用程序无法在 Windows 7 上运行
- 在 Windows xp 中运行 Windows 7 C++/Cli 应用程序
- Visual C++ 2012 应用程序无法在 Windows XP 下运行 - 已更新
- 如何在替换调用方并在 xp/vista/7 上运行的窗口中从我的 VS2008/C++ 应用程序执行程序
- .NET 4.0在XP上出现未知异常,但在Windows 7上运行良好
- 我有什么选择来构建一个在XP及更高版本上运行但具有最新功能的WTL程序
- 如何在通过Win8在XP上运行的C++窗口中显示HTML
- 使用运行时创建的模板的对话框在 XP 32 位上不起作用
- 如何使用Visual Studio 2012和“英特尔编译器XE 2013”构建可在Windows XP中运行的可执行文
- c++ win32阻止应用程序在Windows xp上运行
- c++ MFC应用程序在windows 7上运行缓慢,但在XP上运行迅速