根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
来源:互联网 发布:如何设置淘宝分流 编辑:程序博客网 时间:2024/06/02 01:46
void CSqlConTestDlg::OnOK()
{
CString strPath = "cmd.exe";
if(IsWow64())
{
Wow64DisableWow64FsRedirection(NULL);
}
STARTUPINFO si = {sizeof(STARTUPINFO)};
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.wShowWindow = SW_SHOW;
si.dwFlags = STARTF_USESHOWWINDOW;
PROCESS_INFORMATION pi;
memset(&pi,0,sizeof(pi));
if(CreateProcess(NULL,(char*)(LPCSTR)strPath,NULL,NULL,false,0,NULL,NULL,&si,&pi))
{
}
//阻塞上一进程
while (WaitForSingleObject(pi.hProcess,20))
{
;
}
Wow64RevertWow64FsRedirection(NULL);
}
/****************************************************/
/*判断是否是64位系统 */
/****************************************************/
typedef BOOL (WINAPI *LPEN_ISWOW64PROCESS)(HANDLE,PBOOL);
BOOL CSqlConTestDlg::IsWow64()
{
BOOL bIsWow64 = false;
LPEN_ISWOW64PROCESS fnIsWow64Process;
fnIsWow64Process = (LPEN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")),"IsWow64Process");
if(NULL != fnIsWow64Process)
{
if(!fnIsWow64Process(GetCurrentProcess(),&bIsWow64)){};
}
return bIsWow64;
}
/****************************************************/
/*如果系统是64位,取消文件的重点位 */
/****************************************************/
typedef BOOL (WINAPI *LPEN_WOW64DISABLEWOW64FSREDIRECTION)(PVOID* OldValue);
BOOL CSqlConTestDlg::Wow64DisableWow64FsRedirection(PVOID* OldValue)
{
BOOL bRet = false;
LPEN_WOW64DISABLEWOW64FSREDIRECTION fnWow64DisableWow64FsRedirection;
fnWow64DisableWow64FsRedirection = (LPEN_WOW64DISABLEWOW64FSREDIRECTION)
GetProcAddress(GetModuleHandle(TEXT("kernel32")),"Wow64DisableWow64FsRedirection");
if(NULL != fnWow64DisableWow64FsRedirection)
{
if(fnWow64DisableWow64FsRedirection(OldValue))
{
bRet = true;
}
}
return bRet;
}
/****************************************************/
/*如果系统是64位,恢复文件的重点位 */
/****************************************************/
typedef BOOL (WINAPI *LPEN_WOW64REVERTWOW64FSREDIRECTION)(PVOID OldValue);
BOOL CSqlConTestDlg::Wow64RevertWow64FsRedirection(PVOID OldValue)
{
BOOL bRet = false;
LPEN_WOW64REVERTWOW64FSREDIRECTION fnWow64RevertWow64FsRedirection;
fnWow64RevertWow64FsRedirection = (LPEN_WOW64REVERTWOW64FSREDIRECTION)GetProcAddress(GetModuleHandle(TEXT("kernel32")),"Wow64RevertWow64FsRedirection");
if(NULL != fnWow64RevertWow64FsRedirection)
{
if(fnWow64RevertWow64FsRedirection(OldValue))
{
bRet = true;
}
}
return bRet;
}
- 根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
- 试图加载格式不正确的程序-------32位程序在64位server上运行。
- 试图加载格式不正确的程序 64位操作系统下IIS报“试图加载格式不正确的程序”错误
- 64位操作系统下调用32dll报“试图加载格式不正确的程序”
- 试图加载格式不正确的程序-------32位程序在64位Win 2008 server 上运行
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误(转)
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误
- Win7 64位IIS 7 部署网站报“试图加载格式不正确的程序”的解决方法
- 64位系统IIS 发布项目之后试图加载格式不正确的程序处理
- 试图加载格式不正确的程序 BadImageFormatException
- 试图加载格式不正确的程序
- 试图加载格式不正确的程序
- 试图加载格式不正确的程序
- 试图加载格式不正确的程序
- 64位系统 IIS7.0配置.net网站时报错:未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。
- ASP.Net页面生命周期
- MFC的EXE调用VBS,并获取VBS的返回值状态码
- VBS获取本地IIS中网站的信息(IP、端口、站点名称)
- linux定时任务执行
- WinServer2008下通过powershell获取IIS等角色功能列表,保存至txt
- 根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
- MFC获取字符串长度的5种方法
- C#中DataTable转换为string
- 注解方式实现ssh框架搭建
- MFC关机函数
- R语言中的Softmax Regression建模(MNIST手写体识别和文档多分类应用)
- 获取dom节点
- Windows server2008 下 PowerShell对.NET3.5静默安装
- 孙鑫C++视频教程 rmvb格式 全20CD完整版