Access violation 0x00000000
Jeg har lidt problemer i et program jeg bruger til at åbne en exe fil med.Jeg ved at fejlen først opstår når jeg kører RunProgram ("c:\\installtool.exe","",1); fra min .cpp fil.
Jeg har fået lidt hjælp til en header fil med følgende:
#include "stdafx.h"
#include "isfxinstalled.h"
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
const TCHAR *g_szNetfx11RegKeyName = _T("Software\\Microsoft\\NET Framework Setup\\NDP\\v1.1.4322");
const TCHAR *g_szNetfx11PlusRegValueName = _T("Install");
bool IsNetfx11Installed();
bool RegistryGetValue(HKEY, const TCHAR*, const TCHAR*, DWORD, LPBYTE, DWORD);
bool IsNetfx11Installed()
{
bool bRetValue = false;
DWORD dwRegValue=0;
if (RegistryGetValue(HKEY_LOCAL_MACHINE, g_szNetfx11RegKeyName, g_szNetfx11PlusRegValueName, NULL, (LPBYTE)&dwRegValue, sizeof(DWORD)))
{
if (1 == dwRegValue)
bRetValue = true;
}
return bRetValue;
}
bool RegistryGetValue(HKEY hk, const TCHAR * pszKey, const TCHAR * pszValue, DWORD dwType, LPBYTE data, DWORD dwSize)
{
HKEY hkOpened;
if (RegOpenKeyEx(hk, pszKey, 0, KEY_READ, &hkOpened) != ERROR_SUCCESS)
{
return false;
}
if (RegQueryValueEx(hkOpened, pszValue, 0, &dwType, (LPBYTE)data, &dwSize) != ERROR_SUCCESS)
{
RegCloseKey(hkOpened);
return false;
}
RegCloseKey(hkOpened);
return true;
}
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
TCHAR szMessage[MAX_PATH];
bool bNetfx11Installed = IsNetfx11Installed();
if (bNetfx11Installed)
{
MessageBox(NULL, _T("The .NET Framework 1.1 is not installed."), _T("The .NET Framework 1.1"), MB_OK | MB_ICONINFORMATION);
//HINSTANCE ShellExecute(handle, _T("open"), _T("installtool.exe"), NULL, NULL, SW_SHOWNORMAL);
RunProgram ("c:\\installtool.exe","",1);
}
else
{
MessageBox(NULL, _T("The .NET Framework 1.1 is not installed."), _T("The .NET Framework 1.1"), MB_OK | MB_ICONINFORMATION);
//ShellExecute(handle, _T("open"), _T("installtool.exe"), NULL, NULL, SW_SHOWNORMAL);
//system("installtool.exe");
//RunProgram ("c:\\dotnetfx.exe","",1);
}
return 0;
}
Nogen der kan sige mig hvad der går galt??
Fejlen opstår ud fra linien:
return __ascii_strnicmp(dst, src, count);
i filen
strinncmp.c
fejl meddelelsen jeg får er:
Unhandled exception at 0x7c82f38d in isfxinstalled.exe: 0xC0000005: Access violation reading location 0x00000000.