Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 5 von 5
  1. #1
    Zaungast
    Registriert seit
    03.06.2016
    Beiträge
    35

    Standard LoadLibary 193

    Hallo.

    Ich will ein Programm bauen, welches mir die Resourcen von vielen DLL durchscannt. Testhalber lasse ich es auf die Windows 8.1 DVD los.

    Bei vielen (aber nicht allen!) DLLs funktioniert LoadLibrary nicht. LastError: 193 (ERROR_BAD_EXE_FORMAT: "%1 is not a valid Win32 application."), bei anderen geht es aber.
    System:
    Windows 10, 64 Bit.
    Umgebung: .Net 4.6, C#



    Code C:
    [..]
            [DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)]
            public static extern IntPtr LoadLibrary([MarshalAs(UnmanagedType.LPStr)] string fileName);
    [..]
            IntPtr lib;
    [..]
                lib = LoadLibrary(filename);
                if (lib == IntPtr.Zero)
                {
                    Console.WriteLine("Error loading " + accesspath + ": " + Marshal.GetLastWin32Error());
                }

    Wo ist mein Denkfehler? So viele Möglichkeiten für Fehler gibt es da doch nicht...

    Danke
    Ralph Erdt

  2. #2

  3. #3
    Zaungast
    Registriert seit
    03.06.2016
    Beiträge
    35

    Standard

    Das ist ja eine interessante Idee!</Sarkasmus>

    Toll. Könnte an 32/64 bit liegen. Ich will aber keinen Code ausführen, nur die Ressourcen auslesen. Gibt es da etwas anderes für?

  4. #4
    Forenheld
    Registriert seit
    26.02.2003
    Beiträge
    7.039

    Standard

    Man kann auch DLLs explizit als Ressourcen-DLL mit der Ex-Funktion laden (https://msdn.microsoft.com/en-us/lib...v=vs.85).aspx) laden .
    Ob das das 32/64-Bit Problem löst ist offen wenn das nicht von MS vorgesehen wurde.

  5. #5
    Zaungast
    Registriert seit
    03.06.2016
    Beiträge
    35

    Standard

    Danke. Es scheint jetzt zu funktionieren (Es kommen jetzt Enumeration Fehler, aber das ist eine andere Baustelle).

    Ich wies nicht wieso, aber ich war der Meinung gelesen zu haben, das *Ex für die Sprache zuständig ist, daher habe ich mir das gar nicht angesehen.. :-/

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •